Associe o seu cluster do EKS

Vista geral

Anexar um cluster significa associá-lo ao Google Cloud registando-o no Google Cloud Fleet management e instalando o software de clusters anexados do GKE no mesmo.

Pode anexar um cluster através da CLI gcloud ou do Terraform. Para saber como criar e anexar um cluster do EKS através do Terraform, consulte o repositório do GitHub de exemplos para clusters anexados do GKE.

Esta página destina-se a administradores de TI e operadores que querem configurar, monitorizar e gerir a infraestrutura na nuvem. Para saber mais sobre as funções comuns e exemplos de tarefas que referimos no Google Cloud conteúdo, consulte Funções e tarefas comuns do utilizador do GKE.

Para anexar um cluster do EKS através do gcloud, siga os passos seguintes.

Pré-requisitos

Certifique-se de que o cluster cumpre os requisitos do cluster.

Quando anexar o cluster, tem de especificar:

A região administrativa é uma Google Cloud região a partir da qual pode administrar o cluster anexado. Pode escolher qualquer região suportada, mas a prática recomendada é escolher a região geograficamente mais próxima do seu cluster. Não são armazenados dados do utilizador na região administrativa.

A versão da plataforma é a versão dos clusters anexados do GKE a instalar no seu cluster. Pode apresentar uma lista de todas as versões suportadas executando o seguinte comando:

gcloud container attached get-server-config  \
  --location=GOOGLE_CLOUD_REGION

Substitua GOOGLE_CLOUD_REGION pelo nome da Google Cloud localização a partir da qual vai administrar o cluster.

Numeração das versões da plataforma

Estes documentos referem-se à versão dos clusters anexados do GKE como a versão da plataforma, para a distinguir da versão do Kubernetes. Os clusters anexados do GKE usam a mesma convenção de numeração de versões que o GKE, por exemplo, 1.21.5-gke.1. Quando anexar ou atualizar o cluster, tem de escolher uma versão da plataforma cuja versão secundária seja igual ou um nível inferior à versão do Kubernetes do cluster. Por exemplo, pode anexar um cluster que execute o Kubernetes v1.22.* com a versão 1.21.* ou 1.22.* da plataforma de clusters anexados do GKE.

Isto permite-lhe atualizar o cluster para a versão secundária seguinte antes de atualizar os clusters anexados do GKE.

Anexe um cluster do EKS

Para associar o seu cluster do EKS à Google Cloud gestão de frotas, siga estes passos:

  1. Certifique-se de que o ficheiro kubeconfig tem uma entrada para o cluster que quer anexar:

    aws eks update-kubeconfig --region AWS_REGION \
      --name EKS_CLUSTER_NAME
    
  2. Obtenha o URL do emissor OIDC com o seguinte comando:

    aws eks describe-cluster \
      --region AWS_REGION \
      --name EKS_CLUSTER_NAME \
      --query "cluster.identity.oidc.issuer" \
      --output text
    

    O resultado deste comando é o URL do seu emissor de OIDC. Guarde este valor para utilização posterior.

  3. Execute este comando para extrair o contexto kubeconfig do cluster e armazená-lo na variável de ambiente KUBECONFIG_CONTEXT:

    KUBECONFIG_CONTEXT=$(kubectl config current-context)
    
  4. Use o comando gcloud container attached clusters register para registar o cluster:

    gcloud container attached clusters register CLUSTER_NAME \
      --location=GOOGLE_CLOUD_REGION \
      --fleet-project=PROJECT_NUMBER \
      --platform-version=PLATFORM_VERSION \
      --distribution=eks \
      --issuer-url=ISSUER_URL \
      --context=KUBECONFIG_CONTEXT \
      --kubeconfig=KUBECONFIG_PATH
    

    Substituição:

  • AWS_REGION: a região da AWS onde o cluster do EKS está localizado
  • CLUSTER_NAME: o nome do cluster. Este nome pode ser o mesmo EKS_CLUSTER_NAME que usou nos passos anteriores. O elemento CLUSTER_NAME tem de estar em conformidade com a norma RFC 1123 Label Names.
  • GOOGLE_CLOUD_REGION: a Google Cloud região para administrar o cluster
  • PLATFORM_VERSION: a versão dos clusters anexados do GKE a usar para o cluster
  • PROJECT_NUMBER: o projeto anfitrião da frota onde o cluster vai ser registado
  • ISSUER_URL: o URL do emissor obtido anteriormente
  • KUBECONFIG_CONTEXT: context in the kubeconfig for accessing the EKS cluster, as extracted earlier
  • KUBECONFIG_PATH: caminho para o seu kubeconfig

Autorize o Cloud Logging / Cloud Monitoring

Para que os clusters anexados do GKE criem e carreguem registos e métricas do sistema para o Google Cloud, têm de ser autorizados.

Para autorizar a identidade da carga de trabalho do Kubernetes gke-system/gke-telemetry-agent a escrever registos no Google Cloud Logging e métricas no Google Cloud Monitoring, execute este comando:

gcloud projects add-iam-policy-binding GOOGLE_PROJECT_ID \
  --member="serviceAccount:GOOGLE_PROJECT_ID.svc.id.goog[gke-system/gke-telemetry-agent]" \
  --role=roles/gkemulticloud.telemetryWriter

Substitua GOOGLE_PROJECT_ID pelo ID do projeto do Google Cloud cluster.

Esta associação de IAM concede acesso a todos os clusters no projeto Google Cloud project para carregar registos e métricas. Só tem de o executar depois de criar o primeiro cluster para o projeto.

A adição desta associação de IAM falha, a menos que tenha sido criado, pelo menos, um cluster no seu projeto Google Cloud . Isto deve-se ao facto de o Workload Identity Pool a que se refere (GOOGLE_PROJECT_ID.svc.id.goog) não ser aprovisionado até à criação do cluster.