Migrar o cluster anexado do EKS

A versão anterior dos clusters conectados do GKE é conhecida como clusters anexados ao GKE (geração anterior). A migração da versão anterior de clusters anexados ao GKE para a geração atual oferece acesso a essa funcionalidade, incluindo o gerenciamento do ciclo de vida e o registro de frota. A migração é uma operação de mão única: depois de migrar para a geração atual de clusters anexados ao GKE, não é possível retornar aos clusters anexados ao GKE da geração anterior.

Política de numeração de versões

Esses documentos se referem à versão dos clusters anexados ao GKE como a versão da plataforma, para diferenciá-la da versão do Kubernetes. Os clusters anexados ao GKE usam a mesma convenção de numeração de versões que o GKE. Por exemplo, 1.21.5-gke.1. Ao anexar ou atualizar seu cluster, escolha uma versão de plataforma em que a versão secundária seja igual ou um nível abaixo da versão do Kubernetes do cluster. Por exemplo, é possível anexar um cluster que executa o Kubernetes v1.22.* com a plataforma de clusters anexados do GKE 1.21.* ou 1.22.*.

Isso permite fazer upgrade do cluster para a próxima versão secundária antes de fazer upgrade dos clusters anexados ao GKE.

Verifique se a Identidade da carga de trabalho está ativada

Os clusters atuais dos clusters anexados do GKE (geração anterior) precisam ter a Identidade da carga de trabalho ativada antes de serem migrados para a geração atual dos clusters anexados do GKE.

Para determinar se o Wi-Fi está ativado, execute o seguinte comando e verifique a saída de qualquer campo de Identidade da carga de trabalho:

gcloud container hub memberships describe MEMBERSHIP_NAME

Se a Identidade da carga de trabalho não estiver ativada, a assinatura precisará ser atualizada para ativá-la.

  1. Use o seguinte comando para recuperar o URL do emissor do OIDC do cluster:

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

    A saída desse comando será o URL do emissor do OIDC. Salve esse valor para uso posterior.

  2. Atualize a assinatura:

    gcloud container fleet memberships register MEMBERSHIP_NAME \
    --context=KUBECONFIG_CONTEXT \
    --kubeconfig=KUBECONFIG_PATH \
    --enable-workload-identity \
    --public-issuer-url=OIDC_URL
    

    Substitua:

    • MEMBERSHIP_NAME: o nome da assinatura do cluster
    • KUBECONFIG_CONTEXT: contexto no kubeconfig para acessar o cluster AKS
    • KUBECONFIG_PATH: caminho para o arquivo kubeconfig
    • OIDC_URL: o URL do OIDC recuperado anteriormente

Migrar o cluster

Para migrar seu cluster de clusters conectados ao GKE (geração anterior) para clusters anexados ao GKE:

  1. Extraia o contexto kubeconfig do cluster e armazene-o na variável de ambiente KUBECONFIG_CONTEXT:

    KUBECONFIG_CONTEXT=$(kubectl config current-context)
    
  2. Execute o comando a seguir para migrar o cluster para a geração atual de clusters anexados ao GKE. Esse comando extrai os detalhes relevantes da configuração do cluster e o registra no gerenciamento de frotas do Google. Ele instala ou faz upgrade de qualquer software necessário, como o agente do ciclo de vida, no cluster.

    gcloud container attached clusters import \
      --location=GOOGLE_CLOUD_REGION \
      --fleet-membership=FLEET_MEMBERSHIP \
      --platform-version=PLATFORM_VERSION \
      --distribution=CLUSTER_DISTRIBUTION \
      --context=KUBECONFIG_CONTEXT \
      [--kubeconfig=KUBECONFIG_PATH]
    

    Substitua:

    • GOOGLE_CLOUD_REGION: o local do Google Cloud em que o cluster é administrado.
    • FLEET_MEMBERSHIP: o identificador de associação totalmente qualificado do cluster registrado (confira abaixo)
    • PLATFORM_VERSION: a versão dos clusters anexados ao GKE para a qual você quer migrar (exemplo: v1.22.0-gke.1)
    • CLUSTER_DISTRIBUTION: o tipo de cluster – eks para o Elastic Kubernetes Service da AWS, aks para o Azure Kubernetes Service ou generic para qualquer outra distribuição
    • KUBECONFIG_CONTEXT: o nome do contexto no kubeconfig para se conectar ao cluster
    • KUBECONFIG_PATH: o local do seu arquivo kubeconfig. Se não for especificado, o padrão será ~/.kube/config.

    O identificador da associação é uma string que identifica exclusivamente seu cluster anexado e tem o formato projects/PROJECT_NUMBER/locations/global/memberships/MEMBERSHIP_ID, em que

    • PROJECT_NUMBER é o número do projeto host da frota. Especifique o mesmo número do projeto ao qual seu cluster pertence atualmente

    • MEMBERSHIP_ID: precisa ser o ID da associação da frota do cluster atual. Os clusters anexados ao GKE usarão esse valor como nome do cluster.