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의 비공개 Docker 레지스트리에서 이미지를 가져오려면 pull secret가 필요합니다. 각 개발자는 자신의 Red Hat 계정에 연결된 다른 pull secret을 가지고 있습니다.

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

pull secret을 클립보드에 복사하고 이 리포지토리의 루트에 pull_secret라는 이름의 파일에 내용을 작성하십시오. 이 파일은 gitignored입니다.

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

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

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/ 디렉토리에 저장됩니다. 이 디렉토리는 gitignored입니다.

구성 옵션

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

변수 설명 기본값
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

참고: 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 설치를 계속할 수 있습니다.

리소스