Поделиться через


Краткое руководство. Предварительные требования для оператора и контейнерной сетевой функции (CNF)

В этом кратком руководстве содержатся необходимые задачи для оператора и контейнерной сетевой функции (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}

Подготовка кластера Служба Azure Kubernetes (AKS)

az aks create -g ${resourceGroup} -n ${clusterName} --node-count 3 --generate-ssh-keys

Включение Azure Arc

Включите Azure Arc для кластера Служба Azure Kubernetes (AKS). Выполнение приведенных ниже команд должно быть достаточно. Дополнительные сведения см. в статье "Создание пользовательских расположений в Kubernetes с поддержкой Azure Arc и управление ими".

Получение файла конфигурации для кластера AKS

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}

Создание управляемого удостоверения, назначаемого пользователем для службы сети сайта

  1. Сохраните следующий скрипт 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
    
  2. Запустите развертывание управляемого удостоверения, назначаемого пользователем, выполнив следующую команду.

    az deployment group create --name prerequisites --resource-group ${resourceGroup}  --template-file prerequisites.bicep
    
  3. Сценарий создает управляемое удостоверение.

Получение идентификатора ресурса для управляемого удостоверения

  1. Выполните следующую команду, чтобы найти идентификатор ресурса созданного управляемого удостоверения.

    az deployment group list -g ${resourceGroup} | jq -r --arg Deployment prerequisites '.[] | select(.name == $Deployment).properties.outputs.managedIdentityId.value'
    
  2. Скопируйте и сохраните выходные данные, которые являются удостоверением ресурса. Эти выходные данные требуются при создании сетевой службы сайта.

Обновление разрешений службы сети сайта (SNS)

Для выполнения этих задач требуется роль "Владелец" или "Администратор доступа пользователей" как в операторе, так и в группах ресурсов издателя определений сетевых функций. Вы создали группу ресурсов оператора в предыдущих задачах. Группа ресурсов издателя определений сетевых функций была создана в кратком руководстве: публикация контейнера Nginx в качестве контейнерной сетевой функции (CNF) и именованной nginx-publisher-rg в файле input.json.

На предыдущих шагах вы создали удостоверение с меткой identity-for-nginx-sns внутри эталонной группы ресурсов. Это удостоверение играет важную роль в развертывании сетевой службы сайта (SNS). Выполните действия, описанные в следующих разделах, чтобы предоставить удостоверение роли "Участник" для группы ресурсов издателя и роли оператора управляемых удостоверений. Благодаря этому удостоверению служба сети сайта (SNS) достигает необходимых разрешений.

Предоставление роли участника группе ресурсов издателя управляемому удостоверению

  1. Перейдите к портал Azure и откройте группу ресурсов издателя, созданную при публикации определения сетевой функции.

  2. В боковом меню группы ресурсов выберите контроль доступа (IAM).

  3. Выберите "Добавить назначение ролей".

    Снимок экрана: группа ресурсов издателя добавляет назначение ролей.

  4. В разделе ролей "Привилегированный администратор" выберите "Участник", а затем перейдите к следующему.

    Снимок экрана: роль привилегированного администратора с выбранным участником.

  5. Выберите Управляемое удостоверение.

  6. Выберите и выберите участников , а затем найдите и выберите удостоверение управляемого удостоверения , назначаемое пользователем, для nginx-sns.

    Снимок экрана: выбор управляемых удостоверений с назначенным пользователем управляемым удостоверением.

Предоставление роли участника через пользовательское расположение управляемому удостоверению

  1. Перейдите к портал Azure и откройте группу ресурсов оператора, оператор-rg.

  2. В боковом меню группы ресурсов выберите контроль доступа (IAM).

  3. Выберите "Добавить назначение ролей".

    Снимок экрана: группа ресурсов издателя добавляет назначение ролей в пользовательское расположение.

  4. В разделе ролей "Привилегированный администратор" выберите "Участник", а затем перейдите к следующему.

    Снимок экрана: роль привилегированного администратора с выбранным участником.

  5. Выберите Управляемое удостоверение.

  6. Выберите и выберите участников , а затем найдите и выберите удостоверение управляемого удостоверения , назначаемое пользователем, для nginx-sns.

    Снимок экрана: выбор управляемых удостоверений с назначенным пользователем управляемым удостоверением.

Предоставление роли оператора управляемого удостоверения самому себе

  1. Перейдите к портал Azure и найдите управляемые удостоверения.

  2. Выберите identity-for-nginx-sns из списка управляемых удостоверений.

  3. В боковом меню выберите контроль доступа (IAM).

  4. Выберите " Добавить назначение ролей".

    Снимок экрана: удостоверение для SNS nginx добавьте назначение ролей.

  5. Выберите роль оператора управляемого удостоверения, а затем перейдите к следующему.

    Снимок экрана: добавление назначения ролей с выбранным оператором управляемого удостоверения.

  6. Выберите Управляемое удостоверение.

  7. Выберите и выберите участников и перейдите к управляемому удостоверению, назначаемого пользователем, с именем identity-for-nginx-sns и перейдите к назначению.

    Снимок экрана: выбор управляемых удостоверений с назначенным пользователем управляемым удостоверением.

  8. Выберите "Рецензирование" и "Назначить".

Выполнение всех задач, описанных в этих статьях, гарантирует, что служба сети сайта (SNS) имеет необходимые разрешения для эффективной работы в указанной среде Azure.

Следующие шаги