Início Rápido: Crie um recurso Gerenciador de Frota de Kubernetes do Azure e junte-se a clusters de membros utilizando o CLI do Azure
Introdução ao Gerenciador de Frota de Kubernetes do Azure (Frota) usando a CLI do Azure para criar um recurso da Frota e conectar clusters do AKS (Serviço de Kubernetes do Azure) posteriormente como clusters membros.
Pré-requisitos
Caso você não tenha uma assinatura do Azure, crie uma conta gratuita do Azure antes de começar.
Leia o artigo de visão geral conceitual sobre esse recurso, que fornece uma explicação sobre as frotas e clusters de membros referenciados neste documento.
Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
Uma identidade (usuário ou entidade de serviço) que pode ser usada para fazer login na CLI do Azure. Essa identidade precisa ter as seguintes permissões nos tipos de recursos Frota e AKS para concluir as etapas listadas neste início rápido:
- Microsoft.ContainerService/fleets/read
- Microsoft.ContainerService/fleets/write
- Microsoft.ContainerService/fleets/members/read
- Microsoft.ContainerService/fleets/members/write
- Microsoft.ContainerService/fleetMemberships/read
- Microsoft.ContainerService/fleetMemberships/write
- Microsoft.ContainerService/managedClusters/read
- Microsoft.ContainerService/managedClusters/write
Instale ou atualize a CLI do Azure para a versão
2.53.1
ou posterior.Instale a extensão Frota CLI do Azure usando o comando
az extension add
e certifique-se de que sua versão seja pelo menos1.0.0
.az extension add --name fleet
Defina as seguintes variáveis de ambiente:
export SUBSCRIPTION_ID=<subscription_id> export GROUP=<your_resource_group_name> export FLEET=<your_fleet_name>
Instale
kubectl
ekubelogin
use o comandoaz aks install-cli
.az aks install-cli
Os clusters AKS que pretende juntar como clusters membros ao recurso Fleet precisam de estar dentro das versões suportadas do AKS. Saiba mais sobre a política de suporte à versão do AKS aqui.
Criar um grupo de recursos
Um grupo de recursos do Azure é um grupo lógico no qual os recursos do Azure são implantados e gerenciados. Ao criar um grupo de recursos, você é solicitado a especificar um local. Esse local é o local de armazenamento dos metadados do seu grupo de recursos e onde os seus recursos são executados no Azure se não especificar outro local durante a criação de recursos.
Defina a assinatura do Azure e crie um grupo de recursos usando o comando az group create
.
az account set -s ${SUBSCRIPTION_ID}
az group create --name ${GROUP} --location eastus
O exemplo de saída a seguir é semelhante à criação bem-sucedida do grupo de recursos:
{
"id": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/fleet-demo",
"location": "eastus",
"managedBy": null,
"name": "fleet-demo",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null,
"type": "Microsoft.Resources/resourceGroups"
}
Criar um recurso da Frota
Você pode criar um recurso de frota para agrupar posteriormente seus clusters AKS como clusters membros. Por padrão, esse recurso permite o agrupamento de clusters de membros e a orquestração de atualizações. Se o hub Frota estiver habilitado, outra versão prévia do recurso será habilitado, como propagação de objeto Kubernetes para clusters membros e balanceamento de carga de serviço L4 em vários clusters membros.
Importante
A partir de agora, depois de criado um recurso de frota, não é possível alterar o modo de hub do recurso de frota.
Opção 1 – Criar uma frota sem cluster de hub
Se quiser usar o Fleet apenas para orquestração de atualização, que é a experiência padrão ao criar um novo recurso do Fleet, você poderá criar um recurso do Fleet sem o cluster de hub usando o comando az fleet create
. Para obter mais informações, veja O que é um cluster de hub (versão prévia)?.
az fleet create --resource-group ${GROUP} --name ${FLEET} --location eastus
Seu resultado deve ser semelhante ao seguinte exemplo de saída:
{
"etag": "...",
"hubProfile": null,
"id": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/fleet-demo/providers/Microsoft.ContainerService/fleets/fleet-demo",
"identity": {
"principalId": null,
"tenantId": null,
"type": "None",
"userAssignedIdentities": null
},
"location": "eastus",
"name": "fleet-demo",
"provisioningState": "Succeeded",
"resourceGroup": "fleet-demo",
"systemData": {
"createdAt": "2023-11-03T17:15:19.610149+00:00",
"createdBy": "<user>",
"createdByType": "User",
"lastModifiedAt": "2023-11-03T17:15:19.610149+00:00",
"lastModifiedBy": "<user>",
"lastModifiedByType": "User"
},
"tags": null,
"type": "Microsoft.ContainerService/fleets"
}
Opção 2 – Criar uma frota com um cluster de hub
Se você quiser usar a propagação de objetos do Fleet for Kubernetes e o balanceamento de carga de vários clusters, além da orquestração de atualização, será necessário criar o recurso Fleet com o cluster de hub habilitado, especificando o parâmetro --enable-hub
com o comando az fleet create
.
az fleet create --resource-group ${GROUP} --name ${FLEET} --location eastus --enable-hub
Sua saída deve ser semelhante à saída de exemplo da seção anterior.
Ingressar em clusters membros
Atualmente, a Frota dá suporte ao ingresso de clusters AKS existentes como clusters de membros.
Configure as seguintes variáveis de ambiente para clusters membros:
export MEMBER_NAME_1=aks-member-1 export MEMBER_CLUSTER_ID_1=/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${GROUP}/providers/Microsoft.ContainerService/managedClusters/${MEMBER_NAME_1}
Junte os seus clusters AKS existentes ao recurso Fleet utilizando o comando
az fleet member create
.# Join the first member cluster az fleet member create --resource-group ${GROUP} --fleet-name ${FLEET} --name ${MEMBER_NAME_1} --member-cluster-id ${MEMBER_CLUSTER_ID_1}
Seu resultado deve ser semelhante ao seguinte exemplo de saída:
{ "clusterResourceId": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<GROUP>/providers/Microsoft.ContainerService/managedClusters/aks-member-x", "etag": "...", "id": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<GROUP>/providers/Microsoft.ContainerService/fleets/<FLEET>/members/aks-member-x", "name": "aks-member-1", "provisioningState": "Succeeded", "resourceGroup": "<GROUP>", "systemData": { "createdAt": "2022-10-04T19:04:56.455813+00:00", "createdBy": "<user>", "createdByType": "User", "lastModifiedAt": "2022-10-04T19:04:56.455813+00:00", "lastModifiedBy": "<user>", "lastModifiedByType": "User" }, "type": "Microsoft.ContainerService/fleets/members" }
Verifique se os clusters membros ingressaram com êxito no recurso Fleet usando o comando
az fleet member list
.az fleet member list --resource-group ${GROUP} --fleet-name ${FLEET} -o table
Se for bem-sucedido, sua saída deverá ser semelhante ao seguinte exemplo de saída:
ClusterResourceId Name ProvisioningState ResourceGroup ----------------------------------------------------------------------------------------------------------------------------------------------- ------------ ------------------- --------------- /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<GROUP>/providers/Microsoft.ContainerService/managedClusters/aks-member-1 aks-member-1 Succeeded <GROUP> /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<GROUP>/providers/Microsoft.ContainerService/managedClusters/aks-member-2 aks-member-2 Succeeded <GROUP> /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<GROUP>/providers/Microsoft.ContainerService/managedClusters/aks-member-3 aks-member-3 Succeeded <GROUP>