Partilhar via


Guia de início rápido: criar um Gerenciador de Frota do Kubernetes do Azure e ingressar em clusters de membros usando a CLI do Azure

Comece a usar o Azure Kubernetes Fleet Manager usando a CLI do Azure para criar um Fleet Manager e ingressar em clusters do Serviço Kubernetes do Azure (AKS) como clusters membros.

Pré-requisitos

Se não tiver uma conta do Azure, crie uma conta gratuita antes de começar.

  • Leia a visão geral conceitual do Fleet Manager, que fornece uma explicação das frotas e clusters de membros referenciados neste documento.

  • Leia a visão geral conceitual dos tipos de frota, que fornece uma comparação de diferentes opções de configuração de frota.

  • Uma conta do Azure com uma subscrição ativa. Crie uma conta gratuitamente.

  • Uma identidade (usuário ou entidade de serviço) que pode ser usada para fazer logon na CLI do Azure. Essa identidade precisa ter as seguintes permissões nos tipos de recursos Fleet e AKS para concluir as etapas listadas neste início rápido:

    • Microsoft.ContainerService/fleets/read
    • Microsoft.ContainerService/fleets/write
    • Microsoft.ContainerService/frotas/membros/read
    • Microsoft.ContainerService/frotas/membros/escrever
    • Microsoft.ContainerService/fleetMemberships/read
    • Microsoft.ContainerService/fleetMemberships/write
    • Microsoft.ContainerService/managedClusters/read
    • Microsoft.ContainerService/managedClusters/escrever
  • Tenha a CLI do Azure versão 2.70.0 ou posterior instalada. Para instalar ou atualizar, consulte Instalar a CLI do Azure.

  • Você também precisa da fleet extensão CLI do Azure versão 1.5.2 ou posterior, que pode ser instalada executando o seguinte comando:

    az extension add --name fleet
    

    Execute o seguinte comando para atualizar para a versão mais recente da extensão lançada:

    az extension update --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>
    export LOCATION=<azure-region-name>
    
  • Instale kubectl usando o az aks install-cli comando.

    az aks install-cli
    
  • Os clusters AKS dos quais pretenda adesão como clusters membros precisam estar a executar versões do Kubernetes suportadas pelo AKS. Saiba mais sobre a política de suporte da 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ê será solicitado a especificar um local. Esse local é o local de armazenamento dos metadados do grupo de recursos e onde os recursos são executados no Azure se você não especificar outro local durante a criação do recurso.

Defina a assinatura do Azure e crie um grupo de recursos usando o az group create comando.

az account set -s ${SUBSCRIPTION_ID}
az group create --name ${GROUP} --___location ${LOCATION}

O exemplo de saída a seguir é semelhante à criação bem-sucedida do grupo de recursos:

{
  "id": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/fleet-demo",
  "___location": "<LOCATION>",
  "managedBy": null,
  "name": "fleet-demo",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "tags": null,
  "type": "Microsoft.Resources/resourceGroups"
}

Criar um recurso do Fleet Manager

Você pode criar um Fleet Manager a qualquer momento e adicionar posteriormente seus clusters AKS como clusters membros. Quando criado por meio da CLI do Azure, por padrão, o Fleet Manager habilita o agrupamento de clusters de membros e a orquestração de atualizações. Se o Fleet Manager for criado com um cluster de hub, o posicionamento inteligente de objetos do Kubernetes e o balanceamento de carga entre vários clusters membros serão possíveis. Para obter mais informações, consulte a visão geral conceitual dos tipos de frota, que fornece uma comparação de diferentes configurações de frota.

Importante

Você pode mudar de um Fleet Manager sem um cluster de hub para um com um cluster de hub, mas não o inverso. Para Gestores de Frota com um cluster de hubs, uma vez selecionado o acesso privado ou público, este não pode ser alterado.

Se quiser usar o Fleet Manager apenas para Kubernetes ou orquestração de atualização de imagem de nó, você pode criar um recurso do Fleet sem o cluster de hub usando o az fleet create comando.

az fleet create \
    --resource-group ${GROUP} \
    --name ${FLEET} \
    --___location ${LOCATION} \
    --enable-managed-identity

Sua saída deve ser semelhante à saída de exemplo a seguir:

{
  "etag": "...",
  "hubProfile": null,
  "id": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/fleet-demo/providers/Microsoft.ContainerService/fleets/fleet-demo",
  "identity": {
    "principalId": <system-identity-id>,
    "tenantId": <entra-tenant-id>,
    "type": "SystemAssigned",
    "userAssignedIdentities": null
  },
  "___location": "<LOCATION>",
  "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"
}

Junte-se a clusters de membros

Atualmente, a Fleet suporta a adesão de clusters AKS existentes como clusters de membros.

  1. Defina 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 seus clusters AKS existentes ao recurso Fleet usando o az fleet member create comando.

    az fleet member create \
        --resource-group ${GROUP} \
        --fleet-name ${FLEET} \
        --name ${MEMBER_NAME_1} \
        --member-cluster-id ${MEMBER_CLUSTER_ID_1}
    

    Sua saída deve ser semelhante à saída de exemplo a seguir:

    {
      "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 az fleet member list comando.

    az fleet member list \
        --resource-group ${GROUP} \
        --fleet-name ${FLEET} \
        -o table
    

    Se for bem-sucedida, sua saída deverá ser semelhante à saída de exemplo a seguir:

    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óximos passos