Compartilhar 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.

  • 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 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. Quando criado através do CLI do Azure, 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. Para obter mais informações, veja a visão geral conceitual dos tipos de frota, que fornece uma comparação de diferentes configurações de frota.

Importante

Depois que um recurso da Frota Kubernetes for criado, será possível atualizar um recurso da Frota Kubernetes sem um cluster de hub para um com cluster de hub. Para recursos do Kubernetes Fleet com um cluster de hub, depois que privado ou público for selecionado, ele não poderá ser alterado.

Se quiser utilizar a Frota apenas para orquestração de atualização, que é a experiência padrão ao criar um novo recurso da Frota através do CLI do Azure, pode criar um recurso da Frota sem o cluster do hub utilizando o comando az fleet create.

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"
}

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