Primeiros passos com o Config Sync
Neste tutorial, você cria um cluster do Google Kubernetes Engine (GKE) e usa o Config Sync para sincronizar com as configurações no multirrepositório de amostras do Anthos Config Management.
Imagine que sua equipe de conformidade seja responsável por garantir que todos os membros da organização sigam as regras internas. Para aplicar essas regras, a equipe de conformidade criou configurações que foram adicionadas ao repositório de amostras. Cada cluster na organização precisa se sincronizar com o repositório, e você é responsável por criar e sincronizar clusters.
Antes de começar
-
Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.
Verifique se o faturamento está ativado para seu projeto na nuvem. Saiba como verificar se o faturamento está ativado em um projeto.
No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.
Verifique se o faturamento está ativado para seu projeto na nuvem. Saiba como verificar se o faturamento está ativado em um projeto.
Preparar o ambiente
Nas seções a seguir, você criará e configurará um cluster que pode ser usado com o Config Sync.
Criar um cluster
Para criar um cluster que pode ser usado com o Config Sync, siga estas etapas:
No Console do Google Cloud, acesse a página do Google Kubernetes Engine.
Se você estiver usando o GKE pela primeira vez, clique em Ativar para ativar a API Kubernetes Engine.
Clique em add_box Criar.
Na seção Padrão, clique em Configurar.
Na seção Noções básicas do cluster, adicione
cs-cluster
ao campo Nome e deixe os outros campos com os padrões recomendados.No menu à esquerda, em Cluster, selecione Segurança.
Na página Segurança, marque a caixa de seleção Ativar Identidade da carga de trabalho e não altere os outros campos com os valores padrão.
Clique em Criar. A criação do cluster pode levar alguns minutos.
Conceda a si mesmo as permissões de administrador
Depois de criar o cluster, conceda a si mesmo o administrador do GKE Hub.
No console do Google Cloud, abra a página IAM.
Clique em Adicionar.
No campo Novos pirncipais, insira o endereço de e-mail que você usou para se registrar no Google Cloud.
Na lista suspensa Selecionar um papel, procure e selecione Administrador do GKE Hub.
Clique em Salvar.
Ative o Anthos Config Management
Para ativar o Anthos Config Management, conclua as etapas a seguir:
No console do Google Cloud, acesse a página Gerenciamento de configuração.
Clique em Configurar o gerenciamento de configuração.
Para ativar a API Config Management, clique em Avançar. Depois de clicar em Avançar, você será direcionado para a página Selecionar clusters registrados para o Gerenciamento de configuração, em que é possível registrar seu cluster.
Registrar o cluster
Depois que o cluster for criado, registre-o em uma frota:
- Na página Selecionar clusters registrados para o Config Management, localize
a tabela Clusters não registrados deste projeto e encontre
cs-cluster
. . Ao lado de
cs-cluster
, clique em Registrar.Depois que o cluster for registrado, ele aparecerá na tabela Selecionar clusters registrados para o Config Management.
Configurar seu cluster
Agora que você criou um cluster, é possível configurar o Config Sync para sincronizar
com as configurações no diretório config-sync-quickstart
do repositório de amostras do Anthos Config Management.
Para configurar o Config Sync no Console do Google Cloud, siga estas etapas:
- Na tabela Selecionar clusters registrados para o Config Management, selecione
cs-cluster
e clique em Avançar.. - Deixe a caixa de seleção Ativar Config Sync ativada.
- No campo URL, adicione
https://github.com/GoogleCloudPlatform/anthos-config-management-samples
- Na lista suspensa Tipo de acelerador, selecione Nenhum.
- No campo Ramificação, adicione
main
- Deixe o campo Tag/Commit em branco, porque estamos usando o valor
padrão
HEAD
. - No campo Diretório de configuração, adicione
config-sync-quickstart/multirepo/root
- Deixe os campos Espera de sincronização e Proxy do Git em branco porque estamos usando
os valores padrão de 15 segundos e
HTTPS
, respectivamente. - Na lista suspensa Formato de origem, selecione não estruturado. Recomendamos o uso do formato não estruturado, já que ele permite que você organize suas configurações da maneira mais conveniente para você.
- Clique em Next.
Desmarque a caixa de seleção Ativar Policy Controller e clique em Concluir.
Você será redirecionado ao menu do Anthos Config Management. Após alguns minutos, você verá Sincronizado na coluna Status do Config sync ao lado de
cs-cluster
.
Agora que o Config Sync está sincronizado com um repositório, ele reconciliará continuamente o estado dos clusters com as configurações no repositório.
Analisar e testar a instalação do Config Sync
Nas seções a seguir, use o Cloud Shell para explorar sua instalação do Config Sync e tentar modificar um objeto gerenciado.
Abra o Cloud Shell
Para iniciar o Cloud Shell, siga estas etapas:
Acesse o Console do Google Cloud.
No canto superior direito do console, clique no botão Ativar Cloud Shell:
Uma sessão do Cloud Shell é aberta dentro de um quadro inferior no console. Use este shell para executar os comandos
gcloud
,nomos
ekubectl
.Para usar os comandos nas seções a seguir, configure o acesso à linha de comando
kubectl
executando este comando:gcloud container clusters get-credentials cs-cluster \ --zone ZONE \ --project PROJECT_ID
Substitua:
ZONE
: a zona em que você criou o clusterPROJECT_ID
: ID do projeto
Saída esperada:
Fetching cluster endpoint and auth data. kubeconfig entry generated for cs-cluster.
Examinar seu cluster e repositório
O diretório config-sync-quickstart
inclui ClusterRole, CustomResourceDefinition, configurações do Prometheus
Operator para monitoramento, Rolebinding, Namespace e RepoSync.
Esses configs são aplicados assim que o Config Sync é
configurado para ler o repo.
Todos os objetos gerenciados pelo Config Sync têm o rótulo app.kubernetes.io/managed-by
definido como configmanagement.gke.io
.
Para listar os namespaces gerenciados pelo Config Sync, execute o seguinte comando:
kubectl get ns -l app.kubernetes.io/managed-by=configmanagement.gke.io
Saída esperada:
NAME STATUS AGE
gamestore Active 58s
monitoring Active 58s
Navegue até a pasta /config-sync-quickstart/multirepo/ do repositório do Anthos Config Management no GitHub para explorar as configurações que fizeram esses namespaces. serem criados.
É possível examinar outros objetos, como ClusterRole, Reposyncs, CRDs e Rolebindings da mesma maneira.
Tentativa de modificar manualmente um objeto gerenciado
O Config Sync impede a mutação de objetos gerenciados por meio do webhook de admissão.
Se você tentar fazer uma alteração conflitante modificando manualmente um objeto do Kubernetes gerenciado do Config Sync, receberá um erro.
Para testar esse comportamento, tente excluir o namespace gamestore
:
kubectl delete namespace gamestore
Saída esperada:
error: admission webhook "v1.admission-webhook.configsync.gke.io" denied the request: requester is not authorized to delete managed resources
Limpar
Se você quiser seguir o tutorial sobre Como gravar configurações para o Config Sync, não limpe-o ainda. Esse guia de início rápido é um pré-requisito para o tutorial, que também inclui instruções de limpeza.
Se você não quiser seguir este tutorial, exclua o cluster usado neste tutorial para fazer a limpeza:
Acesse o menu do GKE no console do Google Cloud.
Ao lado de
cs-cluster
, clique em more_vert Ações e depois em delete Excluir.Quando solicitado a confirmar, clique em Excluir novamente.
A seguir
- Siga as etapas do tutorial sobre como gravar, testar e sincronizar configurações.
- Saiba mais sobre configurações.
- Saiba mais sobre como validar configs.