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.
- Instale ou atualize a CLI do Azure para a última versão.
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- Você deve ter um recurso existente de Frota de Kubernetes sem um cluster de hub. As etapas neste artigo mostram como criar um recurso de Frota de Kubernetes sem um cluster de hub. Se você já tiver um, ignore a configuração inicial e comece em Atualizar o tipo de cluster do hub para o recurso da Frota do Kubernetes.
- Este artigo também inclui etapas sobre como ingressar em clusters de membros. Se você planeja acompanhar, precisará ter pelo menos um cluster do AKS.
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:
Azure Kubernetes Service