O Config Connector é um complemento do Kubernetes que permite gerenciar recursos do Google Cloud pela 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 mais recente antes de seguir estas instruções.
Você precisa ter um cluster em que o Config Connector não esteja 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 dos clusters e,
em seguida, configura a conta de serviço cnrm-system
.
Como configurar o Anthos Config Management
Defina o valor de
spec.configConnector.enabled
comotrue
no arquivo de configuração do Anthos Config Management:# 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... ```
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.
Aplicar a configuração também cria o namespace cnrm-system
, que pode ser
anotado.
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
Crie a conta de serviço
cnrm-system
:gcloud iam service-accounts create cnrm-system --project [PROJECT_ID]
A conta de serviço tem um endereço de e-mail gerado automaticamente associado a ela. Para conseguir esse endereço de e-mail, 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.
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 papelroles/owner
:gcloud projects add-iam-policy-binding [PROJECT_ID] \ --member "serviceAccount:[SERVICE_ACCOUNT_EMAIL]" \ --role "roles/owner"
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
Injete a chave no namespace
cnrm-system
no cluster:kubectl create secret generic gcp-key \ --from-file ./key.json \ --namespace cnrm-system
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 especificar o local para criar os recursos
Antes de criar recursos com o Anthos Config Management, você precisa configurar onde eles serão criados. Para determinar onde criar o recurso, o Config Connector usa uma anotação na configuração do recurso ou no namespace. Para mais informações, consulte Como organizando recursos.
É possível criar recursos em um projeto, pasta ou organização da mesma forma que você organizaria recursos com o Google Cloud.
Projeto
Para criar recursos em um determinado projeto, execute o seguinte comando, substituindo [NAMESPACE_NAME] pelo nome do namespace e [PROJECT_ID] pelo ID do projeto do Google Cloud:
kubectl annotate namespace \
[NAMESPACE_NAME] cnrm.cloud.google.com/project-id=[PROJECT_ID]
Pasta
Para criar recursos em uma determinada pasta, execute o seguinte comando, substituindo [NAMESPACE_NAME] pelo nome do namespace e [FOLDER_ID] pelo ID da pasta do Google Cloud:
kubectl annotate namespace \
[NAMESPACE_NAME] cnrm.cloud.google.com/folder-id=[FOLDER_ID]
Organização
Para criar recursos em uma determinada organização, execute o seguinte comando, substituindo [NAMESPACE_NAME] pelo nome do namespace e [ORGANIZATION_ID] pelo ID da organização do Google Cloud:
kubectl annotate namespace \
[NAMESPACE_NAME] cnrm.cloud.google.com/organization-id=[ORGANIZATION_ID]
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
Se o Config Connector estiver instalado corretamente, seu Pod e CRD existirão no cluster.
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
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
, comobigquerydatasets.bigquery.cnrm.cloud.google.com
.
Como desinstalar o 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
- Saiba mais sobre o Config Connector.
- Aprenda sobre a configuração dos recursos do Google Cloud usando o Anthos Config Management.