Introdução ao Config Connector


Este guia mostra os princípios básicos da gestão de recursos do Config Connector, ensinando-o a concluir as seguintes tarefas:

  • Ative uma Google Cloud API.
  • Crie e faça a gestão de um tópico Pub/Sub.

Antes de começar

Antes de começar os exercícios nesta página, conclua as seguintes tarefas:

Descobrir Google Cloud recursos disponíveis

Para ver que tipos de Google Cloud recursos pode criar com o Config Connector, execute o seguinte comando:

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

O resultado é uma lista de todos os recursos que a sua versão do Config Connector pode criar e gerir.

Por exemplo, pode ver a descrição da API para o PubSubTopic recurso com kubectl describe:

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

Também pode ver informações sobre os recursos disponíveis nos recursos do Config Connector.

Ativar o serviço Pub/Sub

Use o Config Connector para ativar a API Pub/Sub aplicando uma configuração YAML ao seu cluster:

  1. Crie um ficheiro com o nome enable-pubsub.yaml e copie o seguinte YAML para o mesmo:

    apiVersion: serviceusage.cnrm.cloud.google.com/v1beta1
    kind: Service
    metadata:
      name: pubsub.googleapis.com
    spec:
      projectRef:
        external: projects/PROJECT_ID
    

    Substitua PROJECT_ID pelo seu Google Cloud ID do projeto.

  2. Use kubectl apply para aplicar a configuração ao seu cluster. Para ativar a API Pub/Sub, execute o seguinte comando:

    kubectl apply -f enable-pubsub.yaml

Criar uma instância do Pub/Sub

Crie um ficheiro denominado pubsub-topic.yaml com o seguinte conteúdo:

  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

Substitua o seguinte:

  • PROJECT_ID: o ID do seu Google Cloud projeto.
  • LABEL_KEY: LABEL_VALUE: um par chave-valor de etiquetas. Por exemplo, environment: production.
  • TOPIC_NAME: o nome do tópico do Pub/Sub.

Quando cria um recurso, o Config Connector cria o recurso se não existir. Se já existir um Google Cloud recurso com o mesmo nome, o Config Connector adquire o recurso e gere-o. Para saber mais sobre a aquisição de um recurso existente, consulte Gerir e eliminar recursos.

Use o comando kubectl apply para criar recursos. Para criar o tópico Pub/Sub, execute o seguinte comando:

kubectl apply -f pubsub-topic.yaml 

Descrever um recurso

Use kubectl describe para ver detalhes sobre um recurso.

Por exemplo, para ver todos os seus tópicos do Pub/Sub, execute o seguinte comando:

kubectl describe pubsubtopics

Nesta lista, deve ver o tópico do Pub/Sub que criou na secção anterior.

Validar se um recurso está pronto

Depois de criar um tópico do Pub/Sub, pode verificar o respetivo status.condition. Por exemplo, para verificar se o recurso de tópico Pub/Sub está pronto, execute o seguinte comando:

kubectl wait --for=condition=READY pubsubtopics TOPIC_NAME

Substitua TOPIC_NAME pelo nome do tópico do Pub/Sub.

Deverá ver uma saída semelhante ao seguinte exemplo:

pubsubtopic.pubsub.cnrm.cloud.google.com/TOPIC_NAME condition met

Atualizar um recurso

Pode atualizar os metadados dos seus recursos atualizando o ficheiro YAML e reaplicando-o com kubectl.

Para alterar a etiqueta no tópico do Pub/Sub que criou na secção anterior, conclua os seguintes passos:

  1. Modifique a secção metadata do ficheiro pubsub-topic.yaml para alterar a etiqueta:

      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
    

    Substitua o seguinte:

    • PROJECT_ID: o ID do seu Google Cloud projeto.
    • NEW_LABEL_VALUE: um valor atualizado para a etiqueta que adicionou anteriormente. Por exemplo, environment: staging.
    • TOPIC_NAME: o nome do tópico do Pub/Sub
  2. Use kubectl apply para atualizar o recurso. Execute o seguinte comando:

    kubectl apply -f pubsub-topic.yaml
  3. Verifique se o nome da instância do Pub/Sub foi alterado:

    kubectl describe pubsubtopics

    O seu tópico deve ter a nova etiqueta.

Eliminar um recurso

Use kubectl delete para eliminar recursos. Por exemplo, para eliminar o PubSubTopic que criou anteriormente, execute kubectl delete com o seu ficheiro pubsub-topic.yaml:

kubectl delete -f pubsub-topic.yaml

Recebe uma confirmação de que o recurso foi eliminado:

pubsubtopic.pubsub.cnrm.cloud.google.com "TOPIC_NAME" deleted

Por predefinição, o Config Connector elimina o recurso PubSubTopic. Se preferir manter este recurso, consulte as instruções em Gerir e eliminar recursos.

O que se segue?