리소스 관리 및 삭제

이 페이지에서는 Config Connector가 기존 리소스를 관리하고 리소스 삭제를 처리하는 방법을 설명합니다.

구성 커넥터를 사용하여 리소스를 정의하면 다음 작업 중 하나가 발생합니다.

  • 리소스가 없으면 Config Connector가 리소스를 만듭니다. 새 리소스 생성 예시는 시작하기를 참고하세요.
  • 동일한 이름의 리소스가 이미 존재하는 경우 구성 커넥터가 해당 리소스를 가져와서 관리하기 시작합니다. Config Connector는 조직, 프로젝트 또는 폴더에서 이름을 확인합니다. 이 페이지에서는 구성 커넥터가 리소스를 획득, 관리, 삭제하는 방법을 자세히 설명합니다.

resourceID 필드를 사용하여 리소스를 관리할 수도 있습니다. 일부 리소스는 resourceID 필드를 사용해야만 가져올 수 있습니다. 일부 리소스는 새 리소스로만 생성할 수 있으며 획득할 수는 없습니다. 자세한 내용은 resourceID 필드로 리소스 관리를 참고하세요.

기존 리소스 확보

이 섹션에서는 BigQuery 리소스를 예로 사용하여 Config Connector로 기존 리소스를 획득하는 방법을 설명합니다.

시작하기 전에

  1. BigQuery API를 사용 설정합니다.
  2. bq 명령줄 도구에 액세스할 수 있는지 확인하세요. bq가 없으면 Cloud Shell을 사용하거나 gcloud CLI를 사용하여 설치하세요.

BigQuery 데이터세트 획득

구성 커넥터는 매니페스트의 값과 리소스 이름이 일치할 때 리소스를 획득하거나 제어합니다. 리소스에 이름이 없는 경우(예: 프로젝트 ID) 리소스의 ID가 사용됩니다.

빈 BigQuery 데이터 세트를 만든 다음 Config Connector로 데이터 세트를 획득하여 Config Connector가 기존 리소스를 처리하는 방법을 알아봅니다.

  1. bq을 사용하여 이름이 bigquerydatasetsample인 BigQuery 데이터 세트를 만드세요.

    bq --location=US mk \
    --dataset \
    --default_table_expiration 3600 \
    --description description \
    PROJECT_ID:bigquerydatasetsample
  2. 다음 내용을 bq-sample.yaml 파일에 복사합니다.

      apiVersion: bigquery.cnrm.cloud.google.com/v1beta1
      kind: BigQueryDataset
      metadata:
        name: bigquerydatasetsample
      spec:
        defaultTableExpirationMs: 3600000
        description: "BigQuery Dataset Sample"
        friendlyName: bigquerydataset-sample
        location: US
    
  3. YAML을 클러스터에 적용합니다.

    kubectl apply --namespace CC_NAMESPACE -f bq-sample.yaml

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

  4. 데이터 세트에 대한 세부정보를 보려면 kubectl describe을 사용합니다.

    kubectl describe --namespace CC_NAMESPACE bigquerydataset bigquerydatasetsample

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

    kubectl describe의 결과에는 리소스 상태 및 소유권에 대한 메타데이터가 포함됩니다.

데이터 세트 삭제

기본적으로 Config Connector는 리소스를 확보하고 관리한 후 클러스터에서 객체를 삭제하면 리소스가 삭제됩니다. 데이터 세트를 유지하려면 리소스의 deletion-policy를 설정하세요.

예를 들어 bigquerydataset-sample을 획득한 매니페스트를 삭제하면 BigQuery에서 데이터 세트가 삭제됩니다.

  1. kubectl delete을 사용하여 bigquerydataset-sample 데이터 세트를 삭제할 수 있습니다.

    kubectl delete --namespace CC_NAMESPACE -f bq-sample.yaml

    CC_NAMESPACE를 구성 커넥터가 관리하는 리소스의 네임스페이스로 바꿉니다.

    kubectl의 출력에서 삭제를 확인할 수 있습니다.

    bigquerydataset.bigquery.cnrm.cloud.google.com "bigquerydatasetsample" deleted
    
  2. bq을 사용하여 데이터 세트가 더 이상 존재하지 않는지 확인합니다.

    bq show PROJECT_ID:bigquerydatasetsample

    명령어의 결과에는 Not Found이 포함됩니다.

삭제 후 리소스 유지

...
metadata:
  annotations:
    cnrm.cloud.google.com/deletion-policy: abandon
...

예를 들어, abandon 삭제 정책을 포함하여 앞에서 설명한 BigQuery 데이터 세트의 YAML은 다음과 같습니다.

apiVersion: bigquery.cnrm.cloud.google.com/v1beta1
kind: BigQueryDataset
metadata:
  name: bigquerydatasetsample
  annotations:
    cnrm.cloud.google.com/deletion-policy: abandon
spec:
  defaultTableExpirationMs: 3600000
  description: "BigQuery Dataset Sample"
  friendlyName: bigquerydataset-sample
  location: US

획득 관련 제한사항이 있는 리소스

일부 리소스는 이전 섹션의 안내에 따라 획득할 수 없습니다. 이 섹션에서는 일부 리소스의 획득과 관련된 제한사항을 자세히 설명합니다.

서비스 생성 리소스 ID가 있는 리소스

resourceID 필드를 사용하면 서비스 생성 리소스 ID가 있는 Google Cloud 리소스만 획득할 수 있습니다.

다음 구성 커넥터 리소스는 서비스 생성 리소스 ID가 있는 Google Cloud리소스에 해당합니다.

  • AccessContextManagerAccessPolicy
  • ApigeeOrganization
  • BillingBudgetsBudget
  • CloudIdentityGroup
  • CloudIdentityMembership
  • ComputeFirewallPolicy
  • DLPDeidentifyTemplate
  • DLPInspectTemplate
  • DLPJobTrigger
  • DLPStoredInfoType
  • Folder
  • IAPBrand
  • IAPIdentityAwareProxyClient
  • IdentityPlatformTenant
  • MonitoringAlertPolicy
  • MonitoringGroup
  • MonitoringNotificationChannel
  • MonitoringUptimeCheckConfig
  • RecaptchaEnterpriseKey
  • ResourceManagerLien
  • SQLSSLCert
  • SecretManagerSecretVersion
  • StorageNotification
  • StorageTransferJob
  • VertexAIDataset
  • VertexAIIndex

resourceID 필드를 사용하는 방법은 resourceID 필드로 리소스 관리를 참조하세요.

획득할 수 없는 리소스

다음 구성 커넥터 리소스는 기존 Google Cloud 리소스 획득을 지원하지 않습니다.

  • DataflowFlexTemplateJob
  • FirestoreIndex
  • IAMServiceAccountKey

다음 단계

  • Config Connector가 Kubernetes 구성으로 Google Cloud 리소스를 모델링하는 방법을 알아봅니다.
  • Config Connector가 관리할 수 있는 Google Cloud 리소스를 참고하세요.
  • GitHub 저장소에서 Config Connector를 사용하는 방법의 추가 예시를 참조하세요.
  • Kubernetes가 객체의 선언적 구성을 처리하는 방법 알아보기