Migrar o cluster do AKS

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.

O comando para atualizar a assinatura do cluster varia um pouco dependendo de como você configurou o cluster: com o emissor OIDC particular padrão ou com o emissor público experimental. Escolha a guia que se aplica ao cluster:

Emissor do OIDC particular (padrão)

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

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

Emissor do OIDC público

  • Use o seguinte comando para recuperar o URL do emissor do OIDC do cluster:
  az aks show -n CLUSTER_NAME \
    -g RESOURCE_GROUP \
    --query "oidcIssuerProfile.issuerUrl" -otsv

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

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

Suporte para identidade da carga de trabalho do Azure

O Azure está oferecendo suporte para identidade da carga de trabalho na visualização pública. A ativação desse recurso altera o URL do emissor do OIDC do cluster. Se você já tiver registrado o cluster com um URL OIDC anterior, não será possível atualizar para o novo URL, porque esse campo não pode ser atualizado.

Para solucioná-lo:

  1. Recrie seu cluster com a identidade da carga de trabalho ativada.
  2. Anexar o cluster do AKS.
  3. Migre as cargas de trabalho para o novo cluster.
  4. Exclua o cluster antigo.