Share via


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 e kubelogin use o comando az 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.

  1. 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}
    
  2. 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"
    }
    
  3. 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>
    

Próximas etapas