Schnellstart: Voraussetzungen für Betreiber und Containernetzwerkfunktionen (CNF)
In diesem Schnellstart werden die Voraussetzungen für Betreiber und Containernetzwerkfunktionen (CNF) beschrieben. Obwohl es möglich ist, diese Aufgaben in Ihrer Netzwerkdienstdefinition (Network Service Definition, NSD) zu automatisieren, werden die Aktionen in diesem Schnellstart manuell ausgeführt.
Hinweis
Die in diesem Artikel beschriebenen Aufgaben erfordern möglicherweise einige Zeit.
Berechtigungen
Sie benötigen ein Azure-Abonnement mit einer vorhandenen Ressourcengruppe, für die Sie über die Rolle Mitwirkender und die Rolle Benutzerzugriffsadministrator verfügen.
Alternativ kann die CLI-Erweiterung für AOSM die Ressourcengruppe für Sie erstellen. In diesem Fall benötigen Sie die Rolle Mitwirkender für dieses Abonnement. Wenn Sie dieses Feature verwenden, müssen Sie dem Benutzer die Rolle Benutzerzugriffsadministrator mit dem Bereich für diese neu erstellte Ressourcengruppe hinzufügen.
Außerdem benötigen Sie die Rolle Benutzerzugriffsadministrator in der Herausgeberressourcengruppe der Netzwerkfunktionsdefinition. Die Herausgeberressourcengruppe für die Netzwerkfunktionsdefinition wurde unter Schnellstart: Veröffentlichen des NGINX-Containers als Containernetzwerkfunktion (CNF) verwendet. Den Namen der Ressourcengruppe finden Sie in der Datei „input-cnf-nfd.jsonc“.
Festlegen von Umgebungsvariablen
Passen Sie die Umgebungsvariableneinstellungen und Verweise nach Bedarf an Ihre Umgebung an. In Windows PowerShell würden Sie beispielsweise die Umgebungsvariablen wie folgt festlegen:
$env:ARC_RG="<my rg>"
Wenn Sie eine Umgebungsvariable verwenden möchten, verweisen Sie darauf mit $env:ARC_RG
.
export resourceGroup=operator-rg
export location=<region>
export clusterName=<replace with clustername>
export customlocationId=${clusterName}-custom-location
export extensionId=${clusterName}-extension
Ressourcengruppe erstellen
Erstellen Sie eine Ressourcengruppe, um Ihren AKS-Cluster (Azure Kubernetes Service) zu hosten. Hier werden in späteren Handbüchern auch Ihre Operatorressourcen erstellt.
az account set --subscription <subscription>
az group create -n ${resourceGroup} -l ${location}
Bereitstellen eines AKS-Clusters (Azure Kubernetes Service)
az aks create -g ${resourceGroup} -n ${clusterName} --node-count 3 --generate-ssh-keys
Aktivieren von Azure Arc
Aktivieren Sie Azure Arc für den AKS-Cluster (Azure Kubernetes Service). Das Ausführen der folgenden Befehle sollte ausreichen. Weitere Informationen finden Sie unter Erstellen und Verwalten benutzerdefinierter Speicherorte in Azure Arc-fähigen Kubernetes-Clustern.
Abrufen der Konfigurationsdatei für den AKS-Cluster
az aks get-credentials --resource-group ${resourceGroup} --name ${clusterName}
Erstellen eines verbundenen Clusters
Erstellen Sie den Cluster:
az connectedk8s connect --name ${clusterName} --resource-group ${resourceGroup}
Registrieren Ihres Abonnements
Registrieren Sie Ihr Abonnement beim Ressourcenanbieter „Microsoft.ExtendedLocation“:
az provider register --namespace Microsoft.ExtendedLocation
Aktivieren benutzerdefinierter Standorte
Aktivieren Sie benutzerdefinierte Standorte im Cluster:
az connectedk8s enable-features -n ${clusterName} -g ${resourceGroup} --features cluster-connect custom-locations
Herstellen einer Clusterverbindung
Stellen Sie eine Verbindung mit dem Cluster her:
az connectedk8s connect --name ${clusterName} -g ${resourceGroup} --location $location
Erstellen der Erweiterung
Erstellen Sie eine Erweiterung:
az k8s-extension create -g ${resourceGroup} --cluster-name ${clusterName} --cluster-type connectedClusters --name ${extensionId} --extension-type microsoft.azure.hybridnetwork --release-train preview --scope cluster
Erstellen eines benutzerdefinierten Speicherorts
Erstellen Sie einen benutzerdefinierten Standort:
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
Abrufen eines benutzerdefinierten Standortwerts
Rufen Sie den Wert für den benutzerdefinierten Standort ab. Sie benötigen diese Informationen, um die Konfigurationsgruppenwerte für Ihren Standortnetzwerkdienst (Site Network Service, SNS) auszufüllen.
Suchen Sie im Azure-Portal nach dem Namen des benutzerdefinierten Standorts (customLocationId), und wählen Sie dann „Eigenschaften“ aus. Suchen Sie die vollständige Ressourcen-ID im Informationsbereich „Grundlagen“, und suchen Sie nach dem Feldnamen „ID“. Die folgende Abbildung enthält ein Beispiel für die Position, an der sich die Informationen zur Ressourcen-ID befinden.
Tipp
Die vollständige Ressourcen-ID weist folgendes Format auf: /subscriptions/{Abonnement-ID}/resourcegroups/{Ressourcengruppenname}/providers/microsoft.extendedlocation/customlocations/{Name_des_benutzerdefinierten_Standorts}
Erstellen der benutzerseitig zugewiesenen verwalteten Identität für den Standortnetzwerkdienst
Speichern Sie das folgende Bicep-Skript lokal als 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
Starten Sie die Bereitstellung der benutzerseitig zugewiesenen verwalteten Identität, indem Sie den folgenden Befehl ausführen.
az deployment group create --name prerequisites --resource-group ${resourceGroup} --template-file prerequisites.bicep
Das Skript erstellt eine verwaltete Identität.
Ermitteln der Ressourcen-ID für die verwaltete Identität
Führen Sie den folgenden Befehl aus, um die Ressourcen-ID der erstellten verwalteten Identität zu ermitteln.
az deployment group list -g ${resourceGroup} | jq -r --arg Deployment prerequisites '.[] | select(.name == $Deployment).properties.outputs.managedIdentityId.value'
Kopieren und speichern Sie die Ausgabe, bei der es sich um die Ressourcenidentität handelt. Sie benötigen diese Ausgabe, wenn Sie den Standortnetzwerkdienst erstellen.
Aktualisieren der Berechtigungen für den Standortnetzwerkdienst (SNS)
Um diese Aufgaben auszuführen, benötigen Sie die Rolle „Besitzer“ oder „Benutzerzugriffsadministrator“ sowohl als Betreiber als auch in den Herausgeberressourcengruppen für die Netzwerkfunktionsdefinition. Sie haben die Betreiberressourcengruppe in früheren Aufgaben erstellt. Die Herausgeberressourcengruppe für die Netzwerkfunktionsdefinition wurde im Schnellstart: Veröffentlichen des NGINX-Containers als Containernetzwerkfunktion (CNF) erstellt und in der Datei „input.json“ mit „nginx-publisher-rg“ benannt.
In den vorherigen Schritten haben Sie eine verwaltete Identität mit der Bezeichnung „identity-for-nginx-sns“ in Ihrer Referenzressourcengruppe erstellt. Diese Identität spielt eine wichtige Rolle bei der Bereitstellung des Standortnetzwerkdiensts (SNS). Führen Sie die Schritte in den nächsten Abschnitten aus, um der Identität die Rolle „Mitwirkender“ für die Herausgeberressourcengruppe und die Rolle „Operator für verwaltete Identität“ für sich selbst zuzuweisen. Über diese Identität erhält der Standortnetzwerkdienst (SNS) die erforderlichen Berechtigungen.
Zuweisen der Rolle „Mitwirkender“ für die Ressourcengruppe des Herausgebers für die verwaltete Identität
Öffnen Sie im Azure-Portal die Ressourcengruppe des Herausgebers, die beim Veröffentlichen der Netzwerkfunktionsdefinition erstellt wurde.
Wählen Sie im Seitenmenü der Ressourcengruppe Zugriffssteuerung (IAM) aus.
Wählen Sie Rollenzuweisung hinzufügen aus.
Wählen Sie unter Privilegierte Administratorrollen die Option Mitwirkender und dann Weiter aus.
Wählen Sie Verwaltete Identität aus.
Wählen Sie + Mitglieder auswählen aus, suchen Sie nach der benutzerseitig zugewiesenen verwalteten Identität identity-for-nginx-sns, und wählen Sie sie aus.
Zuweisung der Rolle „Mitwirkende Person“ für den benutzerdefinierten Standort an Managed Identity
Greifen Sie auf das Azure-Portal zu, und öffnen Sie die Operatorressourcengruppe, operator-rg.
Wählen Sie im Seitenmenü der Ressourcengruppe Zugriffssteuerung (IAM) aus.
Wählen Sie Rollenzuweisung hinzufügen aus.
Wählen Sie unter Privilegierte Administratorrollen die Option Mitwirkender und dann Weiter aus.
Wählen Sie Verwaltete Identität aus.
Wählen Sie + Mitglieder auswählen aus, suchen Sie nach der benutzerseitig zugewiesenen verwalteten Identität identity-for-nginx-sns, und wählen Sie sie aus.
Zuweisen der Rolle „Operator für verwaltete Identität“ für die verwaltete Identität selbst
Wechseln Sie zum Azure-Portal, und suchen Sie nach Verwaltete Identitäten.
Wählen Sie in der Liste Verwaltete Identitäten die Identität identity-for-nginx-sns aus.
Wählen Sie im Seitenmenü Zugriffssteuerung (IAM) aus.
Wählen Sie Rollenzuweisung hinzufügen aus.
Wählen Sie die Rolle Operator für verwaltete Identität und dann Weiter aus.
Wählen Sie Verwaltete Identität aus.
Wählen Sie + Mitglieder auswählen aus, navigieren Sie zur benutzerseitig zugewiesenen verwalteten Identität namens identity-for-nginx-sns, und fahren Sie mit der Zuweisung fort.
Wählen Sie Überprüfen und zuweisen aus.
Durch die Ausführung aller in diesem Artikel beschriebenen Aufgaben wird sichergestellt, dass der Standortnetzwerkdienst (Site Network Service, SNS) über die erforderlichen Berechtigungen verfügt, um in der angegebenen Azure-Umgebung effektiv zu funktionieren.