구성 커넥터 시작하기
이 가이드에서는 다음 작업을 완료하는 방법을 설명하여 구성 커넥터 리소스 관리의 기본을 보여줍니다.
- 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
리소스를 삭제합니다. 이 리소스를 유지하려면 리소스 관리 및 삭제의 안내를 참조하세요.
다음 단계
- 구성 커넥터가 Kubernetes 구문으로 Google Cloud 리소스를 모델링하는 방법 알아보기
- 구성 커넥터가 관리할 수 있는 Google Cloud 리소스 참고하기
- 구성 커넥터를 사용하여 기존 Google Cloud 리소스를 관리하기
- GitHub 저장소에서 구성 커넥터를 사용하는 방법의 추가 예시를 참고하기
- Kubernetes가 객체의 선언적 구성을 처리하는 방법 알아보기