Como instalar com o GKE complemento


Nesta página, descrevemos como instalar o Config Connector em um cluster do Google Kubernetes Engine (GKE) usando o complemento Config Connector.

Para detalhes sobre cada opção de instalação, as vantagens e desvantagens, ver Como escolher um tipo de instalação.

Antes de começar

Antes de começar, verifique se você realizou as tarefas a seguir:

  • Ativar a API Google Kubernetes Engine.
  • Ativar a API Google Kubernetes Engine
  • Se você quiser usar a Google Cloud CLI para essa tarefa, instale e, em seguida, inicialize a CLI gcloud. Se você instalou a CLI gcloud anteriormente, instale a versão mais recente executando gcloud components update.

Como instalar o complemento Config Connector

Use o complemento Config Connector criando um novo cluster do GKE ou ativando-o em um cluster existente. Depois de instalar o complemento Config Connector, configure a instalação com suas Contas de serviço do Google e seus namespaces.

Requisitos

Os requisitos do complemento Config Connector são os seguintes:

Como configurar um cluster do GKE

Use o complemento Config Connector em um cluster novo ou atual.

Como criar um novo cluster com o complemento Config Connector ativado

É possível criar um cluster do GKE usando a CLI gcloud ou o Console do Google Cloud.

gcloud

Para criar um cluster com a Google Cloud CLI, execute o seguinte comando:

gcloud container clusters create CLUSTER_NAME \
    --release-channel CHANNEL \
    --addons ConfigConnector \
    --workload-pool=PROJECT_ID.svc.id.goog \
    --logging=SYSTEM \
    --monitoring=SYSTEM

Substitua:

  • CLUSTER_NAME pelo nome do cluster do GKE.
  • CHANNEL com um canal de lançamento do GKE, rapid e regular são compatíveis.
  • PROJECT_ID pelo ID de projeto do Google Cloud;

Console do Google Cloud

Para criar um cluster com o Console do Google Cloud, siga estas etapas:

  1. Acesse o menu do Google Kubernetes Engine no console do Google Cloud.

    Acesse o menu do Google Kubernetes Engine

  2. Clique em Criar. A página Criar um cluster do Kubernetes será exibida.

  3. Especifique o Nome do cluster.

  4. Selecione uma Versão principal compatível.

  5. Configure o restante do cluster como quiser.

  6. No painel de navegação, em Cluster, clique em Segurança.

  7. Marque a caixa de seleção Ativar identidade de carga de trabalho.

  8. No painel de navegação à esquerda, em Cluster, clique em Recursos.

  9. Marque a caixa de seleção Ativar Config Connector.

  10. Clique em Criar.

Depois de criar o cluster, acesse Como criar uma identidade.

Como ativar o complemento Config Connector em um cluster existente

É possível ativar o complemento Config Connector em um cluster do GKE com gcloud ou o console do Google Cloud.

Pré-requisitos

A ativação do complemento Config Connector em um cluster atual tem os seguintes pré-requisitos:

  • Você precisa de um cluster que atenda aos requisitos do complemento Config Connector.
  • Configure a Identidade da carga de trabalho no cluster em que você quer instalar o Config Connector.

Para ativar a Identidade da carga de trabalho de um pool de nós, use a ferramenta de linha de comando gcloud:

gcloud container node-pools update NODE_POOL \
    --workload-metadata=GKE_METADATA \
    --cluster CLUSTER_NAME

Substitua:

  • NODE_POOL pelo nome do pool de nós;
  • CLUSTER_NAME pelo nome do cluster.
Como ativar o complemento Config Connector.

É possível ativar o complemento Config Connector em um cluster do GKE com a Google Cloud CLI ou o Console do Google Cloud.

gcloud

Para ativar o complemento Config Connector em um cluster atual do GKE use a Google Cloud CLI:

gcloud container clusters update CLUSTER_NAME \
    --update-addons ConfigConnector=ENABLED

Substitua CLUSTER_NAME pelo nome do cluster do GKE.

Console do Google Cloud

  1. Acesse o menu do Google Kubernetes Engine no console do Google Cloud.

    Acesse o menu do Google Kubernetes Engine

  2. Selecione o cluster em que você quer instalar o Config Connector. A página Detalhes do cluster é exibida.

  3. Na seção Recursos, localize a linha do Config Connector e clique em Editar.

  4. Marque a caixa de seleção Ativar o Config Connector e clique em Salvar alterações para atualizar o cluster.

Como criar uma identidade

O Config Connector cria e gerencia recursos do Google Cloud usando a autenticação com uma conta de serviço de gerenciamento de identidade e acesso (IAM) e a Identidade da carga de trabalho do GKE para vincular contas de serviço do IAM a contas de serviço do Kubernetes.

Para criar a identidade, conclua as etapas a seguir:

  1. Criar uma conta de serviço do IAM Se você quiser, poderá usar uma conta de serviço atual e pular esta etapa.

    Para criar uma conta de serviço, use o seguinte comando:
      gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
    Substitua SERVICE_ACCOUNT_NAME por um nome para a conta de serviço.
  2. Para saber mais sobre como criar contas de serviço, consulte Como criar e gerenciar contas de serviço.

  3. Conceda à Conta de serviço do IAM permissões elevadas no projeto:
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" \
        --role="roles/editor"
    Substitua o seguinte:
    • PROJECT_ID pelo código do projeto;
    • SERVICE_ACCOUNT_NAME pelo nome da conta de serviço.
  4. Crie uma vinculação de política do IAM entre a conta de serviço do IAM e a conta de serviço predefinida do Kubernetes que o Config Connector executa:
    gcloud iam service-accounts add-iam-policy-binding \
    SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \
        --member="serviceAccount:PROJECT_ID.svc.id.goog[cnrm-system/cnrm-controller-manager]" \
        --role="roles/iam.workloadIdentityUser"
    Substitua:
    • SERVICE_ACCOUNT_NAME pelo nome da conta de serviço.
    • PROJECT_ID pelo código do projeto;

Como configurar o Config Connector

Para concluir a instalação, crie um arquivo de configuração para o CustomResource ConfigConnector e, em seguida, aplique-o usando o comando kubectl apply. O operador do Config Connector instala as CRDs de recursos do Google Cloud e os componentes do Config Connector no cluster.

Para configurar o operador como modo de cluster, siga estas etapas:

  1. Copie o seguinte arquivo do YAML para um arquivo chamado configconnector.yaml:
    # configconnector.yaml
    apiVersion: core.cnrm.cloud.google.com/v1beta1
    kind: ConfigConnector
    metadata:
      # the name is restricted to ensure that there is only one
      # ConfigConnector resource installed in your cluster
      name: configconnector.core.cnrm.cloud.google.com
    spec:
      mode: cluster
      googleServiceAccount: "SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com"
      # Setting `stateIntoSpec` to `Absent` is recommended. It means setting `cnrm.cloud.google.com/state-into-spec`
      # annotation to `absent` for all Config Connector resources created in the cluster in the future.
      # It prevents Config Connector from populating unspecified fields into the spec.
      stateIntoSpec: Absent
    Substitua o seguinte:
    • SERVICE_ACCOUNT_NAME pelo nome da conta de serviço.
    • PROJECT_ID pelo código do projeto;
  2. Aplique a configuração ao cluster com kubectl apply:
      kubectl apply -f configconnector.yaml

Como especificar o local para criar os recursos

O Config Connector pode organizar recursos por projeto, pasta ou organização, da mesma forma que você organizaria recursos com o Google Cloud.

Antes de criar recursos com o Config Connector, você precisa configurar onde criar seus recursos. Para determinar onde criar o recurso, o Config Connector usa uma anotação na configuração do recurso ou em um namespace atual. Para mais informações, consulte Como organizando recursos.

Se você não tiver um namespace para essa finalidade, crie um com kubectl.
kubectl create namespace NAMESPACE

Substitua NAMESPACE pelo nome do namespace. Por exemplo: config-connector.

Selecione uma guia para escolher onde quer que o Config Connector crie recursos.

Projeto

Para criar recursos em determinado projeto, execute o seguinte comando:

    kubectl annotate namespace \
    NAMESPACE cnrm.cloud.google.com/project-id=PROJECT_ID

Substitua:

  • NAMESPACE pelo nome do namespace;
  • PROJECT_ID pelo ID do projeto do Google Cloud.

Pasta

Para criar recursos em determinada pasta, execute o seguinte comando:

    kubectl annotate namespace \
    NAMESPACE cnrm.cloud.google.com/folder-id=FOLDER_ID

Substitua:

  • NAMESPACE pelo nome do namespace;
  • FOLDER_ID pelo ID da pasta do Google Cloud.

Organização

Para criar recursos em determinada organização, execute o seguinte comando:

    kubectl annotate namespace \
    NAMESPACE cnrm.cloud.google.com/organization-id=ORGANIZATION_ID

Substitua:

  • NAMESPACE pelo nome do namespace;
  • ORGANIZATION_ID pelo ID da organização do Google Cloud.

Quando você anota o namespace, o Config Connector cria recursos no projeto, na pasta ou na organização correspondente. Para saber mais sobre como o Config Connector usa namespaces do Kubernetes, consulte Namespaces do Kubernetes e projetos do Google Cloud.

Como verificar a instalação

Todos os componentes do Config Connector são executados em um namespace chamado cnrm-system. Para verificar se os pods estão prontos, execute o comando a seguir:

kubectl wait -n cnrm-system \
      --for=condition=Ready pod --all

Se o Config Connector estiver instalado corretamente, o resultado será semelhante a este:

pod/cnrm-controller-manager-0 condition met

Como fazer upgrade do Config Connector

Os upgrades para o complemento Config Connector do cluster são gerenciados pelo Google Cloud.

Os recursos do cluster são preservados sempre que ocorre um upgrade.

Leia sobre como o Google Cloud gerencia upgrades de complementos do Config Connector ou pule para saber como encontrar a versão mais recente do Config Connector.

Como o Google Cloud gerencia os upgrades de complementos do Config Connector

A versão do Config Connector que um cluster do GKE recebe depende inteiramente na versão secundária do GKE do cluster. Exemplo:

Versão secundária do GKE Versão do Config Connector
1.20 1.69.0
1.21 1.69.0
1.22 1.71.0
1.23 1.82.0
1.24 1.89.0

À medida que as versões se qualificam, o Google Cloud remapeia o GKE mais recente versões secundárias para uma versão recém-lançada do Config Connector. Isso é feito para todas as versões secundárias do GKE que são novas o suficiente para não estar disponíveis nos canais de lançamento regulares ou estáveis.

Como a versão do Config Connector que um cluster recebe depende da versão secundária do GKE, há dois casos em que o cluster O complemento Config Connector é atualizado automaticamente pelo Google Cloud:

  1. O cluster recebe upgrade para uma nova versão secundária do GKE que é mapeado para uma versão mais recente do Config Connector.

  2. O cluster está em uma versão secundária do GKE que é nova o suficiente para não estarão disponíveis nos canais de lançamento Regular ou Estável; e O Google Cloud remapeia essa versão secundária do GKE para uma nova Versão do Config Connector.

Quando o Google Cloud remapeia uma versão secundária do GKE e faz upgrade dos clusters existentes para uma nova versão do Config Connector, ele "lançou uma nova versão do Config Connector" para essa versão secundária do GKE.

O Google Cloud não lança novas versões do Config Connector para Versões secundárias do GKE que sejam antigas o suficiente para estarem disponíveis no Versões de canais de lançamento regulares ou estáveis por motivos de estabilidade, exceto em situações de emergência em que um problema generalizado foi detectado.

Como encontrar a versão mais recente do Config Connector

A versão do Config Connector instalada pelo complemento Config Connector pode ser significativamente atrasado em até 12 meses. Se você precisar do Config Connector mais recente atual, recomendamos mudar para Controlador de configuração ou instalar manualmente o Config Connector e fazer upgrades por conta própria. As instruções de migração para cada opção são as seguintes:

Como desinstalar o Config Connector

Para desinstalar o Config Connector, siga estas etapas:

  1. Use kubectl delete para remover as CRDs do Config Connector e os componentes do controlador:

    kubectl delete ConfigConnector configconnector.core.cnrm.cloud.google.com --wait=true
    
  2. Desative o complemento Config Connector no cluster usando a CLI gcloud ou console do Google Cloud:

    gcloud

    Para desativar o complemento Config Connector com gcloud, execute o seguinte comando:

    gcloud container clusters update CLUSTER_NAME --update-addons ConfigConnector=DISABLED
    

    Substitua CLUSTER_NAME pelo nome do cluster que tem o complemento Config Connector instalado.

    console do Cloud

    Para desativar o complemento Config Connector no console do Google Cloud, faça o seguinte: etapas seguintes.

    1. Acesse a página "Clusters" do Google Kubernetes Engine no console do Google Cloud e selecione o cluster que você quer atualizar.

      Acesse o menu do Google Kubernetes Engine

    2. Clique em Edit. A tela Editar clusters é exibida.

    3. Clique em Complementos.

    4. Selecione Config Connector e escolha Desativado.

    5. Clique em Salvar para atualizar seu cluster.

A seguir