Compartir a través de


Creación y configuración de espacios de nombres de flota administrada (versión preliminar)

Se aplica a: ✔️ Fleet Manager con clúster central

En este artículo se muestra cómo usar Fleet Manager para crear y configurar un espacio de nombres de flota administrada que defina cuotas de recursos, directivas de red y acceso de usuario delegado para los espacios de nombres en varios clústeres.

Si desea ver o acceder a los espacios de nombres de flota administrada existentes a los que tiene acceso, consulte Visualización y acceso a Espacios de nombres de flota administrada.

Importante

Las características en vista previa de Azure Kubernetes Fleet Manager están disponibles en autoservicio y de manera opcional. Las versiones preliminares se proporcionan "tal cual" y "como están disponibles", y están excluidas de los Acuerdos de nivel de servicio y garantía limitada. Las versiones preliminares de Azure Kubernetes Fleet Manager reciben cobertura parcial del soporte al cliente en la medida de lo posible. Por lo tanto, estas características no están diseñadas para su uso en producción.

Limitaciones conocidas

  • Cuando un espacio de nombres de flota administrada adopta un único clúster del espacio de nombres de Kubernetes administrado o viceversa, puede provocar conflictos de propiedad. Para evitarlo, use una directiva de eliminación de keep tanto para la flota administrada como para los espacios de nombres de Kubernetes.
  • Los clústeres deben ser miembros gestionados por el Fleet Manager que hospeda el espacio de nombres gestionado de la flota.
  • Los clústeres deben tener una versión de Kubernetes de al menos 1.30.0. Los clústeres debajo de esta versión no impedirán que los usuarios del clúster modifiquen los recursos de Kubernetes colocados.
  • Los roles RBAC asignados a un espacio de nombres de una flota administrada conceden acceso equivalente a los espacios de nombres no administrados de Kubernetes con el mismo nombre en los clústeres miembros.

Antes de empezar

  • Para completar este artículo, necesita la versión 2.78.0 o posterior de la CLI de Azure. Para la instalación o la actualización, consulte Instalación de la CLI de Azure.

  • Necesita la versión 1.8.0 o posterior de la extensión de la fleet CLI de Azure. Puede instalarlo y actualizar a la versión más reciente mediante los az extension add comandos y az extension update .

    # Install the extension
    az extension add --name fleet
    
    # Update the extension
    az extension update --name fleet
    
  • Confirme que la versión de la extensión de flota es al menos 1.8.0 con el az extension show comando .

    az extension show --name fleet
    
  • Establezca las siguientes variables de entorno para el identificador de suscripción, el grupo de recursos, la flota y el miembro de flota:

    export SUBSCRIPTION_ID=<subscription-id>
    export GROUP=<resource-group-name>
    export FLEET=<fleet-name>
    export FLEET_ID=<fleet-id>
    
  • Establezca la suscripción de Azure predeterminada mediante el az account set comando .

    az account set --subscription ${SUBSCRIPTION_ID}
    

Crea un nuevo espacio de nombres de Flota Gestionada

Cree un nuevo espacio de nombres de flota administrada mediante el comando az fleet namespace create.

    az fleet namespace create \
        --resource-group $GROUP \
        --fleet-name $FLEET \
        --name my-managed-namespace \ 
        --annotations annotation1=value1 annotation2=value2 \
        --labels team=myTeam label2=value2 \
        --cpu-requests 1m \
        --cpu-limits 4m \
        --memory-requests 1Mi \
        --memory-limits 4Mi \
        --ingress-policy allowAll \
        --egress-policy allowAll \
        --delete-policy keep \
        --adoption-policy never

Nota:

Esta configuración es opcional: directivas de red, cuota de proceso, directiva de eliminación y adopción, etiquetas y anotaciones.

Cuando se usan directivas de red, los usuarios con una acción Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/write, como Azure Kubernetes Service RBAC Writer, en el rol de Microsoft Entra ID que se les asignan, pueden añadir más directivas de red a través de la API de Kubernetes.

Por ejemplo, si un administrador aplica una Deny All directiva para la entrada y salida, y un usuario aplica una Allow directiva para un espacio de nombres a través de la API de Kubernetes, la Allow directiva tiene prioridad sobre la Deny All directiva y el tráfico puede fluir para el espacio de nombres. Este comportamiento aditivo es estándar para las directivas de red.

Asignación de acceso de usuario o grupo

Ahora puede dar acceso a un usuario para el espacio de nombres de flota administrada en los clústeres miembro a través de uno de los roles integrados de RBAC de Azure.

Cree una asignación de roles mediante el az role assignment create comando .

En el ejemplo siguiente se asigna a un usuario el rol Escritor de RBAC de Azure Kubernetes Fleet Manager para clústeres miembros en cualquier clúster que reciba el espacio de nombres de flota administrada my-managed-namespace:

az role assignment create \
    --role "Azure Kubernetes Fleet Manager RBAC Writer for Member Clusters" \
    --assignee <USER-ENTRA-ID> \
    --scope "$FLEET_ID/managedNamespaces/my-managed-namespace"

Adición de clústeres de miembros

Puede controlar a qué clúster de miembros se implementa el espacio de nombres administrado, especificando la lista deseada de nombres de clúster de miembros.

Especifique la lista completa de clústeres de miembros a los que desea implementar el espacio de nombres administrado usando el comando az fleet namespace create con el parámetro --member-cluster-names. El espacio de nombres administrado se propaga a todos los clústeres de la lista.

En este ejemplo, el espacio de nombres administrado se implementa en contoso-prd-01-fm y contoso-prd-02-fm.

az fleet namespace create \
    --resource-group $GROUP \
    --fleet-name $FLEET \
    --name my-managed-namespace \
    --member-cluster-names contoso-prd-01-fm contoso-prd-02-fm

Eliminación de clústeres de miembros

Puede quitar los clústeres miembros de un espacio de nombres de flota administrada excluyéndolos de la lista de clústeres de miembros en la que desea el espacio de nombres.

Especifique la lista de clústeres de miembros en la que desea que el espacio de nombres administrado permanezca usando el az fleet namespace create comando con el --member-cluster-names parámetro . El espacio de nombres administrado se elimina de cualquier clúster que no esté incluido en la lista.

En este ejemplo, se elimina el espacio de nombres administrado de contoso-prd-02-fm.

az fleet namespace create \
    --resource-group $GROUP \
    --fleet-name $FLEET \
    --name my-managed-namespace \
    --member-cluster-names contoso-prd-01-fm

Visualización de la configuración de un espacio de nombres de flota administrada

Vea los detalles de un espacio de nombres de flota administrada específico mediante el az fleet namespace show comando .

az fleet namespace show \ 
    --resource-group $GROUP \ 
    --fleet-name $FLEET \ 
    --name my-managed-namespace \ 
    -o table 

La salida debería ser similar a la salida de ejemplo siguiente:

AdoptionPolicy  DeletePolicy   ETag                                    Location   Name                  ProvisioningState   ResourceGroup
--------------  ------------   -------------------------------------   --------   --------------------  -----------------   -------------
Always          Delete         "aaaaaaaa-0b0b-1c1c-2d2d-333333333333   westus2    my-managed-namespace  Succeeded           test-rg

Eliminación de un espacio de nombres de flota administrada

Elimine un espacio de nombres de flota administrada usando el comando az fleet namespace delete.

az fleet namespace delete \
    --resource-group $GROUP \
    --fleet-name $FLEET \
    --name my-managed-namespace 

Advertencia

Si elimina un espacio de nombres de flota administrada con un DeletePolicy con el valor delete, la acción será permanente. Si no lo puede confirmar, debe actualizar la directiva con keep para mantener el espacio de nombres.

Las asignaciones de RBAC de Azure siempre se eliminan para evitar permisos pendientes.

Creación de un nuevo espacio de nombres de flota administrada

Puede crear un nuevo espacio de nombres de flota administrada desde Fleet Manager o a través del centro de Kubernetes.

Para empezar en Fleet Manager:

  • En Azure Portal, vaya al recurso de Azure Kubernetes Fleet Manager.
  • En el menú de la izquierda, en Recursos de flota, seleccione Espacios de nombres.
  • En el menú, seleccione + Crear y, después, Espacio de nombres de flota administrada.

Captura de pantalla del menú de Azure Portal para crear un espacio de nombres de flota administrada en Azure Kubernetes Fleet Manager.

Iniciando en el centro de Kubernetes:

Captura de pantalla del menú del Centro de Kubernetes en el portal de Azure para crear un espacio de nombres de flota administrada.

  • Seleccione una de las siguientes opciones para Ámbito:
    • Nuevo : cree un nuevo espacio de nombres de Kubernetes que no exista en el clúster del centro de Fleet Manager. Escriba un nombre para el nuevo espacio de nombres.
    • Convertir en Administrado - utilice un espacio de nombres de Kubernetes existente en el clúster central de Fleet Manager. Seleccione el Espacio de nombres en la lista de espacios de nombres en el clúster central del administrador de flota (Fleet Manager).

Captura de pantalla de Azure Portal en la que se muestra la pestaña Aspectos básicos con los detalles del proyecto completados para un nuevo espacio de nombres de flota administrada.

Asignación de acceso de usuario o grupo

Seleccione los usuarios y grupos de Microsoft Entra que tengan acceso al espacio de nombres de la flota administrada en los clústeres en los que se haya distribuido.

Captura de pantalla de Azure Portal en la que se muestran los detalles de acceso completados de un nuevo espacio de nombres de flota administrada.

Nota:

Este paso es opcional. Puede crear y distribuir un espacio de nombres de flota administrada sin asignar usuarios o grupos. Esto le permite distribuir el espacio de nombres sin conceder acceso inmediatamente.

Añadir directivas de red y cuota de cómputo

Controlar el flujo de tráfico de red hacia y hacia fuera del espacio de nombres en cada clúster al que se distribuye, junto con la definición de las cuotas de recursos de CPU y memoria para el espacio de nombres.

Captura de pantalla de Azure Portal en la que se muestran las directivas de red completadas y la cuota de proceso para un nuevo espacio de nombres de flota administrada.

Nota:

Estas opciones de configuración son opcionales. Puede crear y distribuir un espacio de nombres de flota administrada sin directivas de red ni controles de cuota aplicados.

Los usuarios con una acción Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/write, como Azure Kubernetes Service RBAC Writer, en el rol de Microsoft Entra ID que tienen asignado pueden añadir más directivas de red a través de la API de Kubernetes.

Por ejemplo, si un administrador aplica una Deny All directiva para la entrada y salida, y un usuario aplica una Allow directiva para un espacio de nombres a través de la API de Kubernetes, la Allow directiva tiene prioridad sobre la Deny All directiva y el tráfico puede fluir para el espacio de nombres. Este comportamiento aditivo es estándar para las directivas de red.

Selección de clústeres de miembros

Defina los clústeres de miembros a los que distribuir el espacio de nombres administrado al agregarlos de la manera siguiente.

  • En el menú, seleccione + Agregar.
  • En el cuadro de diálogo Seleccionar clústeres de miembros , busque los clústeres de miembros y selecciónelos activando la casilla .
  • Por último, elija Seleccionar para agregar los clústeres de miembros.

Captura de pantalla de Azure Portal en la que se muestran dos clústeres miembros seleccionados para hospedar un nuevo espacio de nombres de flota administrada.

Nota:

Este paso es opcional. Si no proporciona ningún clúster miembro, el Espacio de Nombres de Flota Administrada solo se implementa en el clúster principal de Fleet Manager. Puede agregar clústeres de miembros más adelante.

Configuración de etiquetas, anotaciones y tags

Defina etiquetas y anotaciones opcionales de Kubernetes y etiquetas de Azure Resource Manager (ARM) que proporcionan metadatos que se pueden usar para la automatización y la administración de recursos.

Captura de pantalla de Azure Portal que muestra la configuración de etiquetas y anotaciones para un nuevo espacio de nombres de flota administrada.

Nota:

Este paso es opcional. Puede administrar rótulos, anotaciones y etiquetas más adelante.

Crea el espacio de nombres de flota administrada

Una vez que haya configurado todas las propiedades para el nuevo espacio de nombres de flota administrada, puede confirmar los detalles antes de crear el espacio de nombres seleccionando Crear.

Se inicia inmediatamente una implementación de Azure Resource Manager, lo que hace que se asignen las cargas de trabajo del administrador de flota para distribuir el espacio de nombres en los clústeres seleccionados.

Una vez completada la implementación, puede encontrar el Espacio de Nombres de la Flota Administrada en la lista de espacios de nombres de Fleet Manager.

Captura de pantalla de Azure Portal con el nuevo espacio de nombres de flota administrada, que aparece junto con otros espacios de nombres en el clúster central.

Para revisar la implementación del espacio de nombres de Kubernetes en los clústeres, use Asignaciones de recursos y busque la asignación de recursos que tenga el mismo nombre que el espacio de nombres de flota administrada.

Captura de pantalla de Azure Portal que muestra el estado de ubicación de los recursos del nuevo espacio de nombres de flota administrada.

Configurar el espacio de nombres de flota administrada existente

Puede localizar el espacio de nombres de flota administrada en el administrador de flota o a través del centro de Kubernetes.

Iniciando en Fleet Manager:

  • En Azure Portal, vaya al recurso de Azure Kubernetes Fleet Manager.
  • En el menú de la izquierda, en Recursos de flota, seleccione Espacios de nombres.

Iniciando en el centro de Kubernetes:

Modificación de la configuración

Modifique las directivas de red, las cuotas de recursos, las etiquetas, las anotaciones y las etiquetas seleccionando editar junto al elemento adecuado en la pantalla de información general del espacio de nombres de flota administrada.

Al seleccionar editar junto a etiquetas, anotaciones o etiquetas, se abre un cuadro de diálogo donde puede modificar cualquiera de estos tres elementos.

Al seleccionar editar junto a cualquiera de las opciones de directiva de red o cuota de recursos, se abre un cuadro de diálogo donde puede modificar cualquiera de estos elementos.

Captura de pantalla de Azure Portal que muestra la pantalla de información general de un espacio de nombres de flota administrada con opciones de edición resaltadas en cuadros rojos.

Modificación del acceso de usuario o grupo

Un espacio de nombres de flota administrada es un recurso de Azure Resource Manager (ARM), por lo que es posible administrar del acceso de usuarios y grupos si se selecciona Control de acceso (IAM) en el panel de navegación izquierdo de la pantalla de información general del espacio de nombres de flota administrada.

Modificación de clústeres de miembros

En la vista general del espacio de nombres de la flota administrada, seleccione Clústeres miembros en el panel de navegación izquierdo.

Para quitar clústeres de miembros:

  • Seleccione los clústeres que desea quitar activando la casilla situada a la izquierda de la fila.
  • En el panel de navegación superior, seleccione Quitar.
  • Confirme la acción y seleccione Quitar.

Para agregar clústeres de miembros:

  • En el menú, seleccione + Agregar.
  • En el cuadro de diálogo Agregar clústeres de miembros , busque los clústeres de miembros y selecciónelos activando la casilla .
  • Por último, elija Agregar para agregar los clústeres de miembros.

Captura de pantalla de

Una vez modificados los clústeres que hospedan el espacio de nombres de flota administrada, se actualiza la información general para mostrar los clústeres que hospedan activamente el espacio de nombres.

Eliminación de un espacio de nombres de flota administrada

En la visión general del espacio de nombres de la flota gestionada, seleccione Eliminar en la barra de navegación superior.

En la confirmación de Eliminar espacio de nombres de flota administrada, elija la opción que desee:

  • Mantener el espacio de nombres y eliminar las funcionalidades de administración: el espacio de nombres de flota administrada se convierte en un espacio de nombres de Kubernetes estándar; de esta manera, permanece en el clúster central del administrador de flota y en los clústeres miembros, pero Azure Resource Manager (ARM) lo deja de administrar.
  • Eliminar el espacio de nombres y todos los recursos asociados: se elimina el recurso de ARM del espacio de nombres de flota administrada, junto con el espacio de nombres de Kubernetes en el clúster central del administrador de flota y en los clústeres miembro.

Advertencia

Eliminar el espacio de nombres y todos los recursos asociados es una acción permanente. Si no está seguro, debe optar por mantener el espacio de nombres.

En ambos casos, se eliminan las asignaciones de RBAC de Azure para evitar permisos pendientes.

Pasos siguientes