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.
Selecione ou crie um Google Cloud projeto no qual instalar o Config Connector.
Se tiver instalado manualmente o Config Connector anteriormente, desinstale-o antes de instalar o suplemento Config Connector:
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:
Tem de usar uma versão do GKE de:
- 1.15.11-gke.5 e posteriores
- 1.16.8-gke.8 e posteriores
- 1.17.4-gke.5 e posteriores
Tem de ativar um Workload Identity Pool e a monitorização do Kubernetes Engine nos clusters onde ativa o Config Connector.
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
eregular
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:
Aceda ao menu do Google Kubernetes Engine na Google Cloud consola.
Clique em Criar. É apresentada a página Crie um cluster do Kubernetes.
Especifique um nome para o cluster.
Escolha uma versão principalcompatível.
Configure o resto do cluster como quiser.
No painel de navegação, em Cluster, clique em Segurança.
Selecione a caixa de verificação Ativar Workload Identity.
No painel de navegação do lado esquerdo, em Cluster, clique em Funcionalidades.
Selecione a caixa de verificação Ativar o Config Connector.
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
Aceda ao menu do Google Kubernetes Engine na Google Cloud consola.
Selecione o cluster no qual quer instalar o Config Connector. É apresentada a página Detalhes do cluster.
Na secção Funcionalidades, localize a linha do Config Connector e clique em
Editar.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:
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.
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.
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:
-
Copie o seguinte ficheiro YAML para um ficheiro com o nome
configconnector.yaml
: Substitua o seguinte:# 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
SERVICE_ACCOUNT_NAME
com o nome da sua conta de serviço.PROJECT_ID
com o ID do seu projeto.
-
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 comkubectl
.
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:
O cluster é atualizado para uma nova versão secundária do GKE que está mapeada para uma versão mais recente do Config Connector.
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:
Para mudar para o Config Controller, siga as instruções de migração do Config Controller para migrar os recursos do Config Connector existentes para uma instância do Config Controller.
Para instalar manualmente o Config Connector, siga as instruções para mudar do suplemento do Config Connector para a instalação manual.
Desinstalar o Config Connector
Para desinstalar o Config Connector, conclua os seguintes passos:
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
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.
Aceda à página Clusters do Google Kubernetes Engine na Google Cloud consola e selecione o cluster que quer atualizar.
Clique em Edit. É apresentado o ecrã Editar clusters.
Clique em Suplementos.
Selecione Config Connector e escolha Desativado.
Clique em Guardar para atualizar o cluster.
O que se segue?
- Comece a usar o Config Connector.
- Saiba como resolver problemas do Config Connector.