Como instalar o Config Connector

O Config Connector é um complemento do Kubernetes que permite gerenciar seus recursos do Google Cloud através da configuração do Kubernetes. Com o Anthos Config Management, os usuários do Anthos podem instalar e desinstalar o Config Connector automaticamente.

Antes de começar

  • Você precisa ter um direito do Anthos para instalar o Config Connector usando o Anthos Config Management. Se você não tem um direito do Anthos, precisa usar um dos métodos de instalação alternativos para o Config Connector em vez de seguir as instruções neste tópico.

  • Você precisa atualizar o Anthos Config Management para a v1.1.0 ou superior antes de seguir estas instruções.

  • Você precisa ter um cluster em que o Config Connector não está instalado.

Como instalar o Config Connector usando o Anthos Config Management

Para instalar o Config Connector usando o Anthos Config Management, você configura o Anthos Config Management para instalar o Config Connector em um de seus clusters e, em seguida, configura a conta de serviço cnrm-system.

Como configurar o Anthos Config Management

  1. Defina o valor de spec.configConnector.enabled como true no arquivo de configuração do Operator:

    # config-management.yaml
    
    apiVersion: configmanagement.gke.io/v1
    kind: ConfigManagement
    metadata:
      name: config-management
    spec:
      # Set to true to install and enable Config Connector
      configConnector:
        enabled: true
    
      # ...other fields...
      ```
    
  2. Aplique a configuração usando kubectl apply.

    kubectl apply -f config-management.yaml
    

O Pod é criado, mas não é executado até que você configure a conta de serviço cnrm-system para gerenciar os recursos do Google Cloud em seu projeto.

Como configurar a conta de serviço cnrm-system

Antes que o Anthos Config Management possa criar recursos do Google Cloud, o Config Connector precisa ser autenticado usando uma conta de serviço do gerenciamento de identidade e acesso

  1. Crie a conta de serviço cnrm-system:

    gcloud iam service-accounts create cnrm-system --project [PROJECT_ID]
    
  2. A conta de serviço tem um endereço de email gerado automaticamente associado a ela. Para conseguir esse endereço de email, use o seguinte comando:

    gcloud iam service-accounts list | grep cnrm-system
    

    Use esse valor em que [SERVICE_ACCOUNT_EMAIL] é exibido nos comandos a seguir.

  3. Conceda os papéis e permissões da conta de serviço cnrm-system necessários para configurar os recursos específicos do Google Cloud necessários. Este exemplo concede o papel roles/owner:

    gcloud projects add-iam-policy-binding [PROJECT_ID] \
     --member "serviceAccount:[SERVICE_ACCOUNT_EMAIL]" \
     --role "roles/owner"
    
  4. Crie uma chave para a conta de serviço, armazenada localmente como key.json:

    gcloud iam service-accounts keys create \
     --iam-account "[SERVICE_ACCOUNT_EMAIL]" \
     ./key.json
    
  5. Injete a chave no namespace cnrm-system no cluster:

    kubectl create secret generic gcp-key \
     --from-file ./key.json \
     --namespace cnrm-system
    
  6. Remova a cópia local da chave, porque ela contém dados confidenciais:

    rm ./key.json
    

O Config Connector agora pode gerenciar os recursos do Google Cloud sincronizando os configs armazenados no seu repo com os clusters registrados no Anthos Config Management.

Como verificar a instalação

Se o Config Connector estiver instalado corretamente, seu Pod e CRD existirão no cluster.

  1. Verifique se o Pod do conector de configuração está em execução:

    kubectl wait -n cnrm-system \
     --for=condition=Initialized pod \
     cnrm-controller-manager-0
    

    Se o Config Connector estiver instalado corretamente, a saída será semelhante à seguinte:

    pod/cnrm-controller-manager-0 condition met

  2. Verifique se os CRDs para cada tipo de recurso compatível com o Google Cloud estão instalados no cluster:

    kubectl get crds | grep cnrm.cloud.google.com
    

    Se o Config Connector estiver instalado corretamente, o comando listará os recursos que terminam em .cnrm.cloud.google.com, como bigquerydatasets.bigquery.cnrm.cloud.google.com.

Como desinstalar Config Connector

Para desativar e desinstalar o Config Connector, edite o arquivo de configuração do Anthos Config Management e defina o valor de spec.configConnector.enabled como falso.

O Pod do Config Connector é parado e removido e os CRDs para cada tipo de recurso do Google Cloud são removidos. Os recursos atuais do Google Cloud não foram modificados.

A seguir