Anexar clusters de terceiros ao Google Cloud (geração anterior)

A anexação de clusters permite que você visualize seus clusters atuais do Kubernetes no console do Google Cloud com seus clusters do Anthos e ative vários recursos do Anthos neles, incluindo controle de configuração centralizado com o Anthos Config Management e gerenciamento de arquitetura de microsserviços com Anthos Service Mesh.

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

Os seguintes tipos e versões de cluster foram validados pelo Google. Para informações sobre os recursos do Anthos 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

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

  3. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  4. Ative a API Anthos.

    Ative a API

  5. Instale a CLI do Google Cloud.
  6. Para inicializar a CLI gcloud, execute o seguinte comando:

    gcloud init
  7. 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

  8. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  9. Ative a API Anthos.

    Ative a API

  10. Instale a CLI do Google Cloud.
  11. Para inicializar a CLI gcloud, execute o seguinte comando:

    gcloud init
  12. 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.
  13. 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 Anthos na frota do projeto. Com uma frota, é possível agrupar e normalizar logicamente clusters, facilitando a administração da infraestrutura. É possível navegar e gerenciar os clusters da frota no Console do Cloud. Além disso, muitos componentes do Anthos e do Google Cloud usam conceitos de frota, como semelhança de identidade e semelhança 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 direito a ativar e usar os recursos do Anthos nesses clusters. Além disso, na página Recursos do Anthos, é possível gerenciar alguns recursos do Anthos na frota. As cobranças do Anthos se aplicam apenas aos seus 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 namespace gke-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:

  1. No Console do Google Cloud, acesse a página Clusters do Anthos. Esta página mostra todos os clusters registrados.

    Acessar a página de clusters do Anthos

  2. Clique em Registrar cluster existente.

  3. Clique em Adicionar cluster externo.

  4. Digite o nome do cluster que você quer registrar no campo Nome do cluster.

  5. Opcional: adicione rótulos do Google Cloud ao cluster.

  6. Clique em Gerar comando de registro.

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

  8. 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 recursos do Anthos em clusters anexados

Depois de registrar os clusters, é possível ativar os recursos disponíveis do Anthos neles para os 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:

Para ver os conjuntos de documentação completos de todos os componentes do Anthos, incluindo tutoriais, material de referência, entre outros, consulte Componentes do Anthos.

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 Anthos Identity Service para uma frota e Como acessar clusters com o Anthos Identity Service.

A seguir