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 uma instância do Cloud Spanner.

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 serviços. 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 recursos do Google Cloud disponíveis no Config Connector, execute:

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

O resultado é uma lista de todos os recursos que sua versão do Config Connector pode gerenciar.

Como exemplo, visualize a descrição da API do recurso SpannerInstance com kubectl describe:

kubectl describe crd spannerinstances.spanner.cnrm.cloud.google.com

Ativar o serviço do Cloud Spanner

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

  1. Copie o seguinte YAML em um arquivo chamado enable-spanner.yaml

    apiVersion: serviceusage.cnrm.cloud.google.com/v1beta1
    kind: Service
    metadata:
      name: spanner.googleapis.com
    
  2. Use o comando kubectl apply para adicionar o manifesto ao cluster. Para ativar a API Cloud Spanner, execute o seguinte comando:

    kubectl --namespace [CC_NAMESPACE] apply -f enable-spanner.yaml

    Substitua [CC_NAMESPACE] pelo namespace em que o Config Connector gerencia recursos.

Como criar uma instância do Cloud Spanner

Crie um arquivo chamado spanner-instance.yaml com o seguinte conteúdo:

apiVersion: spanner.cnrm.cloud.google.com/v1beta1
kind: SpannerInstance
metadata:
  annotations:
    cnrm.cloud.google.com/project-id: [PROJECT_ID]
  labels:
    label-one: "value-one"
  name: spannerinstance-sample
spec:
  config: regional-us-west1
  displayName: Spanner Instance Sample
  numNodes: 1

Substitua [PROJECT_ID] pelo ID do projeto.

Quando você cria um recurso do Config Connector, é criado um recurso associado do Google Cloud. O Config Connector gerencia esse recurso. Se 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 a instância do Cloud Spanner, copie o seguinte comando:

kubectl apply -f spanner-instance.yaml

Substitua [PROJECT_ID] pelo ID do projeto.

Como descrever um recurso

Use kubectl describe para conseguir detalhes sobre um recurso.

Por exemplo, para visualizar a instância do Cloud Spanner, execute o comando a seguir:

kubectl describe spannerinstance spannerinstance-sample

Como atualizar um recurso

Atualize metadados nos seus recursos atualizando seu arquivo YAML e reaplicando-o com kubectl. Para atualizar os metadados sobre a instância do spanner criada anteriormente:

  1. Modifique o arquivo spanner-instance.yaml para alterar spec.displayName de "Amostra da instância do Spanner" para "Minha instância do Spanner".

    apiVersion: spanner.cnrm.cloud.google.com/v1beta1
    kind: SpannerInstance
    metadata:
      annotations:
        cnrm.cloud.google.com/project-id: [PROJECT_ID]
      labels:
        label-one: "value-one"
      name: spannerinstance-sample
    spec:
      config: regional-us-west1
      displayName: My Spanner Instance
      numNodes: 1
    

    Substitua [PROJECT_ID] pelo ID do projeto.

  2. Use kubectl apply para atualizar o recurso. Execute este comando:

    kubectl apply -f spanner-instance.yaml
  3. Verifique a instância do Cloud Spanner para a alteração no nome.

    kubectl describe spannerinstance spannerinstance-sample

    A descrição precisa incluir o novo nome, My Spanner Instance.

Como excluir um recurso

Use kubectl delete para excluir recursos. Por exemplo, para excluir o SpannerInstance, execute o comando a seguir:

kubectl delete -f spanner-instance.yaml

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

A seguir