Partager via


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.

Capture d’écran montrant les informations sur le champ de recherche et les propriétés.

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

  1. 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
    
  2. 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
    
  3. Le script crée une identité managée.

Récupérer l’ID de ressource pour l’identité managée

  1. 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'
    
  2. 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

  1. 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.

  2. Dans le menu latéral du groupe de ressources, sélectionnez Contrôle d’accès (IAM).

  3. Choisissez Ajouter une attribution de rôle.

    Capture d’écran montrant l’attribution du rôle d’ajout de groupe de ressources d’éditeur.

  4. Sous les rôles d'administrateur privilégié, sélectionnez la catégorie Contributeur, puis passez à Suivant.

    Capture d’écran montrant le rôle d’administrateur privilégié avec le contributeur sélectionné.

  5. Sélectionnez Identité managée.

  6. Choisissez + Sélectionner des membres, puis recherchez et choisissez l’identité d’identité managée affectée par l’utilisateur identity-for-nginx-sns.

    Capture d’écran montrant les identités managées sélectionnées avec l’identité managée affectée par l’utilisateur.

Accorder le rôle de contributeur sur l’emplacement personnalisé à l’identité managée

  1. Accédez au portail Azure et ouvrez le groupe de ressources opérateur, opérateur-rg.

  2. Dans le menu latéral du groupe de ressources, sélectionnez Microsoft Azure Access Control Service (IAM).

  3. Choisissez Ajouter une attribution de rôle.

    Capture d’écran montrant le rôle d’ajout de groupe de ressources d’éditeur vers l’emplacement personnalisé.

  4. Sous les rôles d'administrateur privilégié, sélectionnez la catégorie Contributeur, puis passez à Suivant.

    Capture d’écran montrant le rôle d’administrateur privilégié avec le contributeur sélectionné.

  5. Sélectionnez Identité managée.

  6. Choisissez + Sélectionner des membres, puis recherchez et choisissez l’identité d’identité managée affectée par l’utilisateur identity-for-nginx-sns.

    Capture d’écran montrant les identités managées sélectionnées avec l’identité managée affectée par l’utilisateur.

S'attribuer le rôle d'opérateur d'identité gérée

  1. Accédez au portail Azure et recherchez Identités managées.

  2. Sélectionnez identity-for-nginx-sns dans la liste des identités managées.

  3. Dans le menu latéral, sélectionnez Contrôle d’accès (IAM).

  4. Choisissez Ajouter une attribution de rôle.

    Capture d’écran montrant l’identité pour l’attribution du rôle d’ajout Nginx SNS.

  5. Sélectionnez le rôle Opérateur d'identité gérée, puis passez à Suivant.

    Capture d’écran montrant l’attribution du rôle d’ajout avec opérateur d’identité managée sélectionné.

  6. Sélectionnez Identité managée.

  7. 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.

    Capture d’écran montrant les identités managées sélectionnées avec l’identité managée affectée par l’utilisateur.

  8. 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é.

Étapes suivantes