Share via


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

Empiece a trabajar con Azure Kubernetes Fleet Manager (Fleet) mediante la CLI de Azure para crear un recurso Fleet y, posteriormente, conectar clústeres de Azure Kubernetes Service (AKS) como clústeres miembro.

Requisitos previos

Si no tiene una suscripción a Azure, cree una cuenta gratuita de Azure antes de empezar.

  • Siga la introducción conceptual de esta característica, que proporciona una explicación de las flotas y los clústeres de 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
  • Instalación o actualización de la CLI de Azure a la versión 2.53.1 o posterior.

  • Instale la extensiónde la CLI de Azure mediante el comando az extension add y Asegúrese de que la versión sea al menos 1.0.0.

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

    export SUBSCRIPTION_ID=<subscription_id>
    export GROUP=<your_resource_group_name>
    export FLEET=<your_fleet_name>
    
  • Instale kubectl y kubelogin mediante el comando az aks install-cli.

    az aks install-cli
    
  • Los clústeres de AKS que desea unir como clústeres miembro al recurso Fleet deben estar dentro de las versiones admitidas de 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 eastus

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

Creación de un recurso Fleet

Puede crear un recurso Fleet para agrupar posteriormente los clústeres de AKS como clústeres miembro. Cuando se crea por medio de la CLI de Azure, de forma predeterminada, este recurso habilita la agrupación de clústeres miembro y la orquestación de actualizaciones. Si el centro de flota está habilitado, se habilitan otras características en versión preliminar, como la propagación de objetos de Kubernetes a los clústeres miembro y el equilibrio de carga del servicio L4 en 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

Una vez creado un recurso de Kubernetes Fleet, es posible actualizar un recurso de Kubernetes Fleet sin un clúster de concentrador a uno con un clúster de concentrador. En el caso de los recursos de Kubernetes Fleet con un clúster de concentrador, una vez que se ha seleccionado privado o público, no se puede cambiar.

Si quiere usar Fleet solo para la orquestación de actualizaciones, que es la experiencia predeterminada al crear un nuevo recurso de Fleet mediante la CLI de Azure, puede crear un recurso de Fleet sin el clúster del concentrador mediante el comando az fleet create.

az fleet create --resource-group ${GROUP} --name ${FLEET} --location eastus

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

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.

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

    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