OpenShift 클러스터 설정
이 문서는 이 프로젝트의 자동화 스크립트를 사용하여 Google Cloud에 OpenShift 클러스터를 생성하는 방법을 안내합니다.
준비
먼저 GitLab 이메일과 관련된 Red Hat 계정이 있어야 합니다. Red Hat 연합 연락 담당자에게 연락하면, 해당 계정으로 초대 이메일을 보내주게 됩니다. Red Hat 계정을 활성화한 후에는 OpenShift를 실행하는 데 필요한 라이선스 및 구독에 액세스할 수 있습니다.
Google Cloud에서 클러스터를 시작하려면 공개 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을 가져오려면 https://console.redhat.com/openshift/install/gcp/installer-provisioned에 접속하여 Red Hat 계정으로 로그인하세요.
이 페이지에서 제공된 링크를 사용하여 최신 버전의 설치 프로그램 및 명령줄 도구를 다운로드하세요. 이러한 패키지를 추출하고 openshift-install
및 oc
를 PATH
에 위치시키세요.
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://console.redhat.com/openshift/. 모든 설치 로그 및 메타데이터는 이 리포지토리의 install-$CLUSTER_NAME/
디렉토리에 저장됩니다. 이 폴더는 gitignored 처리됩니다.
이 클러스터가 다른 팀원이나 CI에서 사용되도록 하는 경우, INSTALL_DIR
에 배치된 이 파일들이 첨부된 1Password Cloud Native 보관함에 새로운 항목을 생성하세요:
-
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_NAME
및 BASE_DOMAIN
변수는 클러스터의 도메인 이름을 작성하는 데 사용됩니다.
참고:
FIPS_ENABLED
를 true
로 설정하여 클러스터를 만드는 경우, 일부 소프트웨어에서 문제가 발생할 수 있습니다.
이 문제에 대해 이 이슈에서 조사 중입니다.
OpenShift 클러스터 삭제
./scripts/destroy_openshift_cluster.sh
를 실행하여 Google Cloud에서 OpenShift 클러스터를 삭제하세요. 이 작업에는 약 4분 정도 소요됩니다.
INSTALL_DIR
에 있는 metadata.json
파일만 삭제하는 데 필요합니다. 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 의 내용
|
다음 단계
doc/installation.md을 참조하여 OpenShift 클러스터에 GitLab Operator를 설치하는 방법을 알아보세요.
자원
-
openshift-installer
소스: https://github.com/openshift/installer -
oc
소스: https://github.com/openshift/oc -
openshift-installer
및oc
패키지: https://mirror.openshift.com/pub/openshift-v4/clients/ocp/ - OpenShift 컨테이너 프로젝트 (OCP) 아키텍처 문서: https://docs.openshift.com/container-platform/4.10/architecture/index.html
- OpenShift GCP 문서: https://docs.openshift.com/container-platform/4.15/installing/installing_gcp/installing-gcp-account.html
- OpenShift 문제 해결 가이드: https://docs.openshift.com/container-platform/4.15/support/troubleshooting/troubleshooting-installations.html