Migre o seu cluster do AKS

A versão antecessora dos clusters anexados do GKE é conhecida como clusters anexados do GKE (geração anterior). A migração da versão anterior dos clusters anexados do GKE para a geração atual dá-lhe acesso a esta funcionalidade, incluindo a gestão do ciclo de vida e o registo da frota. A migração é uma operação unidirecional: depois de migrar para a geração atual dos clusters anexados do GKE, não é possível voltar aos clusters anexados do GKE (geração anterior).

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

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.

Certifique-se de que o Workload Identity está ativado

Os clusters existentes de clusters anexados do GKE (geração anterior) têm de ter o Workload Identity ativado antes de serem migrados para a geração atual de clusters anexados do GKE.

Para determinar se a WI está ativada, execute o seguinte comando e verifique se existe algum campo de identidade da carga de trabalho no resultado:

gcloud container hub memberships describe MEMBERSHIP_NAME

Se o Workload Identity não estiver ativado, a subscrição tem de ser atualizada para o ativar.

O comando para atualizar a associação do cluster varia ligeiramente consoante tenha configurado o cluster com o emissor OIDC privado predefinido ou o público experimental. Escolha o separador que se aplica ao seu cluster:

Emissor de OIDC privado (predefinição)

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

Substituição:

  • MEMBERSHIP_NAME: o nome da subscrição do seu cluster
  • KUBECONFIG_CONTEXT: contexto no kubeconfig para aceder ao cluster do AKS
  • KUBECONFIG_PATH: caminho para o seu ficheiro kubeconfig

Emissor OIDC público

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

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

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

Substituição:

  • MEMBERSHIP_NAME: o nome da subscrição do seu cluster
  • KUBECONFIG_CONTEXT: contexto no kubeconfig para aceder ao cluster do AKS
  • KUBECONFIG_PATH: caminho para o seu kubeconfig
  • OIDC_URL: o URL do OIDC obtido anteriormente

Migre o seu cluster

Para migrar o cluster de clusters anexados do GKE (geração anterior) para clusters anexados do 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 o cluster para a geração atual dos clusters anexados do GKE. Este comando extrai os detalhes relevantes da configuração do seu cluster e regista o cluster no Google Fleet Management, e instala ou atualiza qualquer software necessário, como o agente do ciclo de vida, no seu 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]
    

    Substituição:

    • GOOGLE_CLOUD_REGION: a Google Cloud localização a partir da qual o cluster é administrado
    • FLEET_MEMBERSHIP: o designador de membro totalmente qualificado do cluster registado (veja abaixo)
    • PLATFORM_VERSION: a versão dos clusters anexados do GKE para a qual 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 seu kubeconfig para estabelecer ligação ao cluster
    • KUBECONFIG_PATH: a localização do seu ficheiro kubeconfig. Se não for especificado, o valor predefinido é ~/.kube/config

    O designador de subscrição é uma string que identifica de forma exclusiva o cluster anexado e tem o formato projects/PROJECT_NUMBER/locations/global/memberships/MEMBERSHIP_ID, em que

    • PROJECT_NUMBER é o número do projeto anfitrião da frota. Tem de especificar o mesmo número do projeto ao qual o cluster pertence atualmente

    • MEMBERSHIP_ID: tem de ser o ID de membro da frota do seu cluster existente. Os clusters anexados do GKE usam este valor como o nome do cluster.

Suporte de identidade da carga de trabalho do Azure

O Azure está a oferecer suporte para WI na pré-visualização pública. A ativação desta funcionalidade altera o URL do emissor OIDC do cluster. Se já registou o seu cluster com um URL OIDC anterior, não pode fazer a atualização para o novo URL, uma vez que este campo não é atualizável atualmente.

Para resolver este problema:

  1. Recrie o cluster com o Workload Identity ativado.
  2. Anexe o cluster do AKS.
  3. Migre as suas cargas de trabalho para o novo cluster.
  4. Elimine o cluster antigo.