시작하기

이 페이지에서는 환경에 GKE On-Prem을 설치하기 전에 수행해야 하는 몇 가지 단계를 안내합니다.

시작하기 전에

다음 주제를 검토합니다.

GKE On-Prem 문서의 자리표시자 값

GKE On-Prem 문서를 사용할 때 코드 블록에서 placeholder values를 클릭하여 값을 변경할 수 있습니다.

Enter your name: [YOUR_NAME]

명령어를 복사하고 실행하기 전에 자리표시자 값을 채우려는 경우 이 방법이 유용할 수 있습니다.

제한사항

제한사항 설명
클러스터와 노드의 최대 및 최소 한도

할당량 및 한도를 참조하세요. 이러한 한도는 환경 성능에 따라 달라질 수 있습니다.

프로젝트당 관리자 클러스터 1개

Google Cloud 프로젝트당 하나의 관리자 클러스터만 등록할 수 있습니다. 여러 관리자 클러스터를 실행해야 하는 경우 별도의 Google Cloud 프로젝트를 사용해야 합니다.

Google Cloud 프로젝트 만들기

아직 프로젝트가 없는 경우 Google Cloud 프로젝트를 만드세요. GKE On-Prem를 실행하려면 프로젝트가 필요합니다.

필수 명령줄 인터페이스 도구 설치

  • gcloud 명령줄 인터페이스(CLI)가 포함된 Google Cloud CLI를 Google Cloud에 설치합니다.
  • VMware vSphere에 CLI인 govc를 설치합니다.
  • terraform CLI가 포함된 Terraform 0.11을 설치합니다. Terraform의 설치 지침에 따라 설치를 확인하고 PATH 변수를 설정합니다.

gcloud에서 Google Cloud에 액세스하도록 승인

gcloud CLI를 설치한 후 gcloud에서 Google Cloud에 액세스하도록 승인합니다.

gcloud auth login

기본 Google Cloud 프로젝트 설정

기본 Google Cloud를 설정하면 모든 gcloud CLI 명령어가 해당 프로젝트에 대해 실행되므로 각 명령어에 프로젝트를 지정할 필요가 없습니다. 기본 프로젝트를 설정하려면 다음 명령어를 실행합니다.

gcloud config set project [PROJECT_ID]

여기서 [PROJECT_ID]프로젝트 ID로 바꿉니다. Google Cloud 콘솔에서 또는 gcloud config get-value project를 실행하여 프로젝트 ID를 찾을 수 있습니다.

Google Cloud 서비스 계정 만들기

GKE On-Prem을 처음 설치하기 전에 gcloud를 사용하여 4개의 Google Cloud 서비스 계정을 만듭니다. GKE On-Prem은 이러한 서비스 계정을 사용하여 사용자를 대신하여 작업을 완료합니다. 다음 섹션에서는 각 계정의 목적을 설명합니다.

액세스 서비스 계정

이 서비스 계정을 사용하여 Cloud Storage에서 GKE On-Prem의 바이너리를 다운로드합니다. Google이 허용하는 유일한 서비스 계정입니다.

다음 명령어를 실행하여 access-service-account를 만듭니다.

gcloud iam service-accounts create access-service-account

등록 서비스 계정

Connect는 이 서비스 계정을 사용하여 GKE On-Prem 클러스터를 Google Cloud Console에 등록합니다.

다음 명령어를 실행하여 register-service-account를 만듭니다.

gcloud iam service-accounts create register-service-account

연결 서비스 계정

Connect는 이 서비스 계정을 사용하여 GKE On-Prem 클러스터와 Google Cloud 간의 연결을 유지합니다.

다음 명령어를 실행하여 connect-service-account를 만듭니다.

gcloud iam service-accounts create connect-service-account

Google Cloud의 작업 제품군 서비스 계정

이 서비스 계정을 사용하면 GKE On-Prem에서 로깅 및 모니터링 데이터를 Google Cloud의 작업 제품군에 쓸 수 있습니다.

다음 명령어를 실행하여 stackdriver-service-account를 만듭니다.

gcloud iam service-accounts create stackdriver-service-account

프로젝트 및 계정 허용 목록에 추가

Anthos를 구매하면 Google에서 GKE On-Prem 및 Connect에 대한 액세스 권한을 부여하기 위해 다음을 허용 목록에 추가합니다.

  • Google Cloud 프로젝트
  • Google 계정 및 팀원의 개별 Google 계정
  • 액세스 서비스 계정

다른 프로젝트 또는 서비스 계정을 사용하거나 추가 사용자를 사용하려면 Google Cloud 지원팀이나 테크니컬 어카운트 매니저가 도움을 줄 수 있습니다. Google Cloud 콘솔 또는 Google Cloud Support Center를 통해 지원 기록을 엽니다.

프로젝트에 필요한 API 사용 설정

Google Cloud 프로젝트에서 다음 API를 사용 설정해야 합니다.

  • cloudresourcemanager.googleapis.com
  • container.googleapis.com
  • gkeconnect.googleapis.com
  • gkehub.googleapis.com
  • serviceusage.googleapis.com
  • stackdriver.googleapis.com
  • monitoring.googleapis.com
  • logging.googleapis.com

이러한 API를 사용 설정하려면 다음 명령어를 실행합니다.

gcloud services enable \
cloudresourcemanager.googleapis.com \
container.googleapis.com \
gkeconnect.googleapis.com \
gkehub.googleapis.com \
serviceusage.googleapis.com \
stackdriver.googleapis.com \
monitoring.googleapis.com \
logging.googleapis.com

서비스 계정에 ID 및 액세스 관리 역할 할당

IAM은 Google Cloud APIs를 호출할 수 있는 권한을 계정에 부여합니다. 이러한 서비스 계정에 전용 IAM 역할을 할당하여 권한을 격리합니다.

서비스 계정의 이메일 주소 나열

먼저 Google Cloud 프로젝트의 서비스 계정을 나열합니다.

gcloud iam service-accounts list

이름이 my-gcp-project인 Google Cloud 프로젝트에서 이 명령어의 출력은 다음과 같이 표시됩니다.

gcloud iam service-accounts list
NAME                                    EMAIL
                                        access-service-account@my-gcp-project.iam.gserviceaccount.com
                                        register-service-account@my-gcp-project.iam.gserviceaccount.com
                                        connect-service-account@my-gcp-project.iam.gserviceaccount.com
                                        stackdriver-service-account@my-gcp-project.iam.gserviceaccount.com

각 계정의 이메일 주소를 기록해 둡니다. 다음 각 섹션에 관련 계정의 이메일 계정을 제공합니다.

등록 서비스 계정

등록 서비스 계정에 gkehub.adminserviceuserage.serviceUsageViewer 역할을 부여합니다.

gcloud projects add-iam-policy-binding [PROJECT_ID] \
--member="serviceAccount:[REGISTER_SERVICE_ACCOUNT_EMAIL] \
--role="roles/gkehub.admin"
gcloud projects add-iam-policy-binding [PROJECT_ID] \
--member="serviceAccount:[REGISTER_SERVICE_ACCOUNT_EMAIL] \
--role="roles/serviceusage.serviceUsageViewer"

연결 서비스 계정

연결 서비스 계정에 gkehub.connect 역할을 부여합니다.

gcloud projects add-iam-policy-binding [PROJECT_ID] \
--member="serviceAccount:[CONNECT_SERVICE_ACCOUNT_EMAIL] \
--role="roles/gkehub.connect"

Google Cloud의 작업 제품군 서비스 계정

Google Cloud의 작업 제품군 서비스 계정에 stackdriver.resourceMetadata.writer, logging.logWriter, monitoring.metricWriter 역할을 부여합니다.

gcloud projects add-iam-policy-binding [PROJECT_ID] \
--member "serviceAccount:[STACKDRIVER_SERVICE_ACCOUNT_EMAIL] \
--role "roles/stackdriver.resourceMetadata.writer"
gcloud projects add-iam-policy-binding [PROJECT_ID] \
--member "serviceAccount:[STACKDRIVER_SERVICE_ACCOUNT_EMAIL] \
--role "roles/logging.logWriter"
gcloud projects add-iam-policy-binding [PROJECT_ID] \
--member "serviceAccount:[STACKDRIVER_SERVICE_ACCOUNT_EMAIL] \
--role "roles/monitoring.metricWriter"

Logging 및 Monitoring 구성

Stackdriver Logging 및 Stackdriver Monitoring은 GKE On-Prem에 기본적으로 사용 설정되어 있습니다.

프록시 허용 목록에 Google 및 HashiCorp 주소 추가

조직에서 HTTP 프록시를 통과하는 데 인터넷 액세스가 필요한 경우 프록시에서 다음 Google 주소를 허용 목록에 추가합니다.

  • binaryauthorization.googleapis.com
  • googlecode.l.googleusercontent.com
  • storage.l.googleusercontent.com
  • storage.googleapis.com

HashiCorp Terraform 버전 0.11을 사용하여 vSphere에서 관리자 워크스테이션 VM을 만듭니다. 프록시 또는 방화벽이 있는 환경에서 Terraform을 실행하려면 다음 HashiCorp 주소를 허용 목록에 추가해야 합니다.

  • checkpoint-api.hashicorp.com
  • releases.hashicorp.com

부하 분산기 준비

GKE On-Prem 클러스터는 '통합' 및 '수동'의 두 가지 부하 분산 모드 중 하나로 실행할 수 있습니다. 통합 모드에서는 GKE On-Prem 클러스터가 F5 BIG-IP 부하 분산기로 실행됩니다. 수동 모드에서는 다른 부하 분산기를 수동으로 구성합니다.

F5 BIG-IP 파티션 준비

통합 모드를 사용하려는 경우 만들려는 각 GKE On-Prem 클러스터의 부하 분산을 처리하기 위해 F5 BIG-IP 파티션을 만들어야 합니다.

처음에는 2개 이상의 파티션을 만들어야 합니다. 하나는 관리자 클러스터용이고 다른 하나는 사용자 클러스터용입니다. 해당 클러스터를 만들기 전에 파티션을 만들어야 합니다.

클러스터 파티션을 다른 용도로 사용하지 마세요. 각 클러스터에는 해당 클러스터를 단독으로 사용하는 파티션이 있어야 합니다.

파티션을 만드는 방법을 알아보려면 F5 BIG-IP 문서의 관리 파티션 만들기를 참조하세요.

수동 부하 분산 모드 사용

수동 부하 분산 모드는 통합 모드보다 더 많은 구성을 필요로 합니다. 자세한 내용은 수동 부하 분산 사용 설정을 참조하세요.