Guide de démarrage rapide : conditions préalables pour l’opérateur et la fonction réseau conteneurisée (CNF)
Ce guide de démarrage rapide contient les tâches préalables requises pour l’opérateur et la fonction réseau conteneurisée (CNF). Bien qu’il soit possible d’automatiser ces tâches au sein de votre NSD (définition de service réseau), dans ce guide de démarrage rapide, les actions sont effectuées manuellement.
Remarque
Les tâches présentées dans cet article peuvent nécessiter un certain temps.
autorisations
Vous avez besoin d’un abonnement Azure avec un groupe de ressources existant pour lequel vous disposez du rôle Contributeur et du rôle Administrateur de l’accès utilisateur.
L’extension CLI AOSM peut aussi créer le groupe de ressources pour vous, auquel cas vous avez besoin du rôle Contributeur sur cet abonnement. Si vous utilisez cette fonctionnalité, vous devez ajouter à votre utilisateur le rôle Administrateur de l’accès utilisateur avec l’étendue de ce groupe de ressources nouvellement créé.
Vous avez également besoin du rôle Administrateur de l’accès utilisateur dans le groupe de ressources Éditeur de définition de fonction réseau. Le groupe de ressources Éditeur de définition de fonction réseau a été utilisé dans le Guide de démarrage rapide : Publier le conteneur Nginx en tant que fonction réseau conteneurisée (CNF). Consultez le fichier input-cnf-nfd.jsonc pour obtenir le nom du groupe de ressources.
Définir des variables d’environnement
Adaptez les paramètres et références des variables d’environnement en fonction des besoins de votre environnement particulier. Par exemple, dans Windows PowerShell, vous devez définir les variables d’environnement comme suit :
$env:ARC_RG="<my rg>"
Pour utiliser une variable d’environnement, vous devez la référencer en tant que $env:ARC_RG
.
export resourceGroup=operator-rg
export location=<region>
export clusterName=<replace with clustername>
export customlocationId=${clusterName}-custom-location
export extensionId=${clusterName}-extension
Créer un groupe de ressources
Créez un groupe de ressources pour héberger votre cluster Azure Kubernetes Service (AKS). Il s’agit également de l’emplacement où vos ressources d’opérateur sont créées dans les guides ultérieurs.
az account set --subscription <subscription>
az group create -n ${resourceGroup} -l ${location}
Approvisionner un cluster Azure Kubernetes Service (AKS)
az aks create -g ${resourceGroup} -n ${clusterName} --node-count 3 --generate-ssh-keys
Activer Azure Arc
Activez Azure Arc pour le cluster Azure Kubernetes Service (AKS). L’exécution des commandes ci-dessous doit être suffisante. Si vous souhaitez en savoir plus, consultez Créer et gérer des emplacements personnalisés sur Kubernetes avec Azure Arc.
Récupérer le fichier de configuration du cluster AKS
az aks get-credentials --resource-group ${resourceGroup} --name ${clusterName}
Créer un cluster connecté
Créer le cluster :
az connectedk8s connect --name ${clusterName} --resource-group ${resourceGroup}
Inscrire votre abonnement
Inscrivez votre abonnement auprès du fournisseur de ressources Microsoft.ExtendedLocation :
az provider register --namespace Microsoft.ExtendedLocation
Activer les emplacements personnalisés
Activez les emplacements personnalisés sur le cluster :
az connectedk8s enable-features -n ${clusterName} -g ${resourceGroup} --features cluster-connect custom-locations
Connecter un cluster
Connectez le cluster :
az connectedk8s connect --name ${clusterName} -g ${resourceGroup} --location $location
Créer une extension
Créez une extension :
az k8s-extension create -g ${resourceGroup} --cluster-name ${clusterName} --cluster-type connectedClusters --name ${extensionId} --extension-type microsoft.azure.hybridnetwork --release-train preview --scope cluster
Créer un emplacement personnalisé
Créez un emplacement personnalisé :
export ConnectedClusterResourceId=$(az connectedk8s show --resource-group ${resourceGroup} --name ${clusterName} --query id -o tsv)
export ClusterExtensionResourceId=$(az k8s-extension show -c $clusterName -n $extensionId -t connectedClusters -g ${resourceGroup} --query id -o tsv)
az customlocation create -g ${resourceGroup} -n ${customlocationId} --namespace "azurehybridnetwork" --host-resource-id $ConnectedClusterResourceId --cluster-extension-ids $ClusterExtensionResourceId
Récupérer la valeur de l’emplacement personnalisé
Récupérez la valeur de l’emplacement personnalisé. Vous avez besoin de ces informations pour renseigner les valeurs du groupe de configurations de votre service de réseau de site (SNS).
Recherchez le nom de l’emplacement personnalisé (customLocationId) sur le portail Azure, puis sélectionnez Propriétés. Recherchez l’ID de ressource complet sous la zone d’informations Essentials et recherchez l’ID de nom de champ. L’image suivante fournit un exemple d’où se trouvent les informations d’ID de ressource.
Conseil
L’ID de ressource complet a le format : /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.extendedlocation/customlocations/{customLocationName}
Créer une identité managée affectée par l’utilisateur pour le service de réseau de site
Enregistrez le script Bicep suivant localement en tant que prerequisites.bicep.
param location string = resourceGroup().location param identityName string = 'identity-for-nginx-sns' resource managedIdentity 'Microsoft.ManagedIdentity/userAssignedIdentities@2018-11-30' = { name: identityName location: location } output managedIdentityId string = managedIdentity.id
Démarrez le déploiement de l’identité managée affectée par l’utilisateur en émettant la commande suivante.
az deployment group create --name prerequisites --resource-group ${resourceGroup} --template-file prerequisites.bicep
Le script crée une identité managée.
Récupérer l’ID de ressource pour l’identité managée
Exécutez la commande suivante pour rechercher l’ID de ressource de l’identité managée créée.
az deployment group list -g ${resourceGroup} | jq -r --arg Deployment prerequisites '.[] | select(.name == $Deployment).properties.outputs.managedIdentityId.value'
Copiez et enregistrez la sortie, qui est l’identité de ressource. Vous avez besoin de cette sortie lorsque vous créez le service de réseau de site.
Mettre à jour les autorisations du service de réseau de site (SNS)
Pour effectuer ces tâches, vous avez besoin du rôle « Propriétaire » ou « Administrateur de l’accès utilisateur » dans l’opérateur et les groupes de ressources de l’éditeur de définition de fonction réseau. Vous avez créé le groupe de ressources de l’opérateur dans les tâches précédentes. Le groupe de ressources de l’éditeur de définition de fonction réseau a été créé dans le Guide de démarrage rapide : Publier le conteneur Nginx en tant que fonction réseau conteneurisée (CNF) et nommé nginx-publisher-rg dans le fichier input.json.
Au cours des étapes précédentes, vous avez créé une identité managée étiquetée identity-for-nginx-sns à l’intérieur de votre groupe de ressources de référence. Cette identité joue un rôle crucial dans le déploiement du service de réseau de site (SNS). Suivez les étapes décrites dans les sections suivantes pour accorder à l’identité le rôle « Contributeur » sur le groupe de ressources de l’éditeur et le rôle Opérateur d’identité managée sur elle-même. Grâce à cette identité, le service de réseau de site (SNS) atteint les autorisations requises.
Accorder le rôle Contributeur sur le groupe de ressources de l’éditeur à l’identité managée
Accédez au portail Azure et ouvrez le groupe de ressources de l’éditeur créé lors de la publication de la définition de fonction réseau.
Dans le menu latéral du groupe de ressources, sélectionnez Contrôle d’accès (IAM).
Choisissez Ajouter une attribution de rôle.
Sous les rôles d'administrateur privilégié, sélectionnez la catégorie Contributeur, puis passez à Suivant.
Sélectionnez Identité managée.
Choisissez + Sélectionner des membres, puis recherchez et choisissez l’identité d’identité managée affectée par l’utilisateur identity-for-nginx-sns.
Accorder le rôle de contributeur sur l’emplacement personnalisé à l’identité managée
Accédez au portail Azure et ouvrez le groupe de ressources opérateur, opérateur-rg.
Dans le menu latéral du groupe de ressources, sélectionnez Microsoft Azure Access Control Service (IAM).
Choisissez Ajouter une attribution de rôle.
Sous les rôles d'administrateur privilégié, sélectionnez la catégorie Contributeur, puis passez à Suivant.
Sélectionnez Identité managée.
Choisissez + Sélectionner des membres, puis recherchez et choisissez l’identité d’identité managée affectée par l’utilisateur identity-for-nginx-sns.
S'attribuer le rôle d'opérateur d'identité gérée
Accédez au portail Azure et recherchez Identités managées.
Sélectionnez identity-for-nginx-sns dans la liste des identités managées.
Dans le menu latéral, sélectionnez Contrôle d’accès (IAM).
Choisissez Ajouter une attribution de rôle.
Sélectionnez le rôle Opérateur d'identité gérée, puis passez à Suivant.
Sélectionnez Identité managée.
Sélectionnez + Sélectionner des membres et accédez à l’identité managée affectée par l’utilisateur appelée identity-for-nginx-sns et passez à l’affectation.
Sélectionnez Vérifier et attribuer.
L’achèvement de toutes les tâches décrites dans ces articles garantit que le service de réseau de site (SNS) dispose des autorisations nécessaires pour fonctionner efficacement dans l’environnement Azure spécifié.