Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом кратком руководстве содержатся необходимые задачи для оператора и контейнерной сетевой функции (CNF). Хотя эти задачи можно автоматизировать в NSD (определение сетевой службы), в этом кратком руководстве действия выполняются вручную.
Примечание
Для выполнения задач, представленных в этой статье, может потребоваться некоторое время.
Вам нужна подписка Azure с существующей группой ресурсов, в которой у вас есть роль участника и роль администратора доступа пользователей.
Кроме того, расширение ИНТЕРФЕЙСА командной строки AOSM может создать группу ресурсов для вас, в этом случае потребуется роль участника для этой подписки. Если вы используете эту функцию, необходимо добавить к пользователю роль администратора доступа пользователей с областью действия этой созданной группы ресурсов.
Вам также нужна роль администратора доступа пользователей в группе ресурсов издателя определений сетевых функций. Группа ресурсов издателя определений сетевых функций использовалась в кратком руководстве: публикация контейнера Nginx в качестве контейнерной сетевой функции (CNF). Проверьте файл input-cnf-nfd.jsonc для имени группы ресурсов.
При необходимости адаптируйте параметры и ссылки переменной среды для конкретной среды. Например, в Windows PowerShell можно задать переменные среды следующим образом:
$env:ARC_RG="<my rg>"
Чтобы использовать переменную среды, вы будете ссылаться на нее как $env:ARC_RG
.
export resourceGroup=operator-rg
export location=<region>
export clusterName=<replace with clustername>
export customlocationId=${clusterName}-custom-location
export extensionId=${clusterName}-extension
Создайте группу ресурсов для размещения кластера Служба Azure Kubernetes (AKS). Это также будет местом создания ресурсов оператора в последующих руководствах.
az account set --subscription <subscription>
az group create -n ${resourceGroup} -l ${location}
az aks create -g ${resourceGroup} -n ${clusterName} --node-count 3 --generate-ssh-keys
Включите Azure Arc для кластера Служба Azure Kubernetes (AKS). Выполнение приведенных ниже команд должно быть достаточно. Дополнительные сведения см. в статье "Создание пользовательских расположений в Kubernetes с поддержкой Azure Arc и управление ими".
az aks get-credentials --resource-group ${resourceGroup} --name ${clusterName}
Создайте кластер:
az connectedk8s connect --name ${clusterName} --resource-group ${resourceGroup}
Зарегистрируйте подписку в поставщике ресурсов Microsoft.ExtendedLocation:
az provider register --namespace Microsoft.ExtendedLocation
Включите пользовательские расположения в кластере:
az connectedk8s enable-features -n ${clusterName} -g ${resourceGroup} --features cluster-connect custom-locations
Подключите кластер:
az connectedk8s connect --name ${clusterName} -g ${resourceGroup} --location $location
Создайте расширение:
az k8s-extension create -g ${resourceGroup} --cluster-name ${clusterName} --cluster-type connectedClusters --name ${extensionId} --extension-type microsoft.azure.hybridnetwork --release-train preview --scope cluster
Создайте настраиваемое расположение:
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
Получите значение пользовательского расположения. Эти сведения необходимы для заполнения значений группы конфигурации для сетевой службы сайта (SNS).
Найдите имя настраиваемого расположения (customLocationId) в портал Azure, а затем выберите "Свойства". Найдите полный идентификатор ресурса в области сведений Essentials и найдите идентификатор имени поля. На следующем рисунке представлен пример расположения сведений об идентификаторе ресурса.
Совет
Полный идентификатор ресурса имеет формат: /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.extendedlocation/customlocations/{customLocationName}
Сохраните следующий скрипт Bicep локально в качестве необходимых компонентов.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
Запустите развертывание управляемого удостоверения, назначаемого пользователем, выполнив следующую команду.
az deployment group create --name prerequisites --resource-group ${resourceGroup} --template-file prerequisites.bicep
Сценарий создает управляемое удостоверение.
Выполните следующую команду, чтобы найти идентификатор ресурса созданного управляемого удостоверения.
az deployment group list -g ${resourceGroup} | jq -r --arg Deployment prerequisites '.[] | select(.name == $Deployment).properties.outputs.managedIdentityId.value'
Скопируйте и сохраните выходные данные, которые являются удостоверением ресурса. Эти выходные данные требуются при создании сетевой службы сайта.
Для выполнения этих задач требуется роль "Владелец" или "Администратор доступа пользователей" как в операторе, так и в группах ресурсов издателя определений сетевых функций. Вы создали группу ресурсов оператора в предыдущих задачах. Группа ресурсов издателя определений сетевых функций была создана в кратком руководстве: публикация контейнера Nginx в качестве контейнерной сетевой функции (CNF) и именованной nginx-publisher-rg в файле input.json.
На предыдущих шагах вы создали удостоверение с меткой identity-for-nginx-sns внутри эталонной группы ресурсов. Это удостоверение играет важную роль в развертывании сетевой службы сайта (SNS). Выполните действия, описанные в следующих разделах, чтобы предоставить удостоверение роли "Участник" для группы ресурсов издателя и роли оператора управляемых удостоверений. Благодаря этому удостоверению служба сети сайта (SNS) достигает необходимых разрешений.
Перейдите к портал Azure и откройте группу ресурсов издателя, созданную при публикации определения сетевой функции.
В боковом меню группы ресурсов выберите контроль доступа (IAM).
Выберите "Добавить назначение ролей".
В разделе ролей "Привилегированный администратор" выберите "Участник", а затем перейдите к следующему.
Выберите Управляемое удостоверение.
Выберите и выберите участников , а затем найдите и выберите удостоверение управляемого удостоверения , назначаемое пользователем, для nginx-sns.
Перейдите к портал Azure и откройте группу ресурсов оператора, оператор-rg.
В боковом меню группы ресурсов выберите контроль доступа (IAM).
Выберите "Добавить назначение ролей".
В разделе ролей "Привилегированный администратор" выберите "Участник", а затем перейдите к следующему.
Выберите Управляемое удостоверение.
Выберите и выберите участников , а затем найдите и выберите удостоверение управляемого удостоверения , назначаемое пользователем, для nginx-sns.
Перейдите к портал Azure и найдите управляемые удостоверения.
Выберите identity-for-nginx-sns из списка управляемых удостоверений.
В боковом меню выберите контроль доступа (IAM).
Выберите " Добавить назначение ролей".
Выберите роль оператора управляемого удостоверения, а затем перейдите к следующему.
Выберите Управляемое удостоверение.
Выберите и выберите участников и перейдите к управляемому удостоверению, назначаемого пользователем, с именем identity-for-nginx-sns и перейдите к назначению.
Выберите "Рецензирование" и "Назначить".
Выполнение всех задач, описанных в этих статьях, гарантирует, что служба сети сайта (SNS) имеет необходимые разрешения для эффективной работы в указанной среде Azure.