Compartir a través de


Inicio rápido: Creación de un administrador de flotas de Azure Kubernetes y unión a clústeres de miembros mediante la CLI de Azure

Comience con Azure Kubernetes Fleet Manager usando la CLI de Azure para crear un Administrador de Flotas y conectar clústeres de Azure Kubernetes Service (AKS) como clústeres miembros.

Requisitos previos

Si no tiene una cuenta de Azure, cree una cuenta gratuita antes de comenzar.

  • Lea la introducción conceptual de Fleet Manager, que proporciona una explicación de las flotas y los clústeres miembros a los que se hace referencia en este documento.

  • Lea la introducción conceptual de los tipos de flota, que proporciona una comparación de las distintas opciones de configuración de flota.

  • Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.

  • Una identidad (usuario o entidad de servicio) que se puede usar para iniciar sesión en la CLI de Azure. Esta identidad debe tener los permisos siguientes en los tipos de recursos de AKS y Fleet para completar los pasos indicados en este inicio 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
  • Tenga instalada la versión 2.70.0 o posterior de la CLI de Azure. Para la instalación o la actualización, consulte Instalación de la CLI de Azure.

  • También necesita la versión 1.5.0 o posterior de la extensión de la fleet CLI de Azure, que puede instalar mediante la ejecución del siguiente comando:

    az extension add --name fleet
    

    Ejecute el siguiente comando para actualizar a la versión más reciente de la extensión publicada:

    az extension update --name fleet
    
  • Establezca estas variables de entorno:

    export SUBSCRIPTION_ID=<subscription_id>
    export GROUP=<your_resource_group_name>
    export FLEET=<your_fleet_name>
    export LOCATION=<azure-region-name>
    
  • Instale kubectl con el az aks install-cli comando .

    az aks install-cli
    
  • Los clústeres de AKS que quiere unir como clústeres miembros deben ejecutar versiones de Kubernetes compatibles con AKS. Aquí encontrará más información sobre la directiva de compatibilidad con versiones de AKS.

Crear un grupo de recursos

Un grupo de recursos de Azure es un grupo lógico en el que se implementan y administran recursos de Azure. Cuando crea un grupo de recursos, se le pide que especifique una ubicación. Esta ubicación es la ubicación de almacenamiento de los metadatos del grupo de recursos y dónde se ejecutan los recursos en Azure si no especifica otra ubicación durante la creación de recursos.

Establezca la suscripción de Azure y cree un grupo de recursos mediante el comando az group create.

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

El ejemplo de salida siguiente es similar a la creación correcta del 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"
}

Creación de un recurso de Fleet Manager

Puede crear un Administrador de flotas en cualquier momento, seleccionando para agregar más adelante los clústeres de AKS como clústeres miembro. Cuando se crea a través de la CLI de Azure, de forma predeterminada, Fleet Manager habilita la agrupación de clústeres miembro y la orquestación de actualizaciones. Si Fleet Manager se crea con un clúster de concentrador, es posible la colocación inteligente de objetos de Kubernetes y el equilibrio de carga entre varios clústeres de miembros. Para obtener más información, consulte la introducción conceptual de los tipos de flota, que proporciona una comparación de diferentes configuraciones de flota.

Importante

Puede cambiar de un administrador de flotas sin un clúster de concentrador a uno con un clúster de concentrador, pero no al revés. En el caso de los responsables de flotas con un clúster central, una vez seleccionado el acceso privado o público, no se puede cambiar.

Si desea usar Fleet Manager solo para la orquestación de actualizaciones de imágenes de nodo o Kubernetes, puede crear un recurso Fleet sin el clúster del concentrador mediante el az fleet create comando .

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

El resultado debería ser similar al ejemplo siguiente:

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

Combinación de clústeres miembro

Fleet admite actualmente la combinación de los clústeres de AKS existentes como clústeres miembro.

  1. Establezca las siguientes variables de entorno para los clústeres miembro:

    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. Una los clústeres de AKS existentes al recurso Fleet mediante el comando az fleet member create.

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

    El resultado debería ser similar al ejemplo siguiente:

    {
      "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. Compruebe que los clústeres miembro se han unido correctamente al recurso de Fleet mediante el comando az fleet member list.

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

    Si se ejecuta correctamente, la salida debe ser similar a la de ejemplo siguiente:

    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>
    

Pasos siguientes