Szybki start: wymagania wstępne dotyczące funkcji operatorów i konteneryzowanych sieci (CNF)
Ten przewodnik Szybki start zawiera zadania wstępne dotyczące funkcji operatorów i konteneryzowanych sieci (CNF). Chociaż można zautomatyzować te zadania w ramach sieciowej bazy danych (definicja usługi sieciowej), w tym przewodniku Szybki start akcje są wykonywane ręcznie.
Uwaga
Zadania przedstawione w tym artykule mogą wymagać trochę czasu na ukończenie.
Uprawnienia
Potrzebna jest subskrypcja platformy Azure z istniejącą grupą zasobów, dla której masz rolę Współautor i Administrator dostępu użytkowników.
Alternatywnie rozszerzenie interfejsu wiersza polecenia AOSM może utworzyć grupę zasobów, w takim przypadku potrzebujesz roli Współautor w tej subskrypcji. Jeśli używasz tej funkcji, musisz dodać do użytkownika rolę Administrator dostępu użytkowników z zakresem tej nowo utworzonej grupy zasobów.
Potrzebna jest również rola Administrator dostępu użytkowników za pośrednictwem grupy zasobów Wydawca definicji funkcji sieci. Grupa zasobów wydawcy definicji funkcji sieci została użyta w przewodniku Szybki start: publikowanie kontenera Nginx jako konteneryzowanej funkcji sieciowej (CNF) . Sprawdź plik input-cnf-nfd.jsonc dla nazwy grupy zasobów.
Ustawianie zmiennych środowiskowych
Dostosuj ustawienia i odwołania zmiennej środowiskowej zgodnie z potrzebami dla danego środowiska. Na przykład w programie Windows PowerShell można ustawić zmienne środowiskowe w następujący sposób:
$env:ARC_RG="<my rg>"
Aby użyć zmiennej środowiskowej, należy odwołać się do niej jako $env:ARC_RG
.
export resourceGroup=operator-rg
export location=<region>
export clusterName=<replace with clustername>
export customlocationId=${clusterName}-custom-location
export extensionId=${clusterName}-extension
Tworzenie grupy zasobów
Utwórz grupę zasobów do hostowania klastra usługi Azure Kubernetes Service (AKS). Będzie to również miejsce, w którym zasoby operatora są tworzone w kolejnych przewodnikach.
az account set --subscription <subscription>
az group create -n ${resourceGroup} -l ${location}
Aprowizuj klaster usługi Azure Kubernetes Service (AKS)
az aks create -g ${resourceGroup} -n ${clusterName} --node-count 3 --generate-ssh-keys
Włączanie usługi Azure Arc
Włącz usługę Azure Arc dla klastra usługi Azure Kubernetes Service (AKS). Uruchomienie poniższych poleceń powinno być wystarczające. Jeśli chcesz dowiedzieć się więcej, zobacz Tworzenie lokalizacji niestandardowych i zarządzanie nimi na platformie Kubernetes z obsługą usługi Azure Arc.
Pobieranie pliku konfiguracji dla klastra usługi AKS
az aks get-credentials --resource-group ${resourceGroup} --name ${clusterName}
Tworzenie połączonego klastra
Utwórz klaster:
az connectedk8s connect --name ${clusterName} --resource-group ${resourceGroup}
Rejestrowanie subskrypcji
Zarejestruj swoją subskrypcję u dostawcy zasobów Microsoft.ExtendedLocation:
az provider register --namespace Microsoft.ExtendedLocation
Włączanie lokalizacji niestandardowych
Włącz lokalizacje niestandardowe w klastrze:
az connectedk8s enable-features -n ${clusterName} -g ${resourceGroup} --features cluster-connect custom-locations
Połączenie klastra
Połącz klaster:
az connectedk8s connect --name ${clusterName} -g ${resourceGroup} --location $location
Tworzenie rozszerzenia
Utwórz rozszerzenie:
az k8s-extension create -g ${resourceGroup} --cluster-name ${clusterName} --cluster-type connectedClusters --name ${extensionId} --extension-type microsoft.azure.hybridnetwork --release-train preview --scope cluster
Tworzenie lokalizacji niestandardowej
Utwórz lokalizację niestandardową:
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
Pobieranie wartości lokalizacji niestandardowej
Pobierz wartość Lokalizacja niestandardowa. Te informacje są potrzebne, aby wypełnić wartości grupy konfiguracji dla usługi sieciowej lokacji (SNS).
Wyszukaj nazwę lokalizacji niestandardowej (customLocationId) w witrynie Azure Portal, a następnie wybierz pozycję Właściwości. Znajdź pełny identyfikator zasobu w obszarze Informacje podstawowe i poszukaj identyfikatora nazwy pola. Na poniższej ilustracji przedstawiono przykład lokalizacji informacji o identyfikatorze zasobu.
Napiwek
Pełny identyfikator zasobu ma format: /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.extendedlocation/customlocations/{customLocationName}
Tworzenie tożsamości zarządzanej przypisanej przez użytkownika dla usługi sieciowej lokacji
Zapisz następujący skrypt Bicep lokalnie jako wymagania wstępne.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
Uruchom wdrożenie tożsamości zarządzanej przypisanej przez użytkownika, wydając następujące polecenie.
az deployment group create --name prerequisites --resource-group ${resourceGroup} --template-file prerequisites.bicep
Skrypt tworzy tożsamość zarządzaną.
Pobieranie identyfikatora zasobu dla tożsamości zarządzanej
Uruchom następujące polecenie, aby znaleźć identyfikator zasobu utworzonej tożsamości zarządzanej.
az deployment group list -g ${resourceGroup} | jq -r --arg Deployment prerequisites '.[] | select(.name == $Deployment).properties.outputs.managedIdentityId.value'
Skopiuj i zapisz dane wyjściowe, czyli tożsamość zasobu. Te dane wyjściowe będą potrzebne podczas tworzenia usługi sieciowej lokacji.
Aktualizowanie uprawnień usługi sieci lokacji (SNS)
Aby wykonać te zadania, musisz mieć rolę "Właściciel" lub "Administrator dostępu użytkowników" zarówno w operatorze, jak i grupach zasobów wydawcy definicji funkcji sieciowej. Grupa zasobów operatora została utworzona w poprzednich zadaniach. Grupa zasobów wydawcy definicji funkcji sieciowej została utworzona w przewodniku Szybki start: publikowanie kontenera Nginx jako konteneryzowanej funkcji sieciowej (CNF) i o nazwie nginx-publisher-rg w pliku input.json.
W poprzednich krokach utworzono tożsamość zarządzaną z etykietą identity-for-nginx-sns wewnątrz referencyjnej grupy zasobów. Ta tożsamość odgrywa kluczową rolę w wdrażaniu usługi sieci lokacji (SNS). Wykonaj kroki opisane w następnych sekcjach, aby przyznać tożsamość roli "Współautor" nad grupą zasobów wydawcy i rolą Operatora tożsamości zarządzanej. Za pomocą tej tożsamości usługa sieci lokacji (SNS) uzyskuje wymagane uprawnienia.
Udzielanie roli Współautor w grupie zasobów wydawcy do tożsamości zarządzanej
Uzyskaj dostęp do witryny Azure Portal i otwórz grupę zasobów wydawcy utworzoną podczas publikowania definicji funkcji sieciowej.
W menu bocznym grupy zasobów wybierz pozycję Kontrola dostępu (Zarządzanie dostępem i tożsamościami).
Wybierz pozycję Dodaj przypisanie roli.
W obszarze Role administratora uprzywilejowanego wybierz pozycję Współautor , a następnie przejdź do pozycji Dalej.
Wybierz pozycję Tożsamość zarządzana.
Wybierz pozycję + Wybierz członków , a następnie znajdź i wybierz tożsamość zarządzaną przypisaną przez użytkownika-for-nginx-sns.
Udzielanie roli współautora w lokalizacji niestandardowej tożsamości zarządzanej
Uzyskaj dostęp do witryny Azure Portal i otwórz grupę zasobów operatora, operator-rg.
W menu bocznym grupy zasobów wybierz pozycję Kontrola dostępu (Zarządzanie dostępem i tożsamościami).
Wybierz pozycję Dodaj przypisanie roli.
W obszarze Role administratora uprzywilejowanego wybierz pozycję Współautor , a następnie przejdź do pozycji Dalej.
Wybierz pozycję Tożsamość zarządzana.
Wybierz pozycję + Wybierz członków , a następnie znajdź i wybierz tożsamość zarządzaną przypisaną przez użytkownika-for-nginx-sns.
Przyznaj sobie rolę Operator tożsamości zarządzanej
Przejdź do witryny Azure Portal i wyszukaj pozycję Tożsamości zarządzane.
Wybierz pozycję identity-for-nginx-sns z listy Tożsamości zarządzane.
W menu bocznym wybierz pozycję Kontrola dostępu (Zarządzanie dostępem i tożsamościami).
Wybierz pozycję Dodaj przypisanie roli.
Wybierz rolę Operator tożsamości zarządzanej, a następnie przejdź do pozycji Dalej.
Wybierz pozycję Tożsamość zarządzana.
Wybierz pozycję + Wybierz członków i przejdź do tożsamości zarządzanej przypisanej przez użytkownika o nazwie identity-for-nginx-sns i przejdź do przypisania.
Wybierz pozycję Przejrzyj i przypisz.
Ukończenie wszystkich zadań opisanych w tych artykułach zapewnia, że usługa sieci lokacji (SNS) ma niezbędne uprawnienia do efektywnego działania w określonym środowisku platformy Azure.