OpenShift 클러스터 설정

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

준비

먼저 GitLab 이메일과 연결된 Red Hat 계정이 있어야 합니다. Red Hat 얼라이언스 연락 담당자에게 연락하여 계정 초대 이메일을 받도록 요청하십시오. Red Hat 계정을 활성화하면 OpenShift를 실행하는 데 필요한 라이선스와 구독에 액세스할 수 있습니다.

Google Cloud에서 클러스터를 시작하려면 공개 클라우드 DNS 영역을 등록된 도메인에 연결하고 Google Cloud DNS에서 구성해야 합니다. 도메인이 이미 있는 경우 별도로 사용 가능한 도메인이 없다면 이 안내서의 단계를 따라서 생성하십시오.

CLI 도구 및 Pull Secret 가져오기

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

Red Hat의 프라이빗 Docker 레지스트리에서 이미지를 가져오려면 Pull Secret이 필요합니다. 각 개발자는 자신의 Red Hat 계정에 연결된 다른 Pull Secret을 갖게 됩니다.

CLI 도구와 Pull Secret을 얻으려면 https://cloud.redhat.com/openshift/install/gcp/installer-provisioned에 접속하여 Red Hat 계정으로 로그인하십시오. 이 페이지에서 제공된 링크를 통해 최신 버전의 설치 프로그램과 명령줄 도구를 다운로드하십시오. 이러한 패키지를 압축 해제한 후 openshift-installocPATH에 위치시키십시오.

Pull Secret을 클립보드에 복사하고 그 내용을 이 리포지토리의 루트에 pull_secret이라는 이름의 파일에 작성하십시오. 이 파일은 gitignored 상태여야 합니다.

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

Google Cloud cloud-native 프로젝트에서 이 지침에 따라 서비스 계정을 생성하십시오. 이 문서에서 요구되는 모든 역할을 할당하십시오. 서비스 계정이 생성되면 JSON 키를 생성하여 이 리포지토리의 루트에 gcloud.json으로 저장하십시오. 이 파일은 gitignored 상태여야 합니다.

OpenShift 클러스터 생성

아래 구성 옵션을 확인하고 대상 GCP 프로젝트에서 필수 API 서비스가 활성화되었는지 확인하십시오. ./scripts/create_openshift_cluster.sh를 실행하여 Google Cloud에서 OpenShift 클러스터를 생성하십시오. 이 클러스터는 3개의 제어 플레인(마스터) 노드와 3개의 워커 노드로 구성된 6노드 클러스터입니다(구성 템플릿). 이 작업은 약 40분이 소요됩니다. 콘솔 출력의 끝에 나오는 지침을 따라 클러스터에 연결하십시오.

클러스터가 생성되면 여기에서 클러스터가 등록된 것을 확인할 수 있어야 합니다: https://cloud.redhat.com/openshift/. 모든 설치 로그 및 메타데이터는 이 리포지토리의 install-$CLUSTER_NAME/ 디렉토리에 저장됩니다. 이 폴더는 gitignored 상태여야 합니다.

이 클러스터가 다른 팀원 또는 CI에서 사용되도록 할 경우, 1Password Cloud Native 보관함에 새로운 항목을 생성하고 INSTALL_DIR에 이러한 파일을 첨부하십시오:

  • metadata.json, 필요에 따라 클러스터 삭제
  • auth/kubeconfig, 클러스터로 인증
  • auth/kubeadmin-password, 클러스터 UI로 인증

구성 옵션

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

변수 설명 기본값
CLUSTER_NAME 클러스터 이름 ocp-$USER
BASE_DOMAIN 클러스터의 루트 도메인 k8s-ft.win
FIPS_ENABLED FIPS 암호 모듈 활성화 false
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

참고: CLUSTER_NAMEBASE_DOMAIN 변수는 클러스터의 도메인 이름을 구축하는 데 결합됩니다.

참고: FIPS_ENABLEDtrue로 설정하여 클러스터를 생성하면 제3자 소프트웨어에서 문제가 발생할 수 있습니다. 이 이슈를 조사 중입니다.

OpenShift 클러스터 파괴

Google Cloud에서 OpenShift 클러스터를 파괴하려면 ./scripts/destroy_openshift_cluster.sh를 실행하십시오. 이 작업은 약 4분 정도 소요됩니다.

INSTALL_DIRmetadata.json 파일만 있으면 OpenShift 클러스터를 파괴할 수 있습니다. metadata.json 파일은 클러스터 자격 증명을 보유하는 1Password 항목에 첨부되어 있습니다.

구성 옵션

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

변수 설명 기본값
CLUSTER_NAME 클러스터 이름 ocp-$USER
LOG_LEVEL openshift-install 출력의 상세 수준 info
GOOGLE_APPLICATION_CREDENTIALS Google Cloud 서비스 계정 JSON 파일의 경로 gcloud.json
GOOGLE_CREDENTIALS Google Cloud 서비스 계정 JSON 파일의 내용 $GOOGLE_APPLICATION_CREDENTIALS의 내용

다음 단계

OpenShift 클러스터에 GitLab Operator를 설치하는 방법은 doc/installation.md을 참조하십시오.

자원