GitLab 차트를 위한 OpenShift 리소스 준비

Tier: Free, Premium, Ultimate Offering: Self-managed

이 문서는 Google Cloud에서 OpenShift 클러스터를 생성하기 위해 이 프로젝트의 자동화 스크립트를 사용하는 방법을 안내합니다.

준비

먼저, GitLab 이메일과 연결된 Red Hat 계정이 있어야 합니다.
Red Hat Alliance 연락처에 문의하세요. 그들이 계정 초대 이메일을 보내도록 조치할 것입니다. Red Hat 계정을 활성화하면 OpenShift를 실행하는 데 필요한 라이센스와 구독에 접근할 수 있습니다.

Google Cloud에서 클러스터를 시작하려면 공개 Cloud DNS 존이 등록된 도메인에 연결되어 Google Cloud DNS에서 구성되어야 합니다. 도메인이 이미 없다면, 이 가이드의 단계를 따라 도메인을 생성하세요.

CLI 도구 및 풀 비밀 가져오기

OpenShift 클러스터를 만들기 위해 두 개의 CLI 도구가 필요합니다(openshift-install)와 클러스터와 상호 작용하기 위해서(oc).

Red Hat의 개인 Docker 레지스트리에서 이미지를 가져오기 위해 풀 비밀이 필요합니다.
모든 개발자는 자신의 Red Hat 계정과 연결된 서로 다른 풀 비밀을 가지고 있습니다.

CLI 도구와 풀 비밀을 얻으려면 Red Hat의 클라우드로 이동하여 Red Hat 계정으로 로그인하세요.
이 페이지에서 제공된 링크를 사용하여 설치 프로그램과 명령줄 도구의 최신 버전을 다운로드합니다. 이 패키지를 추출하고 openshift-installocPATH에 배치하세요.

풀 비밀을 클립보드에 복사하고 이 저장소의 루트에 파일 pull_secret로 내용을 작성하세요. 이 파일은 gitignore 처리됩니다.

Google Cloud (GCP) 서비스 계정 생성

Google Cloud cloud-native 프로젝트에서 서비스 계정을 생성하려면 이 지침을 따르세요.
해당 문서에서 필수로 표시된 모든 역할을 부여하세요.
서비스 계정을 생성한 후, JSON 키를 생성하고 이 저장소의 루트에 gcloud.json으로 저장하세요. 이 파일은 gitignore 처리됩니다.

OpenShift 클러스터 생성

OpenShift 클러스터를 생성하려면:

  1. GitLab Operator 리포지토리를 클론합니다:

    git clone https://gitlab.com/gitlab-org/cloud-native/gitlab-operator.git
    
  2. Google Cloud에서 OpenShift 클러스터를 생성하는 스크립트를 실행합니다:

    cd gitlab-operator
    ./scripts/create_openshift_cluster.sh
    

이는 3개의 제어 플레인(마스터) 노드와 3개의 워커 노드가 있는 6 노드 클러스터가 됩니다.
프로세스는 약 40분 정도 걸립니다. 클러스터에 연결하기 위해 콘솔 출력의 끝에 있는 지침을 따르세요.

생성된 후, Red Hat 클라우드에 클러스터가 등록된 것을 볼 수 있어야 합니다.
모든 설치 로그와 메타데이터는 이 저장소의 install-$CLUSTER_NAME/ 디렉터리에 저장됩니다.
이 디렉터리는 gitignore 처리됩니다.

구성 옵션

구성은 환경 변수를 설정하여 런타임 중에 적용할 수 있습니다.
모든 옵션에는 기본값이 있으므로 필수 옵션은 없습니다.

Variable Description Default
CLUSTER_NAME 클러스터 이름 ocp-$USER
BASE_DOMAIN 클러스터의 루트 도메인 k8s-ft.win
GCP_PROJECT_ID Google Cloud 프로젝트 ID cloud-native-182609
GCP_REGION 클러스터의 Google Cloud 지역 us-central1
GOOGLE_APPLICATION_CREDENTIALS Google Cloud 서비스 계정 JSON 파일의 경로 gcloud.json
GOOGLE_CREDENTIALS Google Cloud 서비스 계정 JSON 파일의 내용 $GOOGLE_APPLICATION_CREDENTIALS의 내용
PULL_SECRET_FILE Red Hat 풀 비밀 파일의 경로 pull_secret
PULL_SECRET Red Hat 풀 비밀 파일의 내용 $PULL_SECRET_FILE의 내용
SSH_PUBLIC_KEY_FILE SSH 공개 키 파일의 경로 $HOME/.ssh/id_rsa.pub
SSH_PUBLIC_KEY SSH 공개 키 파일의 내용 $SSH_PUBLIC_KEY_FILE의 내용
LOG_LEVEL openshift-install 출력의 자세한 정도 info
INSTALL_DIR 설치 자산을 위한 디렉터리, 여러 클러스터를 시작하는 데 유용 install-$CLUSTER_NAME
note
변수 CLUSTER_NAMEBASE_DOMAIN이 결합되어 클러스터의 도메인 이름이 생성됩니다.

OpenShift 클러스터 삭제하기

OpenShift 클러스터를 삭제하려면:

  1. GitLab Operator 리포지토리를 클론합니다:

    git clone https://gitlab.com/gitlab-org/cloud-native/gitlab-operator.git
    
  2. Google Cloud에서 OpenShift 클러스터를 삭제하는 스크립트를 실행합니다. 약 4분 정도 소요됩니다:

    cd gitlab-operator
    ./scripts/destroy_openshift_cluster.sh
    

구성은 다음 환경 변수를 설정하여 실행 시간 동안 적용할 수 있습니다. 모든 옵션에는 기본값이 있으며 필수 옵션은 없습니다.

변수 설명 기본값
GOOGLE_APPLICATION_CREDENTIALS Google Cloud 서비스 계정 JSON 파일의 경로 gcloud.json
GOOGLE_CREDENTIALS Google Cloud 서비스 계정 JSON 파일의 내용 $GOOGLE_APPLICATION_CREDENTIALS의 내용
LOG_LEVEL openshift-install 출력을 위한 상세 수준 info
INSTALL_DIR 설치 자산을 위한 디렉터리, 여러 클러스터를 시작하는 데 유용 install-$CLUSTER_NAME

다음 단계

클러스터가 실행 중일 때, GitLab 설치하기를 계속 진행할 수 있습니다.

자료