Cluster Manager: Administración de Cluster Manager en Operator Nexus
El administrador de clústeres se implementa en la suscripción de Azure del operador para administrar el ciclo de vida de los clústeres de infraestructura de Operator Nexus.
Antes de empezar
Asegúrese de que tiene la siguiente información:
- Id. de suscripción de Azure: el identificador de suscripción de Azure en el que se debe crear el administrador de clústeres (debe ser el mismo identificador de suscripción del controlador de tejido de red).
- Id. del controlador de tejido de red: el controlador del tejido de red y el administrador de clústeres tienen una asociación 1:1. Necesita que el identificador de recurso de la controladora del tejido de red esté asociada al administrador de clústeres.
- Id. del área de trabajo de Log Analytics: el identificador de recurso del área de trabajo de Log Analytics que se usa para la recopilación de registros.
- Región de Azure: el administrador de clústeres debe crearse en la misma región de Azure que el controlador de tejido de red.
Esta región de Azure debe usarse en el campo
Location
del administrador de clústeres y de todas las instancias de Operator Nexus asociadas.
Limitaciones
- Nomenclatura: Las reglas de nomenclatura se pueden encontrar aquí.
Argumentos globales
Algunos argumentos están disponibles para todos los comandos de la CLI de Azure
- --debug: imprime más información aún sobre las operaciones de la CLI y se utiliza con fines de depuración. Si encuentra un error, proporcione la salida que se genera con la marca
--debug
activada al enviar un informe de errores. - --help -h: imprime información de referencia de la CLI sobre los comandos y sus argumentos y enumera los comandos y subgrupos disponibles.
- --only-show-errors: mostrar solo los errores y suprimir las advertencias.
- --output -o: especifica el formato de salida. Los formatos de salida disponibles son Json, Jsonc (JSON coloreado), tsv (valores separados por tabulaciones), tabla (tablas ASCII legibles) y yaml. De forma predeterminada, la CLI genera Json.
- --query: usa el lenguaje de consulta JMESPath para filtrar los resultados devueltos por los servicios de Azure.
- --verbose: imprime información acerca de los recursos creados en Azure durante una operación y otra información de utilidad
Propiedades del administrador de clústeres
Nombre de propiedad | Descripción |
---|---|
Nombre, id., ubicación, etiquetas, tipo | Nombre: nombre descriptivo Id.: < Identificador del recurso > Ubicación: región de Azure donde se crea el administrador de clústeres. Los valores de: az account list -locations .Etiquetas: etiquetas de recursos Tipo: Microsoft.NetworkCloud/clusterManagers |
managerExtendedLocation | ExtendedLocation asociado al Administrador de clústeres |
managedResourceGroupConfiguration | Información sobre el grupo de recursos administrados |
fabricControllerId | La referencia a la controladora del tejido de red que tiene una relación individual con este administrador de clústeres |
analyticsWorkspaceId | El área de trabajo de Log Analytics donde se retransmitirán los registros relevantes para el cliente. |
clusterVersions[] | La lista de versiones de clúster que admite el administrador de clústeres. Se usa como entrada en la propiedad clusterVersion del clúster. |
provisioningState | El estado de aprovisionamiento de la operación más reciente en el administrador de clústeres. Uno de: correcto, erróneo, cancelado, aprovisionamiento, aceptado, actualización |
detailedStatus | Los estados detallados que proporcionan información adicional sobre el estado del administrador de clústeres. |
detailedStatusMessage | El mensaje descriptivo sobre el estado detallado actual. |
La identidad del administrador de clústeres
A partir de la versión 2024-07-01 de la API, un cliente puede asignar una identidad administrada a un administrador de clúster. Se admiten identidades administradas asignadas por el sistema y asignadas por el usuario.
Si se crea un administrador de clústeres con la identidad administrada asignada por el usuario, es necesario que un cliente aprovisione el acceso a esa identidad para la plataforma Nexus.
En concreto, debe agregarse el permiso Microsoft.ManagedIdentity/userAssignedIdentities/assign/action
a la identidad asignada por el usuario para Microsoft Entra ID AFOI-NC-MGMT-PME-PROD
. Es una limitación conocida de la plataforma que se abordará en el futuro.
La asignación de roles se puede realizar a través de Azure Portal:
- Abra Azure Portal y busque la identidad asignada por el usuario en cuestión.
- Si espera que se aprovisionan varias identidades administradas, el rol se puede agregar en su lugar a nivel de grupo de recursos o de suscripción.
- En
Access control (IAM)
, haga clic en Agregar nueva asignación de roles - Seleccione el rol:
Managed Identity Operator
. Consulte los permisos que proporciona el rol. - Asignar acceso a: usuario, grupo o entidad de servicio
- Seleccione el miembro: aplicación
AFOI-NC-MGMT-PME-PROD
- Revisión y asignación
Creación de un administrador de clústeres
Cree el administrador de clústeres mediante la CLI de Azure:
Use el comando az networkcloud clustermanager create
para crear un administrador de clústeres. Este comando crea un nuevo administrador de clústeres o actualiza las propiedades del administrador de clústeres si existe. Si tiene varias suscripciones de Azure, seleccione el identificador de suscripción adecuado mediante el comando az account set.
az networkcloud clustermanager create \
--name "$CLUSTER_MANAGER_NAME" \
--location "$LOCATION" \
--analytics-workspace-id "$LAW_NAME" \
--fabric-controller-id "$NFC_ID" \
--managed-resource-group-configuration name="$MRG_NAME" location="$MRG_LOCATION" \
--tags $TAG_KEY1="$TAG_VALUE1" $TAG_KEY2="$TAG_VALUE2"
--resource-group "$CLUSTER_MANAGER_RG"
--subscription "$SUB_ID"
- Argumentos
- --name -n [Obligatorio]: el nombre del administrador de clústeres.
- --fabric-controller-id [Obligatorio]: el identificador de recurso del controlador de tejido de red asociado al administrador de clústeres.
- --resource-group -g [Obligatorio]: nombre del grupo de recursos. Puede configurar el grupo de recursos predeterminado mediante
az configure --defaults group=<name>
. - --analytics-workspace-id: el identificador de recurso del área de trabajo de Log Analytics que se usa para la colección de registros
- --location -l: ubicación. Región de Azure donde se crea el administrador de clústeres. Los valores de:
az account list -locations
. Puede configurar la ubicación predeterminada medianteaz configure --defaults location="$LOCATION"
. - --managed-resource-group-configuration: la configuración del grupo de recursos administrado asociado al recurso.
- Uso: --managed-resource-group-configuration location=XX name=XX
- location: la región del grupo de recursos administrado. Si no se especifica, se elige la región del recurso primario.
- name: nombre del grupo de recursos administrado. Si no se especifica, se genera automáticamente un nombre único.
- wait/--no-wait: esperar a que el comando se complete o no esperar a que finalice la operación de ejecución prolongada.
- --tags: etiquetas separadas por espacios: key[=value] [key[=value]...]. Usar '' para borrar las etiquetas existentes
- --subscription: nombre o identificador de la suscripción. Puede configurar la suscripción predeterminada mediante
az account set -s NAME_OR_ID
. - --mi-system-assigned: habilite la identidad administrada asignada por el sistema. Una vez agregada, la identidad solo se puede quitar a través de la llamada API en este momento.
- --mi-user-assigned: identificadores de recursos separados por espacios de las identidades administradas asignadas por el usuario que se van a agregar. Una vez agregada, la identidad solo se puede quitar a través de la llamada API en este momento.
Cree el administrador de clústeres mediante el editor de plantillas de Azure Resource Manager:
Una manera alternativa de crear un administrador de clústeres es con el editor de plantillas de ARM.
Para crear el clúster de esta manera, debe proporcionar un archivo de plantilla (clusterManager.jsonc) y un archivo de parámetros (clusterManager.parameters.jsonc).
Puede encontrar ejemplos de estos dos archivos aquí:
clusterManager.jsonc , clusterManager.parameters.jsonc
Nota:
Para obtener el formato correcto, copie el archivo de código sin formato. Los valores del archivo clusterManager.parameters.jsonc son específicos del cliente y pueden no ser una lista completa. Actualice los campos de valor de su entorno específico.
- En un explorador web, vaya a Azure Portal e inicie sesión.
- En la barra de búsqueda de Azure Portal, busque "Implementar una plantilla personalizada" y, a continuación, selecciónela en los servicios disponibles.
- Haga clic en Compilar su propia plantilla en el editor.
- Haga clic en Cargar archivo. Busque el archivo de plantilla clusterManager.jsonc y cárguelo.
- Haga clic en Save(Guardar).
- Haga clic en Editar parámetros.
- Haga clic en Cargar archivo. Busque el archivo de parámetros clusterManager.parameters.jsonc y cárguelo.
- Haga clic en Save(Guardar).
- Seleccione la suscripción correcta.
- Busque el grupo de recursos si ya existe o cree uno nuevo.
- Asegúrese de que todos los detalles de la instancia son correctos.
- Haga clic en Revisar + crear.
Comandos list y show para administradores de clústeres
Los comandos list y show se usan para obtener una lista de administradores de clústeres existentes o las propiedades de un administrador de clústeres específico.
Enumerar administradores de clústeres en el grupo de recursos
Este comando enumera los administradores de clúster en el grupo de recursos especificado.
az networkcloud clustermanager list --resource-group "$CLUSTER_MANAGER_RG"
Enumerar administradores de clústeres en la suscripción
Este comando enumera los administradores de clúster de la suscripción especificada.
az networkcloud clustermanager list --subscription "$SUB_ID"
Mostrar propiedades del administrador de clústeres
Este comando enumera las propiedades del administrador de clústeres especificado.
az networkcloud clustermanager show \
--name "$CLUSTER_MANAGER_NAME" \
--resource-group "$CLUSTER_MANAGER_RG" \
--subscription "$SUB_ID"
Argumentos del comando list o show
- --name -n: el nombre del administrador de clústeres.
- --IDs: uno o varios identificadores de recursos (delimitados por espacios). Debe ser un identificador de recurso completo que contenga toda la información de los argumentos "Resource ID".
- --resource-group -g: nombre del grupo de recursos. Puede configurar el grupo predeterminado mediante
az configure --defaults group=<name>
. - --subscription: nombre o identificador de la suscripción. Puede configurar la suscripción predeterminada mediante
az account set -s NAME_OR_ID
.
Actualización del administrador de clústeres
Este comando se usa para aplicar revisiones a las propiedades del administrador de clústeres proporcionado o actualizar las etiquetas asignadas al administrador de clústeres. Las propiedades y las actualizaciones de etiquetas se pueden realizar de forma independiente.
az networkcloud clustermanager update \
--name "$CLUSTER_MANAGER_NAME" \
--tags $TAG_KEY1="$TAG_VALUE1" $TAG_KEY2="$TAG_VALUE2" \
--resource-group "$CLUSTER_MANAGER_RG" \
--subscription "$SUB_ID"
- Argumentos
- --tags: etiquetas separadas por TSpace: key[=value] [key[=value] ...]. Use “” para borrar las etiquetas existentes.
- --name -n: el nombre del administrador de clústeres.
- --IDs: uno o varios identificadores de recursos (delimitados por espacios). Debe ser un identificador de recurso completo que contenga toda la información de los argumentos "Resource ID".
- --resource-group -g: nombre del grupo de recursos. Puede configurar el grupo predeterminado mediante
az configure --defaults group=<name>
. - --subscription: nombre o identificador de la suscripción. Puede configurar la suscripción predeterminada mediante
az account set -s NAME_OR_ID
. - --mi-system-assigned: habilite la identidad administrada asignada por el sistema. Una vez agregada, la identidad solo se puede quitar a través de la llamada API en este momento.
- --mi-user-assigned: identificadores de recursos separados por espacios de las identidades administradas asignadas por el usuario que se van a agregar. Una vez agregada, la identidad solo se puede quitar a través de la llamada API en este momento.
Actualización de las identidades del administrador de clústeres a través de las API
Las identidades administradas del administrador de clústeres se pueden asignar a través de la CLI. La anulación de la asignación de las identidades se puede realizar a través de llamadas API.
Nota: <APIVersion>
es la versión de API 2024-07-01 o posterior.
Para quitar todas las identidades administradas, ejecute:
az rest --method PATCH --url /subscriptions/$SUB_ID/resourceGroups/$CLUSTER_MANAGER_RG/providers/Microsoft.NetworkCloud/clusterManagers/$CLUSTER_MANAGER_NAME?api-version=<APIVersion> --body "{\"identity\":{\"type\":\"None\"}}"
Si se agregaron identidades administradas asignadas por el usuario y asignadas por el sistema, se puede quitar el usuario asignado actualizando el
type
aSystemAssigned
:az rest --method PATCH --url /subscriptions/$SUB_ID/resourceGroups/$CLUSTER_MANAGER_RG/providers/Microsoft.NetworkCloud/clusterManagers/$CLUSTER_MANAGER_NAME?api-version=<APIVersion> --body @~/uai-body.json
Ejemplo del cuerpo de la solicitud (uai-body.json):
{ "identity": { "type": "SystemAssigned" } }
Si se agregaron identidades administradas asignadas por el usuario y asignadas por el sistema, se puede quitar el sistema actualizando el
type
aUserAssigned
:az rest --method PATCH --url /subscriptions/$SUB_ID/resourceGroups/$CLUSTER_MANAGER_RG/providers/Microsoft.NetworkCloud/clusterManagers/$CLUSTER_MANAGER_NAME?api-version=<APIVersion> --body @~/uai-body.json
Ejemplo del cuerpo de la solicitud (uai-body.json):
{ "identity": { "type": "UserAssigned", "userAssignedIdentities": { "/subscriptions/$SUB_ID/resourceGroups/$UAI_RESOURCE_GROUP/providers/Microsoft.ManagedIdentity/userAssignedIdentities/$UAI_NAME": {} } } }
Si se agregaron varias identidades administradas asignadas por el usuario, se puede quitar una de ellas ejecutando:
az rest --method PATCH --url /subscriptions/$SUB_ID/resourceGroups/$CLUSTER_MANAGER_RG/providers/Microsoft.NetworkCloud/clusterManagers/$CLUSTER_MANAGER_NAME?api-version=<APIVersion> --body @~/uai-body.json
Ejemplo del cuerpo de la solicitud (uai-body.json):
{ "identity": { "type": "UserAssigned", "userAssignedIdentities": { "/subscriptions/$SUB_ID/resourceGroups/$UAI_RESOURCE_GROUP/providers/Microsoft.ManagedIdentity/userAssignedIdentities/$UAI_NAME": null } } }
Comando delete para el administrador de clústeres
Este comando se usa para eliminar el administrador de clústeres proporcionado.
Advertencia
Es posible que no se elimine un administrador de clústeres que tenga un controlador de tejido de red asociado existente o cualquier clúster que haga referencia a este administrador de clústeres.
az networkcloud clustermanager delete \
--name "$CLUSTER_MANAGER_NAME" \
--resource-group "$CLUSTER_MANAGER_RG" \
--subscription "$SUB_ID"
- Argumentos
- --no-wait: no esperar a que se complete la operación de larga duración.
- --yes -y: no solicitar confirmación.
- --name -n: el nombre del administrador de clústeres.
- --IDs: uno o varios identificadores de recursos (delimitados por espacios). Debe ser un identificador de recurso completo que contenga toda la información de los argumentos "Resource ID".
- --resource-group -g: nombre del grupo de recursos. Puede configurar el grupo predeterminado mediante
az configure --defaults group=<name>
. - --subscription: nombre o identificador de la suscripción. Puede configurar la suscripción predeterminada mediante
az account set -s NAME_OR_ID
.
Pasos siguientes
Después de crear correctamente la controladora del tejido de red y el administrador de clústeres, el siguiente paso es crear un tejido de red.