Gestionnaire de cluster : comment gérer le gestionnaire de cluster dans Operator Nexus
Le gestionnaire de cluster est déployé dans l’abonnement Azure de l’opérateur pour gérer le cycle de vie des clusters de l’infrastructure Operator Nexus.
Avant de commencer
Veillez à disposer des informations suivantes :
- ID d’abonnement Azure : ID d’abonnement Azure où le gestionnaire de cluster doit être créé (doit être le même ID d’abonnement que le contrôleur de structure réseau).
- ID du contrôleur de structure réseau : le contrôleur de structure réseau et le gestionnaire de cluster présentent une association individuelle. Vous avez besoin de l’ID de ressource du contrôleur de structure réseau associé au gestionnaire de cluster.
- ID de l’espace de travail Log Analytics : ID de ressource de l’espace de travail Log Analytics utilisé pour la collection de journaux.
- Région Azure : le gestionnaire de cluster doit être créé dans la même région Azure que le contrôleur de structure réseau.
Cette région Azure doit être utilisée dans le champ
Location
du gestionnaire de cluster et toutes les instances Operator Nexus associées.
Limites
- Nommage : les règles de nommage sont disponibles ici.
Arguments globaux
Certains arguments sont disponibles pour chaque commande Azure CLI.
- --debug : imprime davantage d’informations sur les opérations CLI, utilisées pour le débogage. Si vous rencontrez un bogue, fournissez la sortie générée avec l’indicateur
--debug
lors de l’envoi d’un rapport de bogue. - --help -h : imprime les informations de référence CLI sur les commandes et leurs arguments, et répertorie les commandes et sous-groupes disponibles.
- --only-show-errors : affiche uniquement les erreurs, en supprimant les avertissements.
- --output -o : spécifie le format de sortie. Les formats de sortie disponibles sont Json, Jsonc (JSON colorisé), tsv (valeurs séparées par des tabulations), table (tables ASCII lisibles par l’homme) et yaml. Par défaut, l’interface CLI génère du code Json.
- --query : utilise le langage de requête JMESPath pour filtrer la sortie retournée par les services Azure.
- --verbose : imprime les informations sur les ressources créées dans Azure pendant une opération ainsi que diverses autres informations utiles.
Propriétés du gestionnaire de cluster
Nom de la propriété | Description |
---|---|
Nom, ID, emplacement, balises, type | Nom : nom convivial de l’utilisateur ID : < ID de ressource > Emplacement : région Azure où le gestionnaire de cluster est créé. Valeurs provenant de : az account list -locations .Balises : balises de ressource Type : Microsoft.NetworkCloud/clusterManagers |
managerExtendedLocation | ExtendedLocation associé au gestionnaire de cluster |
managedResourceGroupConfiguration | Informations sur le groupe de ressources managées |
fabricControllerId | Référence au contrôleur de structure réseau associé ce gestionnaire de cluster |
analyticsWorkspaceId | Espace de travail Log Analytics où tous les journaux pertinents pour le client sont relayés. |
clusterVersions[] | Liste de versions de cluster prises en charge par le gestionnaire de cluster. Elle est utilisée comme entrée dans la propriété clusterVersion. |
provisioningState | État d’approvisionnement de la dernière opération sur le gestionnaire de cluster. Un de ce qui suit : Échec, Annulé, Approvisionnement, Accepté, Mise à jour |
detailedStatus | États détaillés qui fournissent des informations supplémentaires sur l’état du gestionnaire de cluster. |
detailedStatusMessage | Message descriptif sur l’état détaillé actuel. |
Identité du gestionnaire de cluster
À compter de la version d’API 2024-07-01, un client peut attribuer une identité managée à un gestionnaire de cluster. Les identités managées affectées par le système et affectées par l’utilisateur sont prises en charge.
Si vous créez un gestionnaire de cluster avec l’identité managée affectée par l’utilisateur, un client doit approvisionner l’accès à cette identité pour la plateforme Nexus.
Plus particulièrement, l’autorisation Microsoft.ManagedIdentity/userAssignedIdentities/assign/action
doit être ajoutée à l’identité affectée par l’utilisateur pour Microsoft Entra ID AFOI-NC-MGMT-PME-PROD
. Il s’agit d’une limitation connue de la plateforme qui sera résolue à l’avenir.
L’attribution de rôle peut être effectuée via le Portail Azure :
- Ouvrez le Portail Azure et recherchez l’identité affectée par l’utilisateur en question.
- Si vous attendez plusieurs identités managées approvisionnées, vous pouvez ajouter le rôle au niveau de l’abonnement ou du groupe de ressources.
- Sous
Access control (IAM)
, cliquez sur Ajouter une attribution de rôle - Sélectionner un rôle :
Managed Identity Operator
Consultez les autorisations attribuées par le rôle. - Attribuer l’accès à : Utilisateur, groupe ou principal de service
- Sélectionner un membre : application
AFOI-NC-MGMT-PME-PROD
- Examiner et affecter
Créer un gestionnaire de cluster
Créez le gestionnaire de cluster en utilisant l’interface Azure CLI :
Utilisez la commande az networkcloud clustermanager create
pour créer un gestionnaire de cluster. Cette commande crée un gestionnaire de cluster ou met à jour les propriétés du gestionnaire de cluster s’il existe. Si vous avez plusieurs abonnements Azure, sélectionnez l’ID d’abonnement approprié à l’aide de la commande 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"
- Arguments
- --name -n [Obligatoire] : nom du gestionnaire de cluster.
- --fabric-controller-id [Obligatoire] : ID de ressource du contrôleur de structure réseau associé au gestionnaire de cluster.
- --resource-group -g [Obligatoire] : nom du groupe de ressources. Vous pouvez configurer le groupe de ressources par défaut en utilisant
az configure --defaults group=<name>
. - --analytics-workspace-id : ID de ressource de l’espace de travail Log Analytics utilisé pour la collection de journaux
- --location -l : emplacement. Région Azure où le gestionnaire de cluster est créé. Valeurs provenant de :
az account list -locations
. Vous pouvez configurer le lieu par défaut en utilisantaz configure --defaults location="$LOCATION"
. - --managed-resource-group-configuration : configuration du groupe de ressources managées associé à la ressource.
- Utilisation : --managed-resource-group-configuration location=XX name=XX
- location : région du groupe de ressources managées. Si elle n’est pas spécifiée, la région de la ressource parente est choisie.
- name : nom du groupe de ressources managées. S’il n’est pas spécifié, le nom du groupe est généré automatiquement.
- wait/-no-wait : attendre la fin de la commande ou ne pas attendre la fin de l’opération de longue durée.
- --tags : étiquettes séparées par des espaces : clé[=valeur] [clé[=valeur]...]. Utiliser '' pour effacer les balises existantes
- --subscription : nom ou ID de l’abonnement. Vous pouvez configurer l’abonnement par défaut en utilisant
az account set -s NAME_OR_ID
. - --mi-system-assigned : activez l’identité managée affectée par le système. Une fois ajoutée, l’identité peut uniquement être supprimée via l’appel d’API pour le moment.
- --mi-user-assigned : les ID de ressource séparés par des espaces des identités managées par l’utilisateur à ajouter. Une fois ajoutée, l’identité peut uniquement être supprimée via l’appel d’API pour le moment.
Créez le gestionnaire de cluster à l’aide de l’éditeur de modèle Azure Resource Manager :
Une autre façon de créer un gestionnaire de cluster est avec l’éditeur de modèle ARM.
Pour créer le cluster de cette façon, vous devez fournir un fichier de modèle (clusterManager.jsonc) et un fichier de paramètres (clusterManager.parameters.jsonc).
Vous trouverez des exemples de ces deux fichiers ici :
clusterManager.jsonc, clusterManager.parameters.jsonc
Remarque
Pour obtenir la mise en forme correcte, copiez le fichier de code brut. Les valeurs du fichier clusterManager.parameters.jsonc sont spécifiques au client et peuvent ne pas constituer une liste exhaustive. Veuillez mettre à jour les champs de valeurs en fonction de votre environnement.
- Dans un navigateur web, accédez au portail Azure et connectez-vous à votre compte.
- Dans la barre de recherche du portail Azure, recherchez « Déployer un modèle personnalisé », puis sélectionnez cette option parmi les services disponibles.
- Cliquez sur Créer votre propre modèle dans l’éditeur.
- Cliquez sur Charger le fichier. Recherchez votre fichier de modèle clusterManager.jsonc et chargez-le.
- Cliquez sur Enregistrer.
- Cliquez sur Modifier les paramètres.
- Cliquez sur Charger le fichier. Recherchez votre fichier de paramètres clusterManager.parameters.jsonc et chargez-le.
- Cliquez sur Enregistrer.
- Sélectionnez l’abonnement approprié.
- Recherchez le groupe de ressources s’il existe déjà ou créez-en un.
- Vérifiez que tous les détails de l’instance sont corrects.
- Cliquez sur Vérifier + créer.
Répertorier/afficher le ou les gestionnaires de cluster
Les commandes list et show permettent d’obtenir la liste des gestionnaires de cluster existants ou les propriétés d’un gestionnaire de cluster spécifique.
Répertorier les gestionnaires de cluster dans le groupe de ressources
Cette commande répertorie les gestionnaires de cluster dans le groupe de ressources spécifié.
az networkcloud clustermanager list --resource-group "$CLUSTER_MANAGER_RG"
Répertorier les gestionnaires de cluster dans l’abonnement
Cette commande répertorie les gestionnaires de cluster dans l’abonnement spécifié.
az networkcloud clustermanager list --subscription "$SUB_ID"
Afficher les propriétés du gestionnaire de cluster
Cette commande répertorie les propriétés du gestionnaire de cluster spécifié.
az networkcloud clustermanager show \
--name "$CLUSTER_MANAGER_NAME" \
--resource-group "$CLUSTER_MANAGER_RG" \
--subscription "$SUB_ID"
Répertorier/afficher les arguments de commande
- --name -n : nom du gestionnaire de cluster.
- --IDs : un ou plusieurs ID de ressource (délimités par un espace). Il doit s’agir d’un ID de ressource complet contenant toutes les informations des arguments « ID de ressource ».
- --resource-group-g : nom du groupe de ressources. Vous pouvez configurer le groupe par défaut en utilisant
az configure --defaults group=<name>
. - --subscription : nom ou ID de l’abonnement. Vous pouvez configurer l’abonnement par défaut en utilisant
az account set -s NAME_OR_ID
.
Mettre à jour le gestionnaire de cluster
Cette commande est utilisée pour corriger les propriétés du gestionnaire de cluster fourni ou mettre à jour les balises affectées au gestionnaire de cluster. Les propriétés et les mises à jour des balises peuvent être effectuées indépendamment.
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"
- Arguments
- --tags : liste d’étiquettes séparées par des espaces : clé[=valeur] [clé[=valeur] ...]. Utilisez '' pour effacer des balises existantes.
- --name -n : nom du gestionnaire de cluster.
- --IDs : un ou plusieurs ID de ressource (délimités par un espace). Il doit s’agir d’un ID de ressource complet contenant toutes les informations des arguments « ID de ressource ».
- --resource-group-g : nom du groupe de ressources. Vous pouvez configurer le groupe par défaut en utilisant
az configure --defaults group=<name>
. - --subscription : nom ou ID de l’abonnement. Vous pouvez configurer l’abonnement par défaut en utilisant
az account set -s NAME_OR_ID
. - --mi-system-assigned : activez l’identité managée affectée par le système. Une fois ajoutée, l’identité peut uniquement être supprimée via l’appel d’API pour le moment.
- --mi-user-assigned : les ID de ressource séparés par des espaces des identités managées par l’utilisateur à ajouter. Une fois ajoutée, l’identité peut uniquement être supprimée via l’appel d’API pour le moment.
Mettre à jour des identités du gestionnaire de cluster via des API
Vous pouvez affecter les identités managées du gestionnaire de cluster via l’interface CLI. L’annulation d’affectation des identités peut être effectuée via des appels d’API.
Notez que <APIVersion>
est la version d’API 2024-07-01 ou une version plus récente.
Pour supprimer toutes les identités managées, exécutez :
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 des identités managées affectées par l’utilisateur et des identités managées affectées par le système ont été ajoutées, l’élément affecté par l’utilisateur peut être supprimé en remplaçant la valeur
type
parSystemAssigned
: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
L’exemple de corps de la demande (uai-body.json) :
{ "identity": { "type": "SystemAssigned" } }
Si des identités managées affectées par l’utilisateur et des identités managées affectées par le système ont été ajoutées, l’élément affecté par le système peut être supprimé en remplaçant la valeur
type
parUserAssigned
: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
L’exemple de corps de la demande (uai-body.json) :
{ "identity": { "type": "UserAssigned", "userAssignedIdentities": { "/subscriptions/$SUB_ID/resourceGroups/$UAI_RESOURCE_GROUP/providers/Microsoft.ManagedIdentity/userAssignedIdentities/$UAI_NAME": {} } } }
Si plusieurs identités managées affectées par l’utilisateur ont été ajoutées, l’une d’entre elles peut être supprimée en exécutant :
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
L’exemple de corps de la demande (uai-body.json) :
{ "identity": { "type": "UserAssigned", "userAssignedIdentities": { "/subscriptions/$SUB_ID/resourceGroups/$UAI_RESOURCE_GROUP/providers/Microsoft.ManagedIdentity/userAssignedIdentities/$UAI_NAME": null } } }
Supprimer le gestionnaire de cluster
Cette commande est utilisée pour supprimer le gestionnaire de cluster fourni.
Avertissement
Un gestionnaire de cluster qui a un contrôleur de structure réseau associé existant ou tous les clusters qui référencent ce gestionnaire de cluster ne peuvent pas être supprimés.
az networkcloud clustermanager delete \
--name "$CLUSTER_MANAGER_NAME" \
--resource-group "$CLUSTER_MANAGER_RG" \
--subscription "$SUB_ID"
- Arguments
- --no-wait : ne pas attendre que l’opération de longue durée se termine.
- --yes -y : ne pas demander de confirmation.
- --name -n : nom du gestionnaire de cluster.
- --IDs : un ou plusieurs ID de ressource (délimités par un espace). Il doit s’agir d’un ID de ressource complet contenant toutes les informations des arguments « ID de ressource ».
- --resource-group-g : nom du groupe de ressources. Vous pouvez configurer le groupe par défaut en utilisant
az configure --defaults group=<name>
. - --subscription : nom ou ID de l’abonnement. Vous pouvez configurer l’abonnement par défaut en utilisant
az account set -s NAME_OR_ID
.
Étapes suivantes
Une fois que vous avez correctement créé le contrôleur de structure réseau et le gestionnaire de cluster, l’étape suivante consiste à créer une structure réseau.