Compartilhar via


Atualizar o tipo de cluster do hub para o recurso do Gerenciador de Frota de Kubernetes do Azure

Neste artigo, você aprenderá a atualizar um recurso do Gerenciador de Frota de Kubernetes do Azure (Kubernetes Fleet) sem um cluster de hub para um recurso de Frota de Kubernetes que tenha um cluster de hub. Quando um recurso de Frota de Kubernetes é criado sem um cluster de hub, um cluster central do Serviço de Kubernetes do Azure (AKS) não é criado para o recurso de Frota de Kubernetes. Quando um recurso de Frota de Kubernetes com um cluster de hub é criado, um cluster central e gerenciado do AKS é criado para habilitar cenários como orquestração de carga de trabalho e balanceamento de carga de camada 4.

Para obter mais informações, confira Escolher uma opção do Gerenciador de Frota de Kubernetes do Azure.

Pré-requisitos e limitações

Caso você não tenha uma assinatura do Azure, crie uma conta gratuita do Azure antes de começar.

Importante

Os recursos de Frota de Kubernetes sem um cluster de hub podem ser atualizados para um recurso de Frota de Kubernetes com um cluster de hub. No entanto, um recurso de Frota de Kubernetes que já tem um cluster de hub não pode ser rebaixado para um recurso de Frota de Kubernetes sem um cluster de hub. Todas as opções de configuração e configurações associadas ao recurso de Frota de Kubernetes que tem um cluster de hub são imutáveis e não podem ser alteradas após a criação ou o tempo de atualização. A atualização de um recurso de Frota de Kubernetes sem um cluster de hub para um com um cluster de hub só pode ser feita por meio da CLI do Azure. Atualmente, não há nenhuma experiência equivalente do portal do Azure.

Instalação inicial

Para começar, crie um grupo de recursos e um recurso de Frota de Kubernetes sem um cluster de hub e ingresse no cluster do AKS existente como membro. Você precisará repetir o comando az fleet member create para cada cluster de membros individual que deseja associar ao recurso de frota.

RG=myResourceGroup
LOCATION=eastus
FLEET=myKubernetesFleet
FLEET_MEMBER=<name-identifying-member-cluster>
SUBSCRIPTION_ID=<your-subscription-id>
CLUSTER=<your-aks-cluster-name>

# Create resource group
az group create -n $RG -l $LOCATION

# Create a hubless fleet resource 
az fleet create -g $RG -n $FLEET

# Join member cluster to hubless fleet resource
az fleet member create --name $FLEET_MEMBER --fleet-name $FLEET --resource-group $RG --member-cluster-id /subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RG/providers/Microsoft.ContainerService/managedClusters/$CLUSTER

Atualizar o tipo de cluster do hub para o recurso de Frota de Kubernetes

Para atualizar o tipo de cluster de hub para o recurso da Frota do Kubernetes, use o comando az fleet create com o conjunto de sinalizadores --enable-hub. Certifique-se de incluir outras opções de configuração relevantes, pois o recurso de frota se tornará imutável após a conclusão desta operação.

# Upgrade the Kubernetes fleet resource without a hub cluster to one with a hub cluster
az fleet create --name $FLEET --resource-group $RG --enable-hub 

Validar a atualização

Depois de executar o comando az fleet create para atualizar o recurso de frota, verifique se a atualização foi bem-sucedida exibindo a saída. O provisioningState deve exibir Succeeded e o campo hubProfile deve existir. Por exemplo, confira a seguinte saída:

{
  ...
  "hubProfile": {
    "agentProfile": {
      "subnetId": null,
      "vmSize": null
    },
    "apiServerAccessProfile": {
      "enablePrivateCluster": false,
      "enableVnetIntegration": false,
      "subnetId": null
    },
    "dnsPrefix": "contoso-user-xxxx-xxxxxxx",
    "fqdn": "contoso-user-flth-xxxxxx-xxxxxxxx.hcp.eastus.azmk8s.io",
    "kubernetesVersion": "1.28.5",
    "portalFqdn": "contoso-user-flth-xxxxxxx-xxxxxxxx.portal.hcp.eastus.azmk8s.io"
  },
  "provisioningState": "Succeeded"
  ...
}

Reencontrar clusters de membro

Para reintegrar clusters membros ao recurso de frota de atualização recente, use o comando az fleet member reconcile para cada cluster de membro individual.

az fleet member reconcile -g $RG -f $FLEET -n $FLEET_MEMBER

Observação

Todos os clusters do AKS que você está ingressando no recurso de frota pela primeira vez após a atualização já ter ocorrido não precisam ser reconciliados usando az fleet member reconcile.

Verificar os clusters de membro ingressados com êxito

Para cada cluster de membros que você reingressar na frota recém-atualizada, exiba a saída e verifique se provisioningState exibe Succeeded. Por exemplo:

{
  ...
  "provisioningState": "Succeeded"
  ...
}

Verificar a funcionalidade

Você precisa de acesso à API do Kubernetes do cluster de hub. Se você não tiver acesso, confira Acessar a API do Kubernetes do cluster do hub da Frota.

Para verificar se o recurso recém-atualizado de Frota de Kubernetes está funcionando corretamente e se os clusters membros ingressaram com êxito, confirme se você pode acessar o servidor de API do cluster de hub usando o comando kubectl get memberclusters.

Se for bem-sucedido, sua saída deverá ser semelhante ao seguinte exemplo de saída:

NAME           JOINED   AGE
aks-member-1   True     2m
aks-member-2   True     2m
aks-member-3   True     2m

Limpar os recursos

Depois de terminar, você poderá remover o recurso de frota e os recursos relacionados excluindo o grupo de recursos. Tenha em mente que esta operação não removerá os clusters do AKS se eles residirem em um grupo de recursos diferente.

az group delete -n $RG

Próximas etapas

Agora que o recurso de Frota de Kubernetes foi atualizado para ter um cluster de hub, você pode aproveitar os recursos que estavam anteriormente indisponíveis para você. Por exemplo, consulte: