서비스 카탈로그 설치

이 페이지에서는 Kubernetes 서비스 카탈로그를 설치하고 Google Kubernetes Engine 클러스터에서 GCP(Google Cloud Platform) 서비스 브로커를 등록하는 방법을 설명합니다.

서비스 카탈로그를 사용하면 서비스 브로커에 연결하여 GKE 클러스터 내에서 Cloud Pub/Sub와 같은 다른 GCP 서비스를 프로비저닝할 수 있습니다.

서비스 카탈로그에 대한 자세한 내용은 Kubernetes 서비스 카탈로그 문서를 참조하세요.

기본 요건

  • Cloud SDK가 설치 및 초기화되었는지 확인합니다.
  • gcloud components install kubectl을 실행하여 kubectl 구성요소를 설치합니다.
  • gcloud auth application-default login을 실행하여 Google API 호출에 사용되는 사용자 인증 정보를 가져옵니다.
  • Kubernetes 빠른 시작에 따라 청구를 사용 설정하고, 기본 설정을 구성하고, Kubernetes 클러스터를 만들고, 클러스터에 액세스하는 데 필요한 인증 사용자 인증 정보를 가져옵니다.
  • gcloud config set project [PROJECT_ID]를 실행하여 Kubernetes 서비스 카탈로그에 사용 중인 GCP 프로젝트가 gcloud에 기본값으로 설정되었는지 확인합니다.

개요

서비스 카탈로그 설치 프로그램(sc)은 서비스 카탈로그 및 서비스 브로커를 Kubernetes 클러스터에 쉽게 설치할 수 있게 해주는 명령줄 도구입니다. 서비스 카탈로그를 사용하면 다른 GCP 서비스를 나열, 프로비저닝, 결합할 수 있습니다.

서비스 카탈로그 및 서비스 브로커 설치

서비스 카탈로그 설치 프로그램 다운로드

플랫폼에 맞는 서비스 카탈로그 설치 프로그램 아카이브를 다운로드하고 콘텐츠를 해당 PATH에 설치합니다. 이 아카이브에는 sc 설치 프로그램 도구가 포함되어 있습니다.

사용자 편의를 위해 이 아카이브에는 CloudFlare의 PKI 도구cfsslcfssljson 바이너리도 포함되어 있습니다. 또한 CloudFlare의 릴리스 페이지에서 해당 플랫폼에 맞는 cfsslcfssljson을 다운로드하고 이를 PATH에 설치할 수 있습니다.

sc의 모든 종속 항목이 설치되었는지 확인합니다.

sc check

성공적으로 확인되면 다음 메시지가 출력됩니다.

Dependency check passed. You are good to go.

클러스터에서 RBAC 권한 설정

GCP 계정에 클러스터 관리자 역할(cluster-admin)을 부여합니다. 이 명령을 사용하면 클러스터에 서비스 카탈로그를 설치할 수 있는 권한이 부여됩니다.

kubectl create clusterrolebinding cluster-admin-binding --clusterrole=cluster-admin --user=$(gcloud config get-value account)

역할 기반 액세스 제어에 대한 추가 정보는 Kubernetes 문서에서 제공됩니다.

서비스 카탈로그 설치

다음을 실행하여 Kubernetes 클러스터에 Kubernetes 서비스 카탈로그를 설치합니다.

sc install

이 명령은 service-catalog 네임스페이스 내부에 여러 개의 Kubernetes 배포를 만듭니다. 이러한 배포는 공개 서비스 브로커와 Kubernetes의 통합을 지원합니다.

sc install 명령 성공 후 서비스 카탈로그가 클러스터에서 시작하려면 몇 분 정도 걸릴 수 있습니다. 상태를 확인하려면 다음을 실행하세요.

kubectl get deployment -n service-catalog

서비스 카탈로그 구성요소는 예제 출력과 같이 모든 배포가 AVAILABLE로 보고되었을 때 준비됩니다.

NAME                          DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
apiserver                     1         1         1            1           3m
controller-manager            1         1         1            1           3m
etcd-cluster-backup-sidecar   1         1         1            1           3m
etcd-operator                 1         1         1            1           3m

서비스 카탈로그에 Google Cloud Platform 서비스 브로커 등록

Kubernetes 서비스 카탈로그에 서비스 브로커를 등록하려면 다음을 실행하세요.

sc add-gcp-broker

이 명령은 다음을 수행합니다.

  • 여러 GCP API를 사용 설정합니다.
  • 프로젝트와 관련된 서비스 브로커 리소스를 만듭니다.
  • Google Cloud Platform 서비스 브로커를 클러스터의 서비스 카탈로그에 등록합니다.
  • Kubernetes 서비스 카탈로그가 OAuth가 필요한 브로커에서 인증을 수행할 수 있게 해 주는 OAuth 인증 확장을 설치합니다.

성공하면 다음 메시지가 출력됩니다.

The Service Broker added successfully.

서비스 브로커를 사용할 수 있고 준비되었는지 확인합니다.

kubectl get clusterservicebrokers -o 'custom-columns=BROKER:.metadata.name,STATUS:.status.conditions[0].reason'

gcp-brokerSTATUS는 서비스 카탈로그가 브로커와 통신을 설정하고 해당 서비스 카탈로그를 가져옴에 따라 여러 값을 통해 변경될 수 있습니다. 이 명령이 성공하면 아래와 같이 FetchedCatalog 상태가 표시됩니다.

BROKER       STATUS
gcp-broker   FetchedCatalog

프로젝트 서비스 계정에 대한 역할 설정

프로젝트 ID프로젝트 번호를 찾습니다.

GCP_PROJECT_ID=$(gcloud config get-value project)
GCP_PROJECT_NUMBER=$(gcloud projects describe $GCP_PROJECT_ID --format='value(projectNumber)')

또는 Cloud Console에서 이러한 값을 찾을 수 있습니다.

서비스 계정이 IAM 권한을 부여할 수 있도록 cloudservices 서비스 계정에 소유자 역할(roles/owner)을 부여합니다. 서비스 브로커는 서비스 인스턴스에 대한 결합 중에 IAM 권한을 부여합니다.

gcloud projects add-iam-policy-binding ${GCP_PROJECT_ID} \
    --member serviceAccount:${GCP_PROJECT_NUMBER}@cloudservices.gserviceaccount.com \
    --role=roles/owner

(선택 사항) svcat CLI 도구 설치

svcat 명령줄 도구는 서비스 카탈로그와 상호작용할 때 권장되는 방법입니다. 이 도구는 서비스 프로비저닝 및 결합을 포함하여 Kubernetes 서비스 카탈로그와의 상호작용을 단순화합니다.

svcat 설치 안내는 서비스 카탈로그 문서에서 찾을 수 있습니다.

다음 단계

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

Kubernetes Engine