구성 커넥터 시작하기


이 가이드에서는 다음 작업을 완료하는 방법을 설명하여 구성 커넥터 리소스 관리의 기본을 보여줍니다.

  • 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 describePubSubTopic 리소스에 대한 API 설명을 볼 수 있습니다.

kubectl describe crd pubsubtopics.pubsub.cnrm.cloud.google.com

또한 구성 커넥터 리소스에서 사용 가능한 리소스에 대한 정보를 볼 수도 있습니다.

Pub/Sub 서비스 사용 설정

구성 커넥터를 사용하여 클러스터에 YAML 구성을 적용하여 Pub/Sub API를 사용 설정합니다.

  1. 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로 바꿉니다.

  2. 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 주제의 라벨을 변경하려면 다음 단계를 완료하세요.

  1. 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 주제 이름
  2. 리소스를 업데이트하려면 kubectl apply을 사용합니다. 다음 명령어를 실행합니다.

    kubectl apply -f pubsub-topic.yaml
  3. 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 리소스를 삭제합니다. 이 리소스를 유지하려면 리소스 관리 및 삭제의 안내를 참조하세요.

다음 단계