Planejar a configuração do cluster do Google Kubernetes Engine (GKE) antes de instalar o Config Sync ajuda a garantir uma sincronização confiável de políticas e configurações em todos os ambientes. Os clusters precisam atender a requisitos específicos para o modo de operação do cluster, o registro da frota, as permissões do Identity and Access Management (IAM), as versões da plataforma, a autenticação, a rede e a arquitetura de nós.
Para ver as práticas recomendadas gerais ao planejar os clusters do GKE, consulte Sobre as opções de configuração de cluster.
Escolha um modo de operação do GKE
O Config Sync é compatível com clusters do GKE Autopilot e Standard.
Para ajudar a tomar uma decisão informada sobre qual modo de operação usar, leia Modos de operação do GKE.
Registre os clusters em uma frota.
O Config Sync exige que os clusters estejam registrados em uma frota.
Se você planeja instalar e configurar o Config Sync com o console do Cloud de Confiance , é possível registrar o cluster ao mesmo tempo em que instala o Config Sync.
Caso contrário, registre o cluster em uma frota antes de ativar o Config Sync.
Conceder as permissões necessárias
Como o Config Sync exige que os clusters sejam registrados em uma frota, talvez você precise de outras permissões ao instalar o Config Sync.
Para receber as permissões necessárias
para registrar clusters em uma frota,
peça ao administrador para conceder a você o
papel do IAM de Administrador de frota (antigo Administrador do GKE Hub) (roles/gkehub.admin) no projeto.
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.
Requisitos de recursos com o modo Autopilot
O modo Autopilot do GKE modifica automaticamente as solicitações de recursos para manter a estabilidade da carga de trabalho. Para entender como planejar essas solicitações, consulte a documentação do GKE sobre solicitações de recursos do Autopilot.
Devido à maneira como o Autopilot modifica as solicitações de recursos, o Config Sync faz os seguintes ajustes:
- Ajusta os limites de substituição de recursos especificados pelo usuário para atender às solicitações atendidas.
- Aplica as substituições apenas quando existe uma ou mais solicitações de recursos superiores à saída ajustada correspondente declarada na anotação ou existe uma ou mais solicitações de recursos inferiores à entrada correspondente declarada na anotação.
Plataformas e versões compatíveis do GKE
Para usar o Config Sync, o cluster precisa estar em uma versão compatível do GKE.
Federação de Identidade da Carga de Trabalho para GKE
A Federação de Identidade da Carga de Trabalho para GKE é a maneira recomendada de se conectar com segurança aos serviços do Cloud de Confiance by S3NS. A federação de identidade da carga de trabalho para GKE é ativada por padrão nos clusters do Autopilot.
Se você quiser usar pacotes de frota com o Config Sync, a Federação de Identidade da Carga de Trabalho para GKE é obrigatória.
Se você instalou o Config Sync em clusters anexados do GKE, não será possível usar o Active Directory com a federação de identidade da carga de trabalho. Essa limitação existe porque o Config Sync usa o gateway do Connect para se conectar aos clusters anexados do GKE, e o gateway do Connect não é compatível com esse recurso.
Rede
A seção a seguir lista algumas das mudanças que talvez você precise fazer no cluster do GKE, dependendo das configurações de rede.
Para mais informações sobre as opções de rede do GKE, consulte Visão geral da rede.
Clusters particulares
Se você usa clusters do GKE com nós particulares, configure-os de uma das seguintes maneiras para garantir que o Config Sync tenha acesso e possa se autenticar na sua fonte de verdade:
Configure o Cloud NAT para permitir a saída de nós particulares do GKE. Para mais detalhes, consulte Exemplo de configuração do GKE.
Ative o Acesso privado do Google para se conectar ao conjunto de endereços IP externo usados pelas APIs e serviços do Google.
Clusters públicos
Se você usa clusters públicos, mas tem requisitos rígidos de firewall da VPC que bloqueiam qualquer tráfego desnecessário, é necessário criar regras de firewall para permitir o seguinte tráfego:
- TCP: permite a entrada e a saída nas portas 53 e 443
- UDP: permitir a saída na porta 53
Se você não incluir essas regras, o Config Sync não será sincronizado corretamente,
e nomos status informará o seguinte erro:
Error: KNV2004: unable to sync repo Error in the git-sync container
Cloud Source Repositories com autenticação da conta de serviço padrão do Compute Engine
Se você estiver usando o Config Sync para se conectar ao Cloud Source Repositories e a Federação de Identidade da Carga de Trabalho para GKE não estiver ativada, use a conta de serviço padrão do Compute Engine para autenticação. Use escopos de acesso com escopos somente leitura para os nós no cluster.
É possível adicionar o escopo somente leitura para o Cloud Source Repositories incluindo
cloud-source-repos-ro na lista --scopes especificada no momento da criação do cluster
ou usando o escopo cloud-platform no momento da criação do cluster. Exemplo:
gcloud container clusters create CLUSTER_NAME --scopes=cloud-platform
Substitua CLUSTER_NAME pelo nome do cluster.
Não é possível modificar os escopos de acesso depois de criar um pool de nós.
No entanto, é possível criar um novo pool de nós com o escopo de acesso apropriado e usar o
mesmo cluster. O escopo gke-default padrão não inclui
cloud-source-repos-ro.
Nós do Arm
O Config Sync só pode ser executado em nós baseados em x86, não em nós do Arm. No entanto, se você precisar executar o Config Sync em um cluster com várias arquiteturas, siga as instruções abaixo, dependendo do tipo de cluster:
- GKE na AWS ou GKE no Azure: adicione um taint aos nós do Arm para evitar a programação de pods nos nós do Arm sem uma tolerância correspondente.
- GKE: o GKE adiciona um taint padrão para garantir que as cargas de trabalho sem a tolerância correspondente não sejam programadas lá. Nenhuma ação adicional é necessária.