리소스 관리 및 삭제


Config Connector의 기존 리소스 관리리소스 삭제 처리 방법에 대해 알아보세요.

리소스 만들기

리소스를 만들 때 Config Connector는 리소스가 없는 경우 리소스를 만듭니다. 동일한 이름의 Google Cloud 리소스가 이미 존재하는 경우 Config Connector가 리소스를 가져와서 관리합니다.

리소스 만들기에 대한 자세한 정보는 시작하기를 참조하세요.

resourceID 필드를 사용하여 리소스를 관리할 수도 있습니다. 자세한 내용은 resourceID 필드로 리소스 관리를 참조하세요.

기존 리소스 확보

이 섹션에서는 Config Connector를 사용하여 기존 BigQuery 리소스를 얻는 방법에 대해 설명합니다.

시작하기 전에

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

BigQuery 데이터세트 획득

Config Connector는 매니페스트의 값과 리소스 이름이 일치할 때 리소스를 얻거나 제어합니다. 리소스에 이름이 없는 경우(예: 프로젝트 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를 Config Connector가 관리하는 리소스의 네임스페이스로 바꿉니다.

    kubectl의 결과에서 삭제를 확인합니다. bigquerydataset.bigquery.cnrm.cloud.google.com "bigquerydatasetsample" deleted

  2. bq을 사용하여 데이터 세트가 더 이상 존재하지 않는지 확인합니다.

    bq show PROJECT_ID:bigquerydatasetsample

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

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

서비스 생성 리소스 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

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

획득할 수 없는 리소스

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

  • DataflowFlexTemplateJob
  • FirestoreIndex
  • IAMServiceAccountKey

삭제 후 리소스 유지

...
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

다음 단계

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