Introdução ao Config Connector

Este guia mostra os princípios básicos do gerenciamento de recursos do Config Connector, ensinando como:

  • ativar uma API do Google Cloud;
  • criar e gerenciar um bucket do Cloud Storage.

Antes de começar

Para concluir as etapas desta página:

  • Instale o Config Connector

  • Configure o Config Connector para usar um projeto padrão.

  • O Config Connector usa a API Resource Manager para ativar as APIs de serviço. Para executar essas etapas, você precisa ativar a API Resource Manager. É possível ativar essa API com o seguinte comando "gcloud".
    gcloud services enable cloudresourcemanager.googleapis.com

Como descobrir os recursos disponíveis do Google Cloud

Para ver os tipos de recursos do Google Cloud que é possível criar com o Config Connector, execute:

kubectl get crds --selector cnrm.cloud.google.com/managed-by-kcc=true

A saída é uma lista de todos os recursos que sua versão do Config Connector pode criar e gerenciar.

Por exemplo, é possível ver a descrição da API para o recurso StorageBuckets com kubectl describe:

kubectl describe crd storagebuckets.storage.cnrm.cloud.google.com

Também é possível ver informações sobre os recursos disponíveis em Recursos do conector de configuração.

Ative o serviço do Cloud Storage

É possível usar o Config Connector para ativar a API Cloud Storage aplicando uma configuração YAML ao cluster.

  1. Copie o seguinte YAML para um arquivo chamado enable-storage.yaml.

    apiVersion: serviceusage.cnrm.cloud.google.com/v1beta1
    kind: Service
    metadata:
      name: storage.googleapis.com
    
  2. Use kubectl apply para aplicar a configuração ao cluster: Para ativar a API Cloud Storage, execute o seguinte comando:

    kubectl --namespace YOUR_NAMESPACE apply -f enable-storage.yaml

    Substitua YOUR_NAMESPACE pelo namespace em que o Config Connector gerencia recursos.

Como criar uma instância do Cloud Storage

Crie um arquivo chamado storage-bucket.yaml com o seguinte conteúdo:

  apiVersion: storage.cnrm.cloud.google.com/v1beta1
  kind: StorageBucket
  metadata:
    annotations:
      cnrm.cloud.google.com/project-id : PROJECT_ID
    name: BUCKET_NAME
  spec:
    lifecycleRule:
      - action:
          type: Delete
        condition:
          age: 7

Substitua:

  • PROJECT_ID pelo código do projeto;
  • BUCKET_NAME pelo nome do bucket.

Quando você cria um recurso, o Config Connector cria o recurso se ele ainda não existir. Quando já existe um recurso do Google Cloud com o mesmo nome, o Config Connector adquire o recurso e o gerencia. Para mais informações sobre como adquirir um recurso existente, consulte Como gerenciar e excluir recursos.

Use o comando kubectl apply para criar recursos: Para criar o bucket do Cloud Storage, execute o seguinte comando:

kubectl apply -f storage-bucket.yaml --namespace YOUR_NAMESPACE

Substitua YOUR_NAMESPACE pelo namespace em que o Config Connector gerencia recursos.

Como descrever um recurso

Use kubectl describe para acessar detalhes sobre um recurso.

Por exemplo, para visualizar todos os seus buckets do Cloud Storage, execute o seguinte comando:

kubectl describe storagebuckets

Como atualizar um recurso

Atualize metadados nos seus recursos atualizando seu arquivo YAML e reaplicando-o com kubectl. Para atualizar os metadados no bucket de armazenamento criado anteriormente:

  1. Modifique a seção metadata do seu arquivo storage-bucket.yaml para adicionar a diretiva force-destroy e um rótulo com um valor.

    apiVersion: storage.cnrm.cloud.google.com/v1beta1
    kind: StorageBucket
    metadata:
      annotations:
        cnrm.cloud.google.com/force-destroy: "true"
        cnrm.cloud.google.com/project-id : PROJECT_ID
      labels:
        label-one: "my_bucket" 
      name: BUCKET_NAME
    spec:
      lifecycleRule:
        - action:
            type: Delete
          condition:
            age: 7
    

    Substitua:

    • PROJECT_ID pelo código do projeto;
    • BUCKET_NAME pelo nome do bucket.
  2. Use kubectl apply para atualizar o recurso. Execute este comando:

    kubectl apply -f storage-bucket.yaml
  3. Verifique a instância do Cloud Storage para ver a alteração no nome.

    kubectl describe storagebuckets

    O bucket precisa incluir o novo rótulo e a anotação:

    ...
    Labels:       label-one=my_bucket
    Annotations:  cnrm.cloud.google.com/force-destroy: true
    ...
    

Como excluir um recurso

Use kubectl delete para excluir recursos. Por exemplo, para excluir o StorageBucket que você criou anteriormente, execute kubectl delete com seu arquivo storage-bucket.yaml:

kubectl delete -f storage-bucket.yaml

Você recebe a confirmação de que o recurso foi excluído.

storage.cnrm.cloud.google.com "BUCKET_NAME" deleted

Por padrão, o Config Connector exclui o recurso StorageBucket. Se você preferir manter esse recurso, consulte as instruções em Como gerenciar e excluir recursos.

A seguir