Neste guia de início rápido, mostramos como usar o Config Sync para implementar uma abordagem GitOps para gerenciar seus clusters do Google Kubernetes Engine. Com um fluxo de trabalho GitOps, você usa um repositório Git como a única fonte confiável para as configurações do cluster.
Ao usar o Config Sync, você tem os seguintes benefícios:
- Impor a consistência:ajuda a garantir que todos os clusters tenham a mesma configuração, reduzindo o risco de desvio de configuração.
- Melhorar a segurança:gerencie e audite centralmente as configurações do cluster, facilitando a aplicação de políticas de segurança.
- Aumentar a velocidade:automatize a implantação de mudanças de configuração, permitindo que você implante mudanças com mais rapidez e confiabilidade.
Neste tutorial, você cria um cluster do GKE e configura o Config Sync para sincronizar arquivos de configuração de um repositório de amostra. Este tutorial ajuda você a entender como o Config Sync funciona e oferece experiência no uso do Config Sync para gerenciar seus clusters de maneira consistente e automatizada.
Antes de começar
- Faça login na sua Google Cloud conta do. Se você começou a usar o Google Cloud, crie uma conta para avaliar o desempenho dos nossos produtos em situações reais. Clientes novos também recebem US $300 em créditos para executar, testar e implantar cargas de trabalho.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Verifique se você tem os seguintes papéis no projeto: Administrador do Kubernetes Engine
Verificar os papéis
-
No Google Cloud console, acesse a página IAM.
Acessar IAM - Selecione o projeto.
-
Na coluna Principal, encontre todas as linhas que identificam você ou um grupo no qual você está incluído. Para saber em quais grupos você está incluído, entre em contato com o administrador.
- Em todas as linhas que especificam ou incluem você, verifique a coluna Papel para ver se a lista de papéis inclui os papéis necessários.
Conceder os papéis
-
No Google Cloud console, acesse a página IAM.
Acessar IAM - Selecione o projeto.
- Clique em Conceder acesso.
-
No campo Novos principais, digite seu identificador de usuário. Normalmente, é o endereço de e-mail de uma Conta do Google.
- Clique em Selecionar um papel e pesquise o papel.
- Para conceder outros papéis, clique em Adicionar outro papel e adicione cada papel adicional.
- Clique em Salvar.
-
Criar um cluster
Nesta seção, você criará um cluster que poderá ser usado neste tutorial. Em um cenário real, é provável que você gerencie vários clusters, mas para simplificar este tutorial, você vai criar e gerenciar somente um cluster.
Para criar um cluster, siga estas etapas:
Ative a API do Google Kubernetes Engine.
No Google Cloud console, acesse a página Kubernetes Engine.
Clique em add_box Criar.
Na seção Autopilot, selecione Configurar.
Na seção Noções básicas do cluster, insira
cs-clusterno campo Nome. Não altere os outros campos.Clique em Criar. Você verá a página Clusters do Kubernetes. A criação do cluster leva alguns minutos. Quando uma marca de seleção verde aparecer na coluna Status ao lado do cluster, significa que ele está pronto.
Configurar seu cluster
Agora que você tem um cluster, é possível configurar o Config Sync para sincronizar arquivos de configuração de um repositório Git.
Para configurar o Config Sync no Google Cloud console, siga estas etapas:
- No Google Cloud console, acesse a página Configuração na seção Recursos.
- Clique em add Instalar o Config Sync.
- Selecione a versão do Config Sync que você quer usar.
- Em Opções de instalação, selecione Instalar o Config Sync em clusters individuais.
- Na tabela Clusters disponíveis, selecione
cs-clustere clique em Instalar Config Sync. Na guia Configurações, você verá o status docs-clustercomo Ativado após alguns minutos. - No painel Config Sync, clique em Implantar pacote de cluster.
- Na tabela Selecionar clusters para implantação do pacote, selecione
cs-clustere clique em Continuar. - Deixe a opção Pacote hospedado no Git selecionada e clique em Continuar.
- No campo Package name, insira
sample-repository. - No campo URL do repositório, insira
https://github.com/GoogleCloudPlatform/anthos-config-management-samples. - No campo Caminho, digite
config-sync-quickstart/multirepo/root. - Não mude os valores padrão dos outros campos.
Clique em Implantar pacote.
Após alguns minutos, você verá a opção Sincronizado na coluna Status de sincronização da
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.
Ver detalhes do pacote
Para conferir os objetos gerenciados pelo Config Sync, acesse a guia Pacotes e clique em cs-cluster. A página de detalhes do pacote oferece uma visão geral de todos os recursos sincronizados, incluindo o tipo de recurso e o namespace em que ele está sincronizado.
(Opcional) Explorar o repositório de amostra
As configurações aplicadas ao cluster são definidas no
/config-sync-quickstart/multirepo/
repositório. Este exemplo demonstra uma configuração de vários repositórios em que as configurações de nível de administrador de cluster, representadas pelo repositório root, são separadas das configurações de nível de namespace, representadas pelo repositório namespaces. Neste exemplo, essas configurações são divididas em pastas diferentes. Em um cenário real, você pode armazenar configurações em dois repositórios diferentes com permissões de acesso diferentes.
Em um nível alto, os repositórios raiz ou de cluster geralmente são gerenciados por um administrador central e contêm recursos, configurações de namespace e políticas de cluster. Os repositórios de nível de namespace geralmente contêm configurações específicas para namespaces individuais e são gerenciados por equipes de aplicativos.
Alguns dos principais tipos de arquivos que você pode armazenar em um repositório raiz incluem o seguinte:
- Criação de namespace:arquivos como
namespace-gamestore.yamlcriam os namespaces. - Recursos com escopo de cluster:arquivos que afetam todo o cluster incluem recursos como objetos
ClusterRole, que adicionam papéis de cluster que concedem permissões. - Conectar repositórios de namespace:o arquivo de chave nessa configuração de vários repositórios é o arquivo
reposync-gamestore.yaml. Esse objetoRepoSyncinforma ao Config Sync para sincronizar as configurações do namespacegamestorede um caminho diferente. Neste exemplo, o objetoRepoSyncaponta para o diretórioconfig-sync-quickstart/multirepo/ namespaces/gamestoreno mesmo repositório, mas em um cenário real, você pode apontar para um repositório Git diferente.
O repositório de namespace contém configurações específicas do aplicativo para o namespace gamestore. Por exemplo, o arquivo configmap-inventory.yaml contém dados de inventário para o aplicativo gamestore. Esse tipo de configuração do GitOps permite que as equipes de aplicativos tenham mais autonomia sobre as próprias implantações e recursos com escopo de namespace sem precisar modificar o repositório raiz central.
Liberar espaço
Acesse o menu do GKE no Google Cloud console.
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
- Saiba mais sobre como validar configs.