GitLab 차트를 위한 OpenShift 리소스 준비
이 문서는 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-install
및 oc
를 PATH
에 위치시키십시오.
pull secret을 클립보드에 복사하고 이 리포지토리의 루트에 pull_secret
라는 이름의 파일에 내용을 작성하십시오. 이 파일은 gitignored입니다.
Google Cloud(GCP) 서비스 계정 생성
Google Cloud cloud-native
프로젝트에서 서비스 계정을 생성하려면 이 지침을 따르십시오. 해당 문서에서 필수로 표시된 모든 역할을 할당하십시오.
서비스 계정이 생성되면 JSON 키를 생성하여 이 리포지토리의 루트에 gcloud.json
이라는 이름으로 저장하십시오. 이 파일은 gitignored입니다.
OpenShift 클러스터 생성
OpenShift 클러스터를 생성하려면 다음 단계를 따르십시오:
-
GitLab Operator 리포지토리를 복제하십시오:
git clone https://gitlab.com/gitlab-org/cloud-native/gitlab-operator.git
-
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_NAME
및 BASE_DOMAIN
변수는 클러스터의 도메인 이름을 만드는 데 사용됩니다.
OpenShift 클러스터 삭제
OpenShift 클러스터를 삭제하려면 다음 단계를 따르십시오:
-
GitLab Operator 리포지토리를 복제하십시오:
git clone https://gitlab.com/gitlab-org/cloud-native/gitlab-operator.git
-
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 설치를 계속할 수 있습니다.