Guia de início rápido: sincronizar a partir de vários repositórios

Neste guia de início rápido, você cria um novo cluster do Google Kubernetes Engine (GKE) e usa o Config Sync para sincronizar com as configurações no repositó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

  1. 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.

    Acessar o seletor de projetos

    Verifique se o faturamento está ativado para seu projeto na nuvem. Saiba como confirmar se o faturamento está ativado para o projeto.

    No Console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

    Verifique se o faturamento está ativado para seu projeto na nuvem. Saiba como confirmar se o faturamento está ativado para o 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:

  1. No Console do Google Cloud, acesse a página do Google Kubernetes Engine.

    Acessar o Google Kubernetes Engine

  2. Clique em Criar.

  3. Na seção Padrão, clique em Configurar.

  4. Na seção Princípios básicos do cluster, conclua o seguinte:

    1. Insira cs-cluster como o Nome do cluster.
    2. Não altere os outros campos.
  5. No menu à esquerda, em Cluster, selecione Segurança.

  6. Na página Segurança, marque a caixa de seleção Ativar Identidade da carga de trabalho.

  7. 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 papel Administrador do GKE Hub necessário para usar o Config Sync no Console do Google Cloud.

  1. No Console do Cloud, acesse a página IAM.

    Acesse IAM

  2. Clique em Adicionar.

  3. No campo Novos pirncipais, insira o endereço de e-mail que você usou para se registrar no Google Cloud.

  4. Na lista suspensa Selecionar um papel, procure e selecione Administrador do GKE Hub.

  5. Clique em Salvar.

Ative o Anthos Config Management

Para ativar o Anthos Config Management, conclua as etapas a seguir:

  1. No Console do Cloud, acesse a página Config Management.

    Acessar o Config Management

  2. Clique em Configurar o gerenciamento de configuração.

  3. 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:

  1. Na página Selecionar clusters registrados para o Config Management, localize a tabela Clusters não registrados deste projeto e encontre cs-cluster. .
  2. 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 quickstart do repositório de amostras do Anthos Config Management.

Para configurar o Config Sync no Console do Google Cloud, siga estas etapas:

  1. Na tabela Selecionar clusters registrados para o Config Management, selecione cs-cluster e clique em Avançar..
  2. Na página Config Sync exibida, selecione uma versão do Anthos Config Management 1.7.0 ou posterior. Essa versão permite a sincronização a partir de vários repositórios por padrão.
  3. Deixe a caixa de seleção Ativar Config Sync ativada.
  4. No campo URL, adicione https://github.com/GoogleCloudPlatform/anthos-config-management-samples
  5. Na lista suspensa Tipo de acelerador, selecione Nenhum.
  6. No campo Ramificação, adicione main
  7. Deixe o campo Tag/Commit em branco, porque estamos usando o valor padrão HEAD.
  8. No campo Diretório de políticas, adicione quickstart/multirepo/root
  9. 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.
  10. 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ê.
  11. Clique em Next.
  12. 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:

  1. Acesse o Console do Google Cloud.

    Ir para o Google Cloud Console

  2. 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 e kubectl.

  3. 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 cluster
    • PROJECT_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 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 /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 comportamenteo, 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:

  1. Acesse o menu do GKE no Console do Cloud.

    Acessar o GKE

  2. Ao lado de cs-cluster, clique em Ações e depois em Excluir.

  3. Quando solicitado a confirmar, clique em Excluir novamente.

A seguir