이름별로 기존 Google Cloud 리소스 가져오기 및 내보내기


이 페이지에서는 config-connector export 명령어와 이를 사용해서 Google Cloud 리소스를 구성 커넥터 YAML 파일로 내보내고 이후에 이를 구성 커넥터로 가져오는 방법을 설명합니다.

config-connector export를 사용하여 기존 Google Cloud 리소스를 내보낼 수 있습니다. 리소스의 전체 이름config-connector export로 전달하면 config-connector가 구성 커넥터로 가져올 수 있는 YAML 매니페스트를 생성합니다.

구성 커넥터로 가져오려는 Google Cloud 리소스와 이미 이름이 같은 리소스가 존재하는 경우 구성 커넥터는 리소스를 제어하고 제공된 YAML로 관리합니다. 제공된 YAML에 변경할 수 없는 필드에 대한 변경사항이 있거나 구성에 다른 문제가 없는 한 구성 커넥터는 이 상황에서 오류를 생성하지 않습니다.

시작하기 전에

시작하기 전에 config-connector 도구를 설치합니다.

내보내기 예시

이 예시에서는 Google Cloud CLI로 PubSubTopic을 만들고 이를 Config Connector로 가져옵니다.

  1. sample-topic이라는 주제를 만듭니다.

    gcloud pubsub topics create sample-topic
    

    주제가 생성되었다는 확인이 표시됩니다.

    Created topic [projects/PROJECT_ID/topics/sample-topic].
    

    출력에서 PROJECT_ID는 Google Cloud 프로젝트로 대체됩니다.

  2. 주제의 Google Cloud 리소스 ID를 가져오고 다음 명령어를 사용하여 이를 환경 변수에 저장합니다.

    TOPIC_RESOURCE_ID=$(gcloud pubsub topics describe sample-topic --format "value(name)")
    
  3. 리소스를 식별하기 위해 config-connector export전체 리소스 이름을 사용합니다. 다음 명령어를 사용해서 주제의 리소스 이름을 환경 변수에 저장합니다.

    TOPIC_RESOURCE_NAME="//pubsub.googleapis.com/${TOPIC_RESOURCE_ID}"
    
  4. 다음 명령어를 실행하여 config-connector export로 주제를 내보냅니다.

    config-connector export ${TOPIC_RESOURCE_NAME}
    

    출력은 YAML 형식의 Config Connector 리소스입니다.

    ---
    apiVersion: pubsub.cnrm.cloud.google.com/v1beta1
    kind: PubSubTopic
    metadata:
      annotations:
        cnrm.cloud.google.com/project-id: PROJECT_ID
      name: sample-topic
    ...
    

    출력에서 PROJECT_ID는 Google Cloud 프로젝트로 대체됩니다.

  5. kubectl apply -f -로 이 리소스를 Config Connector로 전달할 수 있습니다. 리소스를 직접 전달하려면 다음 명령어를 실행합니다.

    config-connector export ${TOPIC_RESOURCE_NAME} | kubectl apply -f -  --namespace CC_NAMESPACE
    

    CC_NAMESPACE를 Config Connector가 관리하는 리소스의 네임스페이스로 바꿉니다.

    Config Connector가 리소스를 가져옵니다.

  6. Config Connector가 kubectl describe로 리소스를 관리하는지 확인합니다.

    kubectl describe pubsubtopic sample-topic --namespace CC_NAMESPACE
    

    CC_NAMESPACE를 Config Connector가 관리하는 리소스의 네임스페이스로 바꿉니다.

지원되는 리소스

다음 명령어를 실행하여 리소스 이름 형식과 함께 config-connector 도구의 리소스 목록을 출력할 수 있습니다.

config-connector print-resources

명령줄 옵션

config-connector export 명령어의 옵션은 다음과 같습니다.

config-connector export RESOURCE_NAME \
    --output FILENAME \
    --oauth2-token TOKEN \
    --iam-format [policy | policymember | none] \
    --filter-deleted-iam-members [true | false] \
    --verbose
  • --output: 선택적인 출력 파일 경로이며, 표준 출력을 사용 중지합니다. 파일일 때는 결과에 모든 명령어 결과가 포함되며, 디렉터리일 때는 출력의 각 리소스에 대한 새 파일이 디렉터리에 포함됩니다.
  • --oauth2-token: Google Cloud ID의 OAUTH2 토큰입니다. 기본적으로 config-connector에는 Google Cloud CLI 기본 사용자 인증 정보가 사용됩니다.
  • --iam-format: 내보내기에서 IAM 리소스 출력의 종류를 지정합니다. 옵션은 policy(기본값), policymember, none입니다.
  • --filter-deleted-iam-members: 삭제된 IAM 원칙을 필터링할지 여부를 지정합니다. 옵션은 true 또는 false입니다. 기본값은 false입니다.
  • --verbose: 상세 로깅을 사용 설정합니다.

다음 단계