Quickstart: Vereisten voor operator- en containernetwerkfunctie (CNF)
Deze quickstart bevat de vereiste taken voor De functie Operator en Containerized Network Function (CNF). Hoewel het mogelijk is om deze taken binnen uw NSD (Network Service Definition) te automatiseren, worden de acties in deze quickstart handmatig uitgevoerd.
Notitie
Het kan enige tijd duren voordat de taken in dit artikel zijn voltooid.
Machtigingen
U hebt een Azure-abonnement nodig met een bestaande resourcegroep waarvoor u de rol Inzender en de rol Beheerder voor gebruikerstoegang hebt.
De AOSM CLI-extensie kan ook de resourcegroep voor u maken. In dat geval hebt u de rol Inzender voor dit abonnement nodig. Als u deze functie gebruikt, moet u de rol Gebruikerstoegangsbeheerder toevoegen aan uw gebruiker met het bereik van deze zojuist gemaakte resourcegroep.
U hebt ook de rol Administrator voor gebruikerstoegang nodig via de resourcegroep uitgever van de netwerkfunctiedefinitie. De resourcegroep Network Function Definition Publisher is gebruikt in quickstart: Nginx-container publiceren als CNF (Containerized Network Function). Controleer het bestand input-cnf-nfd.jsonc voor de naam van de resourcegroep.
Omgevingsvariabelen instellen
Pas de instellingen en verwijzingen van de omgevingsvariabele naar wens aan voor uw specifieke omgeving. In Windows PowerShell stelt u bijvoorbeeld de omgevingsvariabelen als volgt in:
$env:ARC_RG="<my rg>"
Als u een omgevingsvariabele wilt gebruiken, verwijst u ernaar als $env:ARC_RG
.
export resourceGroup=operator-rg
export location=<region>
export clusterName=<replace with clustername>
export customlocationId=${clusterName}-custom-location
export extensionId=${clusterName}-extension
Een resourcegroep maken
Maak een resourcegroep voor het hosten van uw AKS-cluster (Azure Kubernetes Service). Hier worden ook uw Operator-resources gemaakt in latere handleidingen.
az account set --subscription <subscription>
az group create -n ${resourceGroup} -l ${location}
AKS-cluster (Azure Kubernetes Service) inrichten
az aks create -g ${resourceGroup} -n ${clusterName} --node-count 3 --generate-ssh-keys
Azure Arc inschakelen
Schakel Azure Arc in voor het AKS-cluster (Azure Kubernetes Service). Als u de onderstaande opdrachten uitvoert, moet u voldoende zijn. Zie Aangepaste locaties maken en beheren in Kubernetes met Azure Arc voor meer informatie.
Het configuratiebestand voor het AKS-cluster ophalen
az aks get-credentials --resource-group ${resourceGroup} --name ${clusterName}
Een verbonden cluster maken
Maak het cluster:
az connectedk8s connect --name ${clusterName} --resource-group ${resourceGroup}
Uw abonnement registreren
Registreer uw abonnement bij de resourceprovider Microsoft.ExtendedLocation:
az provider register --namespace Microsoft.ExtendedLocation
Aangepaste locaties inschakelen
Aangepaste locaties inschakelen op het cluster:
az connectedk8s enable-features -n ${clusterName} -g ${resourceGroup} --features cluster-connect custom-locations
Cluster verbinden
Verbinding maken met het cluster:
az connectedk8s connect --name ${clusterName} -g ${resourceGroup} --location $location
Extensie maken
Een extensie maken:
az k8s-extension create -g ${resourceGroup} --cluster-name ${clusterName} --cluster-type connectedClusters --name ${extensionId} --extension-type microsoft.azure.hybridnetwork --release-train preview --scope cluster
Aangepaste locatie maken
Een aangepaste locatie maken:
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
Aangepaste locatiewaarde ophalen
Haal de waarde van de aangepaste locatie op. U hebt deze informatie nodig om de waarden van de configuratiegroep voor uw SNS (Site Network Service) in te vullen.
Zoek in Azure Portal naar de naam van de aangepaste locatie (customLocationId) en selecteer vervolgens Eigenschappen. Zoek de volledige resource-id onder het informatiegebied Essentials en zoek naar veldnaam-id. In de volgende afbeelding ziet u een voorbeeld van de locatie van de resource-id.
Tip
De volledige resource-id heeft de volgende indeling: /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.extendedlocation/customlocations/{customLocationName}
Door de gebruiker toegewezen beheerde identiteit maken voor de sitenetwerkservice
Sla het volgende Bicep-script lokaal op 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
Start de implementatie van de door de gebruiker toegewezen beheerde identiteit door de volgende opdracht uit te geven.
az deployment group create --name prerequisites --resource-group ${resourceGroup} --template-file prerequisites.bicep
Het script maakt een beheerde identiteit.
Resource-id voor beheerde identiteit ophalen
Voer de volgende opdracht uit om de resource-id van de gemaakte beheerde identiteit te vinden.
az deployment group list -g ${resourceGroup} | jq -r --arg Deployment prerequisites '.[] | select(.name == $Deployment).properties.outputs.managedIdentityId.value'
Kopieer en sla de uitvoer op. Dit is de resource-id. U hebt deze uitvoer nodig wanneer u de sitenetwerkservice maakt.
SNS-machtigingen (Site Network Service) bijwerken
Als u deze taken wilt uitvoeren, hebt u de rol 'Eigenaar' of 'Beheerder voor gebruikerstoegang' nodig in zowel de operator als de Publisher-resourcegroepen voor de definitie van de netwerkfunctie. U hebt de operatorresourcegroep gemaakt in eerdere taken. De resourcegroep Network Function Definition Publisher is gemaakt in quickstart: Publish Nginx container as Containerized Network Function (CNF) en named nginx-publisher-rg in het bestand input.json.
In eerdere stappen hebt u een beheerde identiteit gemaakt met het label identity-for-nginx-sns in uw referentieresourcegroep. Deze identiteit speelt een cruciale rol bij het implementeren van de SNS (Site Network Service). Volg de stappen in de volgende secties om de identiteit de rol Inzender te verlenen voor de Publisher-resourcegroep en de rol Managed Identity Operator voor zichzelf. Via deze identiteit bereikt de Site Network Service (SNS) de vereiste machtigingen.
De rol Inzender verlenen via de resourcegroep van de uitgever aan beheerde identiteit
Open De Azure-portal en open de publisher-resourcegroep die is gemaakt bij het publiceren van de definitie van de netwerkfunctie.
Selecteer toegangsbeheer (IAM) in het zijmenu van de resourcegroep.
Kies Roltoewijzing toevoegen.
Kies Inzender onder de rollen Bevoegde beheerder en ga vervolgens verder met Volgende.
Selecteer Beheerde identiteit.
Kies + Leden selecteren en kies vervolgens de door de gebruiker toegewezen beheerde identiteit-for-nginx-sns.
Rol Inzender verlenen via aangepaste locatie aan beheerde identiteit
Open Azure Portal en open de operatorresourcegroep, operator-rg.
Selecteer toegangsbeheer (IAM) in het zijmenu van de resourcegroep.
Kies Roltoewijzing toevoegen.
Kies Inzender onder de rollen Bevoegde beheerder en ga vervolgens verder met Volgende.
Selecteer Beheerde identiteit.
Kies + Leden selecteren en kies vervolgens de door de gebruiker toegewezen beheerde identiteit-for-nginx-sns.
De rol Managed Identity Operator aan zichzelf toekennen
Ga naar Azure Portal en zoek naar beheerde identiteiten.
Selecteer identity-for-nginx-sns in de lijst met beheerde identiteiten.
Selecteer Toegangsbeheer (IAM) in het zijmenu.
Kies Roltoewijzing toevoegen.
Selecteer de rol Managed Identity Operator en ga vervolgens verder met Volgende.
Selecteer Beheerde identiteit.
Selecteer + Leden selecteren en navigeer naar de door de gebruiker toegewezen beheerde identiteit met de naam identity-for-nginx-sns en ga verder met de toewijzing.
Selecteer Controleren en toewijzen.
Het voltooien van alle taken die in deze artikelen worden beschreven, zorgen ervoor dat de SNS (Site Network Service) over de benodigde machtigingen beschikt om effectief te functioneren binnen de opgegeven Azure-omgeving.