Config Connector 시작하기
이 가이드에서는 다음 작업을 완료하는 방법을 설명하여 구성 커넥터 리소스 관리의 기본을 보여줍니다.
- Google Cloud API를 사용 설정합니다.
- Pub/Sub 주제를 만들고 관리합니다.
시작하기 전에
이 페이지의 실습을 시작하기 전에 다음 작업을 완료하세요.
- 구성 커넥터 연산자 수동 설치의 모든 단계를 완료하여 구성 커넥터를 설치합니다. 
- 기본 네임스페이스를 사용하도록 구성 커넥터를 구성합니다. 기본값으로 설정하는 네임스페이스가 리소스를 만들 위치를 지정할 때 주석을 추가한 네임스페이스와 같아야 합니다. 
- 구성 커넥터는 Service Usage API를 사용하여 서비스 API를 사용 설정합니다. 이 단계를 수행하려면 서비스 사용량 API를 사용 설정해야 합니다. Google Cloud CLI를 사용하여 이 API를 사용 설정할 수 있습니다.
gcloud services enable serviceusage.googleapis.com 
사용 가능한 Google Cloud 리소스 검색
구성 커넥터로 만들 수 있는 Google Cloud 리소스의 종류를 확인하려면 다음을 실행합니다.
kubectl get crds --selector cnrm.cloud.google.com/managed-by-kcc=true
출력은 구성 커넥터 버전에서 만들고 관리할 수 있는 모든 리소스의 목록입니다.
예를 들어 kubectl describe로 PubSubTopic 리소스에 대한 API 설명을 볼 수 있습니다.
kubectl describe crd pubsubtopics.pubsub.cnrm.cloud.google.com
또한 구성 커넥터 리소스에서 사용 가능한 리소스에 대한 정보를 볼 수도 있습니다.
Pub/Sub 서비스 사용 설정
구성 커넥터를 사용하여 클러스터에 YAML 구성을 적용하여 Pub/Sub API를 사용 설정합니다.
- enable-pubsub.yaml파일을 만들고 이 파일에 다음 YAML을 복사합니다.- apiVersion: serviceusage.cnrm.cloud.google.com/v1beta1 kind: Service metadata: name: pubsub.googleapis.com spec: projectRef: external: projects/PROJECT_ID- PROJECT_ID를 Google Cloud프로젝트 ID로 바꿉니다.
- kubectl apply를 사용하여 구성을 클러스터에 적용합니다. Pub/Sub API를 사용 설정하려면 다음 명령어를 실행합니다.- kubectl apply -f enable-pubsub.yaml 
Pub/Sub 인스턴스 만들기
다음 콘텐츠로 pubsub-topic.yaml이라는 파일을 만듭니다.
  apiVersion: pubsub.cnrm.cloud.google.com/v1beta1
  kind: PubSubTopic
  metadata:
    annotations:
      cnrm.cloud.google.com/project-id: PROJECT_ID
    labels:
      LABEL_KEY: LABEL_VALUE
    name: TOPIC_NAME
다음을 바꿉니다.
- PROJECT_ID: Google Cloud 프로젝트 ID입니다.
- LABEL_KEY: LABEL_VALUE: 라벨의 키-값 쌍입니다. 예를 들면- environment: production입니다.
- TOPIC_NAME: Pub/Sub 주제 이름
리소스를 만들 때 구성 커넥터는 리소스가 없는 경우 리소스를 만듭니다. 동일한 이름의 Google Cloud 리소스가 이미 존재하는 경우 구성 커넥터가 리소스를 가져와서 관리합니다. 기존 리소스 가져오기에 대해 자세히 알아보려면 리소스 관리 및 삭제를 참고하세요.
kubectl apply 명령어를 사용하여 리소스를 만듭니다. Pub/Sub 주제를 만들려면 다음 명령어를 실행합니다.
kubectl apply -f pubsub-topic.yaml
리소스 설명
리소스에 대한 세부정보를 보려면 kubectl describe을 사용하세요.
예를 들어 모든 Pub/Sub 주제를 보려면 다음 명령어를 실행합니다.
kubectl describe pubsubtopics
이 목록에는 이전 섹션에서 만든 Pub/Sub 주제가 표시됩니다.
리소스가 준비되었는지 확인
Pub/Sub 주제를 만든 후에는 해당 status.condition을 확인할 수 있습니다.
예를 들어 Pub/Sub 주제 리소스가 준비되었는지 확인하려면 다음 명령어를 실행합니다.
kubectl wait --for=condition=READY pubsubtopics TOPIC_NAME
TOPIC_NAME을 Pub/Sub 주제의 이름으로 바꿉니다.
다음과 비슷한 출력이 표시됩니다.
pubsubtopic.pubsub.cnrm.cloud.google.com/TOPIC_NAME condition met
리소스 업데이트
YAML 파일을 업데이트하고 kubectl으로 파일을 다시 적용하여 리소스에서 메타데이터를 업데이트할 수 있습니다.
이전 섹션에서 만든 Pub/Sub 주제의 라벨을 변경하려면 다음 단계를 완료하세요.
- pubsub-topic.yaml파일의- metadata섹션을 수정하여 라벨을 변경합니다.- apiVersion: pubsub.cnrm.cloud.google.com/v1beta1 kind: PubSubTopic metadata: annotations: cnrm.cloud.google.com/project-id: PROJECT_ID labels: NEW_LABEL_VALUE name: TOPIC_NAME- 다음을 바꿉니다. - PROJECT_ID: Google Cloud 프로젝트 ID입니다.
- NEW_LABEL_VALUE: 이전에 추가한 라벨의 업데이트된 값입니다. 예를 들면- environment: staging입니다.
- TOPIC_NAME: Pub/Sub 주제 이름
 
- 리소스를 업데이트하려면 - kubectl apply을 사용합니다. 다음 명령어를 실행합니다.- kubectl apply -f pubsub-topic.yaml 
- Pub/Sub 인스턴스에서 이름이 변경되었는지 확인합니다. - kubectl describe pubsubtopics - 주제에는 새 라벨이 있어야 합니다. 
리소스 삭제
자원을 삭제하려면 kubectl delete를 사용하세요. 예를 들어 앞에서 만든 PubSubTopic를 삭제하려면 pubsub-topic.yaml 파일을 사용하여 kubectl delete를 실행합니다.
kubectl delete -f pubsub-topic.yaml
리소스가 삭제되었다는 확인이 표시됩니다.
pubsubtopic.pubsub.cnrm.cloud.google.com "TOPIC_NAME" deleted
기본적으로 구성 커넥터는 PubSubTopic 리소스를 삭제합니다. 이 리소스를 유지하려면 리소스 관리 및 삭제의 안내를 참조하세요.
다음 단계
- Config Connector가 Kubernetes 구성으로 Google Cloud 리소스를 모델링하는 방법을 알아봅니다.
- Config Connector가 관리할 수 있는 Google Cloud 리소스를 참고하세요.
- 구성 커넥터를 사용하여 기존 Google Cloud 리소스를 관리합니다.
- GitHub 저장소에서 Config Connector를 사용하는 방법의 추가 예시를 참조하세요.
- Kubernetes가 객체의 선언적 구성을 처리하는 방법 알아보기