Instalar com o suplemento do GKE


Esta página descreve como instalar o Config Connector num cluster do Google Kubernetes Engine (GKE) através do suplemento do Config Connector.

Para ver detalhes sobre cada opção de instalação com as respetivas vantagens e desvantagens, consulte Escolher um tipo de instalação.

Antes de começar

Antes de começar, certifique-se de que realizou as seguintes tarefas:

  • Ative a API Google Kubernetes Engine.
  • Ative a API Google Kubernetes Engine
  • Se quiser usar a CLI gcloud para esta tarefa, instale-a e, em seguida, inicialize-a. Se instalou anteriormente a CLI gcloud, execute gcloud components update para obter a versão mais recente.

Instalar o suplemento Config Connector

Pode usar o suplemento Config Connector criando um novo cluster do GKE ou ativando-o num cluster existente. Depois de instalar o suplemento Config Connector, configure a instalação do Config Connector com as suas contas de serviço Google e os seus espaços de nomes.

Requisitos

O suplemento Config Connector tem os seguintes requisitos:

Configurar um cluster do GKE

Pode usar o suplemento Config Connector num cluster novo ou existente.

Criar um novo cluster com o suplemento Config Connector ativado

Pode criar um cluster do GKE através da CLI gcloud ou da Google Cloud consola.

gcloud

Para criar um cluster com a CLI gcloud, 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 o seguinte:

  • CLUSTER_NAME com o nome do cluster do GKE.
  • CHANNEL com um canal de lançamento do GKE, rapid e regular são suportados.
  • PROJECT_ID com o seu Google Cloud ID do projeto.

Google Cloud consola

Para criar um cluster com a Google Cloud consola, siga estes passos:

  1. Aceda ao menu do Google Kubernetes Engine na Google Cloud consola.

    Aceda ao menu do Google Kubernetes Engine

  2. Clique em Criar. É apresentada a página Crie um cluster do Kubernetes.

  3. Especifique um nome para o cluster.

  4. Escolha uma versão principalcompatível.

  5. Configure o resto do cluster como quiser.

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

  7. Selecione a caixa de verificação Ativar Workload Identity.

  8. No painel de navegação do lado esquerdo, em Cluster, clique em Funcionalidades.

  9. Selecione a caixa de verificação Ativar o Config Connector.

  10. Clique em Criar.

Depois de criar o cluster, avance para a secção Criar uma identidade.

Ativar o suplemento Config Connector num cluster existente

Pode ativar o suplemento Config Connector num cluster do GKE existente com o gcloud ou a consola Google Cloud .

Pré-requisitos

A ativação do suplemento Config Connector num cluster existente tem os seguintes pré-requisitos:

  • Precisa de um cluster que cumpra os requisitos para o suplemento Config Connector.
  • Configure a federação de identidade da força de trabalho para o GKE no cluster onde quer instalar o Config Connector.

Para ativar a federação de identidade da carga de trabalho para o GKE para um conjunto de nós, use a ferramenta de linha de comandos gcloud:

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

Substitua o seguinte:

  • NODE_POOL com o nome do conjunto de nós
  • CLUSTER_NAME com o nome do cluster
Ativar o suplemento Config Connector

Pode ativar o suplemento Config Connector num cluster do GKE existente com a Google Cloud CLI ou a Google Cloud consola.

gcloud

Para ativar o suplemento Config Connector num cluster do GKE existente, use a CLI gcloud:

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

Substitua CLUSTER_NAME pelo nome do cluster do GKE.

Google Cloud consola

  1. Aceda ao menu do Google Kubernetes Engine na Google Cloud consola.

    Aceda ao menu do Google Kubernetes Engine

  2. Selecione o cluster no qual quer instalar o Config Connector. É apresentada a página Detalhes do cluster.

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

  4. Selecione a caixa de verificação Ativar Config Connector e clique em Guardar alterações para atualizar o cluster.

Crie uma identidade

O Config Connector cria e gere Google Cloud recursos através da autenticação com uma conta de serviço de gestão de identidade e de acesso (IAM) e da utilização da Workload Identity Federation para o GKE para associar contas de serviço de IAM a contas de serviço do Kubernetes.

Para criar a identidade, conclua os seguintes passos:

  1. Crie uma conta de serviço do IAM. Se quiser usar uma conta de serviço existente, pode usar essa conta e ignorar este passo:

    gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
    

    Substitua SERVICE_ACCOUNT_NAME por um nome para a sua conta de serviço.

    Para saber mais sobre como criar contas de serviço, consulte o artigo Criar e gerir contas de serviço.

  2. Conceda autorizações elevadas à conta de serviço de IAM no seu projeto:

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" \
      --role="roles/editor"
    

    Substitua PROJECT_ID pelo ID do seu projeto.

  3. Crie uma associação de política IAM entre a conta de serviço IAM e a conta de serviço Kubernetes predefinida 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"
    

Configurar o Config Connector

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

Para configurar o operador como modo de cluster, conclua os seguintes passos:

  1. Copie o seguinte ficheiro YAML para um ficheiro com o nome 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 com o nome da sua conta de serviço.
    • PROJECT_ID com o ID do seu projeto.
  2. Aplique a configuração ao cluster com kubectl apply:
      kubectl apply -f configconnector.yaml

Especificar onde criar os recursos

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

Antes de criar recursos com o Config Connector, tem de configurar onde criar os seus recursos. Para determinar onde criar o recurso, o Config Connector usa uma anotação na configuração do recurso ou num espaço de nomes existente. Para mais informações, consulte o artigo Organizar recursos.

Se não tiver um espaço de nomes para este fim, crie um com kubectl.
kubectl create namespace NAMESPACE

Substitua NAMESPACE pelo nome do seu espaço de nomes. Por exemplo config-connector.

Selecione um separador para escolher onde quer que o Config Connector crie recursos.

Projeto

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

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

Substitua o seguinte:

  • NAMESPACE com o nome do seu espaço de nomes.
  • PROJECT_ID com o seu Google Cloud ID do projeto.

Pasta

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

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

Substitua o seguinte:

  • NAMESPACE com o nome do seu espaço de nomes.
  • FOLDER_ID com o ID da pasta Google Cloud .

Organização

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

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

Substitua o seguinte:

  • NAMESPACE com o nome do seu espaço de nomes.
  • ORGANIZATION_ID com o ID da sua Google Cloud organização.

Quando anota o seu espaço de nomes, o Config Connector cria recursos no projeto, na pasta ou na organização correspondente. Para saber mais sobre como o Config Connector usa os espaços de nomes do Kubernetes, consulte os artigos Espaços de nomes do Kubernetes e Google Cloud projetos.

Validar a instalação

O Config Connector executa todos os respetivos componentes num espaço de nomes denominado cnrm-system. Pode verificar se os pods estão prontos executando o seguinte comando:

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

Se o Config Connector estiver instalado corretamente, o resultado é semelhante ao seguinte:

pod/cnrm-controller-manager-0 condition met

Atualizar o Config Connector

As atualizações do suplemento Config Connector do cluster são geridas por Google Cloud.

Os recursos no seu cluster são preservados sempre que ocorre uma atualização.

Leia sobre como Google Cloud o Config Connector gere as atualizações de suplementos ou avance para como obter a versão mais recente do Config Connector.

Como Google Cloud gerir as atualizações do suplemento Config Connector

A versão do Config Connector que um cluster do GKE recebe depende inteiramente da versão secundária do GKE do cluster. Por 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, Google Cloud redefine as versões secundárias mais recentes do GKE para uma versão do Config Connector lançada recentemente. Isto é feito para todas as versões secundárias do GKE que são suficientemente recentes para não estarem disponíveis nos canais de lançamento Regular ou Stable.

Uma vez que a versão do Config Connector que um cluster recebe depende da versão secundária do GKE do cluster, existem dois casos em que o suplemento do Config Connector de um cluster é atualizado automaticamente por Google Cloud:

  1. O cluster é atualizado para uma nova versão secundária do GKE que está mapeada para uma versão mais recente do Config Connector.

  2. O cluster está numa versão secundária do GKE suficientemente recente para não estar disponível nos canais de lançamento Regular ou Stable eGoogle Cloud re-mapeia essa versão secundária do GKE para uma nova versão do Config Connector.

Quando Google Cloud redefine o mapeamento de uma versão secundária do GKE e atualiza os clusters existentes para uma nova versão do Config Connector, diz-se que está a "implementar uma nova versão do Config Connector" nessa versão secundária do GKE.

Google Cloud não implementa novas versões do Config Connector em versões secundárias do GKE que sejam suficientemente antigas para estarem disponíveis nas versões dos canais de lançamento Regular ou Stable por motivos de estabilidade, exceto em situações de emergência em que tenha sido detetado um problema generalizado.

Como obter a versão mais recente do Config Connector

A versão do Config Connector instalada através do suplemento do Config Connector está, muitas vezes, atrasada até 12 meses ou mais. Se precisar da versão mais recente do Config Connector, recomendamos que mude para o Config Controller ou instale manualmente o Config Connector e faça as atualizações. As instruções de migração para cada opção são:

Desinstalar o Config Connector

Para desinstalar o Config Connector, conclua os seguintes passos:

  1. Use kubectl delete para remover os CRDs do Config Connector juntamente com os componentes do controlador:

    kubectl delete ConfigConnector configconnector.core.cnrm.cloud.google.com --wait=true
    
  2. Desative o suplemento Config Connector no seu cluster através da CLI gcloud ou da Google Cloud consola:

    gcloud

    Para desativar o suplemento Config Connector com o 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 suplemento do Config Connector instalado.

    Cloud Console

    Para desativar o suplemento Config Connector a partir da Google Cloud consola, siga os passos abaixo.

    1. Aceda à página Clusters do Google Kubernetes Engine na Google Cloud consola e selecione o cluster que quer atualizar.

      Aceda ao menu do Google Kubernetes Engine

    2. Clique em Edit. É apresentado o ecrã Editar clusters.

    3. Clique em Suplementos.

    4. Selecione Config Connector e escolha Desativado.

    5. Clique em Guardar para atualizar o cluster.

O que se segue?