Com os clusters anexados do GKE, é possível conferir clusters do Kubernetes no console do Google Cloud com os clusters do GKE, e ativam vários recursos do GKE Enterprise, incluindo recursos com o Config Sync.
Clusters do Kubernetes compatíveis
É possível anexar qualquer cluster do Kubernetes em conformidade que inclua nós x86 à frota e visualizá-lo no Console do Cloud com os clusters do GKE.
Os seguintes tipos e versões de cluster foram validados pelo Google. Para informações sobre os recursos do GKE Enterprise compatíveis com clusters anexados, consulte Componentes do Anthos e suporte a várias nuvens.
Tipos de cluster anexados | versões do Kubernetes; |
---|---|
Red Hat OpenShift Kubernetes Engine (OKE) 4.9, 4.10 | 1.23, 1.24 |
Red Hat OpenShift Container Platform (OCP) 4.9, 4.10 | 1.23, 1.24 |
Rancher Kubernetes Engine (RKE) 1.3.8 | 1.23, 1.24 |
KIND 0.12 | 1.23, 1.24 |
K3s 1.20 | 1.20 |
K3d 4.4.3 | 1.20 |
Antes de começar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Enable the Anthos API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Enable the Anthos API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- Verifique os Pré-requisitos de registro da frota para garantir que você tenha as permissões relevantes e as APIs ativadas para registrar um cluster.
- Consulte o guia Antes de começar para ver os requisitos específicos para anexar clusters fora do Google Cloud, incluindo quaisquer etapas de configuração especiais que você possa precisar para seu tipo de cluster.
Registrar clusters anexados
É necessário registrar todos os clusters que você quer usar com o GKE Enterprise na frota do seu projeto. Com uma frota, é possível agrupar e normalizar logicamente clusters, facilitando a administração da infraestrutura. Clusters na mesma frota podem ser navegados e gerenciados juntos no Console do Google Cloud, e muitos componentes do GKE Enterprise e do Google Cloud usam conceitos de frota, como semelhança de identidade e de namespace para simplificar o trabalho com vários clusters. Para saber mais sobre as frotas e as funcionalidades que elas oferecem, consulte o Guia de gerenciamento de frotas.
Você tem o direito de ativar e usar os recursos do GKE Enterprise em esses clusters, e é possível gerenciar alguns recursos do GKE Enterprise no nível da frota, Página de recursos do GKE. As cobranças do GKE Enterprise se aplicam apenas aos clusters registrados.
Configurar identidade
Todos os clusters anexados exigem uma identidade para o agente do Connect usar ao autenticar no Google. Se o cluster atender aos requisitos, será possível registrá-lo com a Identidade da carga de trabalho da frota ativada para autenticação. Os clusters com esse recurso ativado usam identidades do pool de identidades de carga de trabalho da frota em toda a frota. Saiba mais sobre como a Identidade da carga de trabalho da frota funciona e as vantagens de usá-la em Usar a Identidade da carga de trabalho da frota.
Se não for possível usar a Identidade da carga de trabalho da frota, o registro de um cluster anexado exigirá uma conta de serviço do Google Cloud para autenticação. Recomendamos que você crie uma nova conta de serviço para cada cluster que quiser anexar. Para criar uma conta de serviço para um cluster com os papéis apropriados, siga as instruções em Como criar uma conta de serviço do Google Cloud com a gcloud
.
Depois de criar a conta de serviço, use o arquivo JSON com as credenciais dessa conta (arquivo de chave) para registrar o cluster, conforme descrito na próxima seção.
Registrar o cluster
Recomendamos conseguir o status da associação do cluster após o registro para garantir que ele esteja conectado corretamente ao Google Cloud. Consulte nosso guia de solução de problemas caso tenha problemas com seu registro.
gcloud
Execute este comando:
gcloud container fleet memberships register MEMBERSHIP_NAME \ --context=KUBECONFIG_CONTEXT \ --kubeconfig=KUBECONFIG_PATH \ --service-account-key-file=SERVICE_ACCOUNT_KEY_PATH
Substitua:
- MEMBERSHIP_NAME: o nome da assinatura que você escolher e que é usado para representar exclusivamente o cluster que está sendo registrado na frota.
- SERVICE_ACCOUNT_KEY_PATH: o caminho do arquivo local para o
arquivo JSON da chave privada da conta de serviço baixado como parte dos Pré-requisitos.
Esta chave de conta de serviço é armazenada como um secret chamado
creds-gcp
no namespacegke-connect
. - KUBECONFIG_CONTEXT: o contexto do cluster que está sendo registrado da forma
como aparece no arquivo kubeconfig. É possível conseguir esse valor a partir da linha de comando executando
kubectl config current-context
. - KUBECONFIG_PATH: o caminho de arquivo local em que
o kubeconfig que contém uma entrada para o cluster que está sendo registrado é armazenado.
O padrão é
$KUBECONFIG
se essa variável de ambiente estiver definida. Caso contrário, o padrão será$HOME/.kube/config
.
Registrar um cluster anexado com a Identidade da carga de trabalho da frota
Para registrar um cluster anexado com a Identidade da carga de trabalho da frota ativada, execute o comando a seguir. Para mais informações sobre os tipos de cluster anexados que podem usar esse recurso e outros requisitos extras, consulte Pré-requisitos do cluster anexado.
gcloud container fleet memberships register MEMBERSHIP_NAME \ --context=KUBECONFIG_CONTEXT \ --kubeconfig=KUBECONFIG_PATH \ --enable-workload-identity \ --has-private-issuer
Console
Gerar um comando de registro
Use o console do Cloud para ajudar a gerar um comando de registro gcloud
para registrar o cluster (apenas com uma conta de serviço).
Para registrar um cluster:
No console do Google Cloud, acesse a página Visão geral dos clusters do Google Kubernetes Engine.
Clique em Registrar cluster existente.
Clique em Adicionar cluster externo.
Digite o nome do cluster que você quer registrar no campo Nome do cluster.
Opcional: adicione rótulos do Google Cloud ao cluster.
Clique em Gerar comando de registro.
No Cloud Shell ou no local em que você salvou as credenciais da conta de serviço, edite e execute o comando
gcloud
exibido na página. Você precisa especificar os seguintes valores:- O CLUSTER_CONTEXT é o contexto do cluster como ele aparece no arquivo kubeconfig. É possível conseguir esse valor a partir da linha de comando executando
kubectl config current-context
. - O KUBECONFIG_PATH é o caminho de arquivo local em que o arquivo kubeconfig está armazenado. O padrão é
$KUBECONFIG
se essa variável de ambiente estiver definida. Caso contrário, o padrão será$HOME/.kube/config
. - O LOCAL_KEY_PATH é o caminho para o arquivo de chave da sua conta de serviço;
A execução desse comando implanta o agente do Connect no cluster de usuário. Quando o agente do Connect se conecta ao Google Cloud e seu cluster é registrado, uma mensagem de sucesso é exibida na página.
- O CLUSTER_CONTEXT é o contexto do cluster como ele aparece no arquivo kubeconfig. É possível conseguir esse valor a partir da linha de comando executando
Clique em Definir rótulos ou em Pular se você não tiver configurado nenhum rótulo.
Opções avançadas de registro (somente para a linha de comando)
Fazer o download do manifesto do agente do Connect
Para fazer o download do manifesto de instalação do agente do Connect sem implantar o agente, por exemplo, se você quiser examinar ou editar o manifesto antes da instalação, transmita a sinalização --manifest-output-file
para o comando gcloud container fleet memberships register
. Exemplo:
--manifest-output-file=[MANIFEST_FILE_PATH]
em que [MANIFEST_FILE_PATH] é o caminho de arquivo local em que você quer que o manifesto de instalação do agente do Connect seja armazenado.
Usar essa opção não implantará o agente do Connect no cluster. Para implantar o Connect Agent, aplique manualmente o manifesto salvo ao seu cluster.
Como usar um servidor proxy
Para configurar um servidor proxy, transmita a sinalização --proxy
para o comando gcloud container fleet memberships register
. Exemplo:
--proxy=[URL]
em que [URL] é o endereço do proxy.
O agente do Connect é compatível somente com proxys HTTP e HTTPS baseados no CONNECT e aceita endereços IP e nomes do host. Certifique-se de especificar o protocolo correspondente ao tipo de proxy no URL. Por exemplo, para transmitir um nome do host HTTPS:
--proxy=https://mycorpproxy.com:443
A menos que você especifique o contrário, o agente do Connect usa a porta 3128 no proxy.
Se o proxy exigir autorização, certifique-se de transmitir as credenciais, como:
--proxy=http://user:password@10.10.10.10:8888
Como instalar o Connect Agent em um cluster com nós do Windows e Linux
O agente do Connect precisa ser executado em um nó do Linux. Se você estiver instalando em um cluster misto com nós do Linux e do Windows, garanta a implantação do agente do Connect em um nó do Linux adicionando um seletor de nós apropriado à definição de implantação.
Execute o seguinte comando para atualizar a implantação com o seletor de nós apropriado:
kubectl patch deployment \
$(kubectl get deployment -o=jsonpath='{.items[*].metadata.name}' -n gke-connect) \
-p '{"spec":{"template":{"spec":{"nodeSelector":{"kubernetes.io/os":"linux"}}}}}' -n gke-connect
Para confirmar se a atualização foi bem-sucedida, execute o seguinte comando:
kubectl get deployment -o=jsonpath='{.items[].spec.template.spec.nodeSelector}' -n gke-connect
O comando retornará:
{"kubernetes.io/os":"linux"}
Solução de problemas
Se você tiver problemas durante essa configuração, consulte o guia de solução de problemas da criação de frota.
Ativar os recursos do GKE Enterprise nos clusters anexados
Depois de registrar seus clusters, ative o GKE Enterprise disponível recursos para seus aplicativos. Esses recursos são compatíveis apenas com nossos tipos de cluster validados. Veja as versões de recursos atuais compatíveis com esses tipos em Compatibilidade com versões e upgrades.
Os guias a seguir mostram como ativar os recursos compatíveis nos clusters:
O Anthos Service Mesh 1.11 e versões mais recentes são compatíveis com o Amazon EKS:
Gerenciamento de configuração e políticas:
Para acessar os conjuntos de documentação completos de todos os componentes do GKE Enterprise, incluindo tutoriais, material de referência e muito mais, consulte Componentes do GKE Enterprise.
Acessar clusters anexados
Depois de registrar um cluster anexado, ele aparece nas páginas de clusters do GKE e dos clusters do Anthos no console do Google Cloud. No entanto, para ver mais detalhes, como nós e cargas de trabalho, você precisa fazer login e se autenticar no cluster. Para fazer login nos clusters anexados usando o console do Cloud, siga as instruções em Como fazer login nos clusters com o console do Cloud. Dependendo do método de autenticação escolhido, você ou um administrador da plataforma precisará fazer algumas configurações adicionais antes que você ou outros usuários possam fazer login no cluster.
Para acessar clusters anexados da linha de comando usando uma identidade do Google Cloud, consulte Como se conectar a clusters registrados com o gateway do Connect.
Para autenticar clusters anexados usando seu provedor de identidade terceirizado atual (somente EKS em clusters da AWS, recurso em pré-lançamento), consulte Como configurar o GKE Identity Service para uma frota e Como acessar clusters com o GKE Identity Service.
A seguir
- Configurar a geração de registros e o monitoramento de clusters anexados.
- Resolver problemas de clusters anexados