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:
Extraia o contexto kubeconfig do seu cluster e armazene-o na variável de ambiente KUBECONFIG_CONTEXT:
KUBECONFIG_CONTEXT=$(kubectl config current-context)
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 ougeneric
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 quePROJECT_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:
- Recrie o cluster com o Workload Identity ativado.
- Anexe o cluster do AKS.
- Migre as suas cargas de trabalho para o novo cluster.
- Elimine o cluster antigo.