Migre seu cluster AKS

A versão predecessora dos clusters anexados ao GKE é conhecida como clusters anexados ao GKE (geração anterior). A migração da versão anterior dos clusters anexados ao GKE para a geração atual dá acesso a essa funcionalidade, incluindo o gerenciamento do ciclo de vida e o registro da frota. A migração é uma operação unidirecional: após a migração para a geração atual de clusters anexados ao GKE, não há como retornar aos clusters anexados ao GKE (geração anterior).

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

Estes documentos referem-se à 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ão do GKE — por exemplo, 1.21.5-gke.1. Ao anexar ou atualizar seu cluster, você deve escolher uma versão da plataforma cuja versão secundária seja igual ou um nível abaixo da versão do Kubernetes do seu cluster. Por exemplo, você pode anexar um cluster executando o Kubernetes v1.22.* com a versão da plataforma 1.21.* ou 1.22.* dos clusters anexados ao GKE.

Isso permite que você atualize seu cluster para a próxima versão secundária antes de atualizar os clusters conectados ao GKE.

Garantir que a Identidade da Carga de Trabalho esteja habilitada

Os clusters existentes de clusters conectados ao GKE (geração anterior) devem ter a Identidade da carga de trabalho ativada antes de serem migrados para a geração atual de clusters conectados ao GKE.

Para determinar se o WI está habilitado, execute o seguinte comando e verifique a saída para qualquer campo Identidade da Carga de Trabalho:

gcloud container hub memberships describe MEMBERSHIP_NAME

Se a Identidade da Carga de Trabalho não estiver habilitada, a associação deverá ser atualizada para habilitá-la.

O comando para atualizar a associação do seu cluster varia ligeiramente, dependendo se você configurou o cluster com o emissor OIDC privado padrão ou com o emissor público experimental. Selecione a aba aplicável ao seu cluster:

Emissor privado de OIDC (padrão)

gcloud container hub memberships register MEMBERSHIP_NAME \
--context=KUBECONFIG_CONTEXT \
--kubeconfig=KUBECONFIG_PATH \
--enable-workload-identity \
--has-private-issuer

Substituir:

  • MEMBERSHIP_NAME : o nome de membro do seu cluster
  • KUBECONFIG_CONTEXT : contexto no kubeconfig para acessar o cluster AKS
  • KUBECONFIG_PATH : caminho para seu arquivo kubeconfig

Emissor público de OIDC

  • Recupere a URL do emissor OIDC do seu cluster com o seguinte comando:
  az aks show -n CLUSTER_NAME \
    -g RESOURCE_GROUP \
    --query "oidcIssuerProfile.issuerUrl" -otsv

A saída deste comando será a URL do seu emissor OIDC. Salve este valor para uso posterior.

  • Atualizar a associação:
gcloud container fleet memberships register MEMBERSHIP_NAME \
--context=KUBECONFIG_CONTEXT \
--kubeconfig=KUBECONFIG_PATH \
--enable-workload-identity \
--public-issuer-url=OIDC_URL

Substituir:

  • MEMBERSHIP_NAME : o nome de membro do seu cluster
  • KUBECONFIG_CONTEXT : contexto no kubeconfig para acessar o cluster AKS
  • KUBECONFIG_PATH : caminho para seu kubeconfig
  • OIDC_URL : a URL do OIDC recuperada anteriormente

Migre seu cluster

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

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

    KUBECONFIG_CONTEXT=$(kubectl config current-context)
    
  2. Execute o seguinte comando para migrar seu cluster para a geração atual de clusters conectados ao GKE. Este comando extrai os detalhes relevantes da configuração do seu cluster, registra-o no Google Fleet Management e instala ou atualiza qualquer software necessário, como o agente de 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]
    

    Substituir:

    • GOOGLE_CLOUD_REGION : a Google Cloud local de onde seu cluster é administrado
    • FLEET_MEMBERSHIP : o designador de associação totalmente qualificado do seu cluster registrado (veja abaixo)
    • PLATFORM_VERSION : a versão dos clusters anexados ao GKE para os quais você deseja 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 em seu kubeconfig para conectar-se ao seu cluster
    • KUBECONFIG_PATH : o local do seu arquivo kubeconfig . Se não for especificado, o padrão é ~/.kube/config

    O designador de associação é uma sequência de caracteres que identifica exclusivamente o cluster anexado e tem o formato projects/ PROJECT_NUMBER /locations/global/memberships/ MEMBERSHIP_ID , onde

    • PROJECT_NUMBER é o número do projeto do host da sua frota. Você deve especificar o mesmo número de projeto daquele ao qual seu cluster pertence atualmente.

    • MEMBERSHIP_ID : este deve ser o ID de associação da frota do seu cluster existente. Os clusters conectados ao GKE usarão este valor como nome do cluster.

Suporte à Identidade de Carga de Trabalho do Azure

O Azure está oferecendo suporte a WI em versão prévia pública. Habilitar esse recurso altera a URL do emissor do OIDC do seu cluster. Se você já registrou seu cluster com uma URL do OIDC anterior, não poderá atualizar para a nova URL, pois esse campo não é atualizável no momento.

Para resolver isso:

  1. Recrie seu cluster com a identidade da carga de trabalho habilitada.
  2. Anexe seu cluster AKS .
  3. Migre suas cargas de trabalho para o novo cluster.
  4. Exclua o cluster antigo.