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

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

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

준비 작업

먼저 GitLab 이메일과 연결된 Red Hat 계정이 있어야 합니다. Red Hat 얼라이언스 연락 담당자에게 연락하면, 계정 초대 이메일을 보내드릴 것입니다. Red Hat 계정을 활성화하면 OpenShift를 실행하는 데 필요한 라이선스와 구독에 액세스할 수 있습니다.

Google Cloud에서 클러스터를 시작하려면 공개 클라우드 DNS 영역이 등록된 도메인에 연결되고 Google Cloud DNS에 구성되어 있어야 합니다. 도메인이 이미 있는 경우, 이 안내에 따라 진행하십시오.

CLI 도구 및 Pull Secret 가져오기

OpenShift 클러스터를 생성(openshift-install)하고 클러스터와 상호 작용(oc)하기 위해 두 가지 CLI 도구가 필요합니다.

Red Hat의 사설 도커 레지스트리에서 이미지를 가져오려면 Pull Secret이 필요합니다. 각 개발자는 자신의 Red Hat 계정에 연결된 다른 Pull Secret을 가지고 있습니다.

CLI 도구 및 Pull Secret을 얻으려면 Red Hat의 클라우드로 이동하여 Red Hat 계정으로 로그인하십시오. 이 페이지에서 제공된 링크를 사용하여 설치 관리자와 명령줄 도구의 최신 버전을 다운로드하십시오. 이러한 패키지를 추출하고 openshift-installocPATH에 위치시키십시오.

Pull Secret을 클립보드에 복사하고 이 내용을 이 리포지터리의 루트에 pull_secret라는 이름의 파일에 기록하십시오. 이 파일은 Git으로 관리되지 않습니다.

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

Google Cloud cloud-native 프로젝트에 서비스 계정을 생성하려면 이 지침에 따르십시오. 해당 문서에서 필수로 표시된 모든 역할을 첨부하십시오. 서비스 계정이 생성되면 JSON 키를 생성하여 이 리포지터리의 루트에 gcloud.json으로 저장하십시오. 이 파일은 Git으로 관리되지 않습니다.

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/ 디렉터리에 저장됩니다. 이 디렉터리는 Git으로 관리되지 않습니다.

구성 옵션

실행 중에 환경 변수를 설정하여 구성을 적용할 수 있습니다. 모든 옵션에는 기본값이 있으므로 옵션은 필수가 아닙니다.

변수 설명 기본값
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
PULL_SECRET Red Hat Pull Secret 파일의 내용 $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 설치를 계속할 수 있습니다.

리소스