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


Диспетчер кластеров. Управление диспетчером кластеров в операторе Nexus

Диспетчер кластеров развертывается в подписке Azure оператора для управления жизненным циклом кластеров инфраструктуры Оператора Nexus.

Подготовка к работе

Убедитесь, что у вас есть следующие сведения:

  • Идентификатор подписки Azure — идентификатор подписки Azure, в котором необходимо создать диспетчер кластеров (должен быть одинаковым идентификатором подписки контроллера Network Fabric).
  • Идентификатор контроллера Network Fabric — контроллер Network Fabric и диспетчер кластеров имеют связь 1:1. Необходимо, чтобы идентификатор ресурса контроллера Network Fabric был связан с диспетчером кластеров.
  • Идентификатор рабочей области Log Analytics — идентификатор ресурса рабочей области Log Analytics, используемой для сбора журналов.
  • Регион Azure. Диспетчер кластеров должен быть создан в том же регионе Azure, что и контроллер Network Fabric. Этот регион Azure должен использоваться в Location поле диспетчера кластеров и всех связанных экземпляров Operator Nexus.

Ограничения

  • Именование — правила именования можно найти здесь.

Глобальные аргументы

Некоторые аргументы, доступные для каждой команды Azure CLI

  • --debug — выводит еще больше сведений об операциях CLI, используемых для отладки. Если вы обнаружили ошибку, включите выходные данные, полученные с помощью флага --debug, в отправляемый отчет об ошибке.
  • --help -h — выводит справочные сведения о командах и их аргументах и списках доступных подгрупп и команд.
  • --only-show-errors — отображаются только ошибки, подавление предупреждений.
  • --output -o — указывает выходной формат. Доступные форматы выходных данных: Json, Jsonc (цветной JSON), tsv (значения с разделительными табуляциями), таблица (таблицы ASCII, доступные для чтения человеком) и yaml. По умолчанию интерфейс командной строки выводит Json.
  • --query — использует язык запросов JMESPath для фильтрации выходных данных, возвращаемых службами Azure.
  • --подробные сведения о ресурсах, созданных в Azure во время операции, и другие полезные сведения

Свойства Диспетчера кластеров

Имя свойства Description
Имя, идентификатор, расположение, теги, тип Имя: понятное имя пользователя
Идентификатор: < идентификатор ресурса >
Расположение: регион Azure, в котором создается диспетчер кластеров. Значения из az account list -locations.
Теги: теги ресурсов
Тип: Microsoft.NetworkCloud/clusterManagers
managerExtendedLocation ExtendedLocation, связанный с диспетчером кластеров
managedResourceGroupConfiguration Сведения об управляемой группе ресурсов
fabricControllerId Ссылка на контроллер Network Fabric, который имеет значение 1:1 с этим диспетчером кластеров
AnalyticsWorkspaceId Рабочая область Log Analytics, в которой будут передаваться журналы, относящиеся к клиенту.
clusterVersions[] Список версий кластера, поддерживаемых диспетчером кластеров. Он используется в качестве входных данных в свойстве clusterVersion.
provisioningState Состояние подготовки последней операции в диспетчере кластеров. Одно из следующих: успешно, сбой, отмена, подготовка, прием, обновление
detailedStatus Подробные состояния, предоставляющие дополнительные сведения о состоянии диспетчера кластеров.
detailedStatusMessage Описательное сообщение о текущем подробном состоянии.

Удостоверение Диспетчера кластеров

Начиная с версии API 2024-06-01-preview, клиент может назначить управляемое удостоверение диспетчеру кластеров. Поддерживаются управляемые удостоверения, назначенные системой и назначаемые пользователем.

Если диспетчер кластеров создается с управляемым удостоверением, назначаемого пользователем, клиент должен подготовить доступ к этой удостоверению для платформы Nexus. В частности, Microsoft.ManagedIdentity/userAssignedIdentities/assign/action необходимо добавить разрешение на удостоверение, назначаемое пользователем, для AFOI-NC-MGMT-PME-PROD идентификатора Microsoft Entra. Известное ограничение платформы, которая будет решена в будущем.

Назначение роли можно выполнить с помощью портал Azure:

  • Откройте портал Azure и найдите назначаемое пользователем удостоверение.
    • Если ожидается несколько подготовленных управляемых удостоверений, роль можно добавить вместо этого на уровне группы ресурсов или подписки.
  • В разделе Access control (IAM)щелкните "Добавить новое назначение роли"
  • Выберите роль: Managed Identity Operator. Просмотрите разрешения , которые предоставляет роль.
  • Назначьте доступ: Пользователь, группа или субъект-служба
  • Выбор участника: AFOI-NC-MGMT-PME-PROD приложение
  • Проверка и назначение

Создание диспетчера кластеров

Создайте диспетчер кластеров с помощью Azure CLI:

az networkcloud clustermanager create Используйте команду для создания диспетчера кластеров. Эта команда создает новый диспетчер кластеров или обновляет свойства диспетчера кластеров, если он существует. Если у вас несколько подписок Azure, выберите соответствующий идентификатор подписки с помощью команды az account set .

az networkcloud clustermanager create \
    --name "$CLUSTER_MANAGER_NAME" \
    --location "$LOCATION" \
    --analytics-workspace-id "$LAW_NAME" \
    --fabric-controller-id "$NFC_ID" \
    --managed-resource-group-configuration name="$MRG_NAME" location="$MRG_LOCATION" \
    --tags $TAG_KEY1="$TAG_VALUE1" $TAG_KEY2="$TAG_VALUE2"
    --resource-group "$CLUSTER_MANAGER_RG"
    --subscription "$SUB_ID"
  • Аргументы
    • --name -n [обязательный] — имя диспетчера кластеров.
    • --fabric-controller-id [обязательный] — идентификатор ресурса контроллера Network Fabric, связанного с диспетчером кластеров.
    • --resource-group -g [Обязательный] — имя группы ресурсов. Вы можете настроить группу ресурсов по умолчанию с помощью az configure --defaults group=<name>.
    • --analytics-workspace-id — идентификатор ресурса рабочей области Log Analytics, которая используется для сбора журналов.
    • --location -l — location. Регион Azure, в котором создается диспетчер кластеров. Значения из az account list -locations. Расположение по умолчанию можно настроить с помощью az configure --defaults location="$LOCATION".
    • --managed-resource-group-configuration — конфигурация управляемой группы ресурсов, связанной с ресурсом.
      • Использование: --managed-resource-group-configuration location=XX name=XX
      • расположение: регион управляемой группы ресурсов. Если это не указано, выбирается регион родительского ресурса.
      • имя: имя управляемой группы ресурсов. Если это не указано, уникальное имя создается автоматически.
    • wait/--no-wait — дождитесь завершения команды или не дождитесь завершения длительной операции.
    • --tags — теги, разделенные пробелами: key[=value] [key[=value]...]. Использование '' для очистки существующих тегов
    • --subscription — имя или идентификатор подписки. Подписку по умолчанию можно настроить с помощью az account set -s NAME_OR_ID.
    • --mi-system-assigned — включение управляемого удостоверения, назначаемого системой. После добавления удостоверение можно удалить только через вызов API в настоящее время.
    • --mi-user-assigned — идентификаторы ресурсов, разделенных пробелами, для добавленных управляемых удостоверений, назначенных пользователем. После добавления удостоверение можно удалить только через вызов API в настоящее время.

Создайте диспетчер кластеров с помощью редактора шаблонов Azure Resource Manager:

Альтернативным способом создания диспетчера кластеров является редактор шаблонов ARM.

Чтобы создать кластер таким образом, необходимо предоставить файл шаблона (clusterManager.jsonc) и файл параметров (clusterManager.parameters.jsonc).

Примеры этих двух файлов можно найти здесь:

clusterManager.jsonc , clusterManager.parameters.jsonc

Примечание.

Чтобы получить правильное форматирование, скопируйте необработанный файл кода. Значения в файле clusterManager.parameters.jsonc зависят от клиента и могут не быть полным списком. Обновите поля значений для конкретной среды.

  1. В веб-браузере перейдите на портал Azure и войдите.
  2. На панели поиска портал Azure найдите "Развернуть пользовательский шаблон", а затем выберите его из доступных служб.
  3. Щелкните "Создать собственный шаблон" в редакторе.
  4. Щелкните "Загрузить файл". Найдите файл шаблона clusterManager.jsonc и отправьте его.
  5. Нажмите кнопку Сохранить.
  6. Нажмите кнопку "Изменить параметры".
  7. Нажмите кнопку "Загрузить файл". Найдите файл параметров clusterManager.parameters.jsonc и отправьте его.
  8. Нажмите кнопку Сохранить.
  9. Выберите правильную подписку.
  10. Найдите группу ресурсов, если она уже существует или создайте новую.
  11. Убедитесь, что все сведения об экземпляре верны.
  12. Щелкните Просмотреть и создать.

Список и отображение диспетчеров кластеров

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

Вывод списка диспетчеров кластеров в группе ресурсов

Эта команда содержит список диспетчеров кластеров в указанной группе ресурсов.

az networkcloud clustermanager list --resource-group "$CLUSTER_MANAGER_RG"

Вывод списка диспетчеров кластеров в подписке

Эта команда содержит список диспетчеров кластеров в указанной подписке.

az networkcloud clustermanager list  --subscription "$SUB_ID"

Отображение свойств Диспетчера кластеров

Эта команда содержит свойства указанного диспетчера кластеров.

az networkcloud clustermanager show \
    --name "$CLUSTER_MANAGER_NAME" \
    --resource-group "$CLUSTER_MANAGER_RG" \
    --subscription "$SUB_ID"

Аргументы команд list/show

  • --name -n — имя диспетчера кластеров.
  • --IDs — один или несколько идентификаторов ресурсов (разделенных пробелами). Это должен быть полный идентификатор ресурса, содержащий все сведения о аргументах resource ID.
  • --resource-group -g — имя группы ресурсов. Вы можете настроить расположение по умолчанию с помощью az configure --defaults group=<name>.
  • --subscription — имя или идентификатор подписки. Подписку по умолчанию можно настроить с помощью az account set -s NAME_OR_ID.

Обновление диспетчера кластеров

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

az networkcloud clustermanager update \
    --name "$CLUSTER_MANAGER_NAME" \
    --tags $TAG_KEY1="$TAG_VALUE1" $TAG_KEY2="$TAG_VALUE2" \
    --resource-group "$CLUSTER_MANAGER_RG" \
    --subscription "$SUB_ID"
  • Аргументы
    • --tags — теги, разделенные TSpace: key[=value] [key[=value] ...]. Используйте "" для очистки существующих тегов.
    • --name -n — имя диспетчера кластеров.
    • --IDs — один или несколько идентификаторов ресурсов (разделенных пробелами). Это должен быть полный идентификатор ресурса, содержащий все сведения о аргументах resource ID.
    • --resource-group -g — имя группы ресурсов. Вы можете настроить расположение по умолчанию с помощью az configure --defaults group=<name>.
    • --subscription — имя или идентификатор подписки. Подписку по умолчанию можно настроить с помощью az account set -s NAME_OR_ID.
    • --mi-system-assigned — включение управляемого удостоверения, назначаемого системой. После добавления удостоверение можно удалить только через вызов API в настоящее время.
    • --mi-user-assigned — идентификаторы ресурсов, разделенных пробелами, для добавленных управляемых удостоверений, назначенных пользователем. После добавления удостоверение можно удалить только через вызов API в настоящее время.

Обновление удостоверений Диспетчера кластеров с помощью API

Управляемые удостоверения Диспетчера кластеров можно назначать с помощью интерфейса командной строки. Отменить назначение удостоверений можно с помощью вызовов API. Обратите внимание, <APIVersion> что API версии 2024-06-01-preview или более поздней версии.

  • Чтобы удалить все управляемые удостоверения, выполните следующую команду:

    az rest --method PATCH --url /subscriptions/$SUB_ID/resourceGroups/$CLUSTER_MANAGER_RG/providers/Microsoft.NetworkCloud/clusterManagers/$CLUSTER_MANAGER_NAME?api-version=<APIVersion> --body "{\"identity\":{\"type\":\"None\"}}"
    
  • Если были добавлены управляемые удостоверения, назначаемые пользователем и назначаемым системой, можно удалить, обновив следующие type SystemAssigned:

    az rest --method PATCH --url /subscriptions/$SUB_ID/resourceGroups/$CLUSTER_MANAGER_RG/providers/Microsoft.NetworkCloud/clusterManagers/$CLUSTER_MANAGER_NAME?api-version=<APIVersion> --body @~/uai-body.json
    

    Пример текста запроса (uai-body.json):

    {
      "identity": {
          "type": "SystemAssigned"
      }
    }
    
  • Если добавлены управляемые удостоверения, назначаемые пользователем и назначаемые системой, можно удалить, обновив следующие type UserAssignedзначения:

    az rest --method PATCH --url /subscriptions/$SUB_ID/resourceGroups/$CLUSTER_MANAGER_RG/providers/Microsoft.NetworkCloud/clusterManagers/$CLUSTER_MANAGER_NAME?api-version=<APIVersion> --body @~/uai-body.json
    

    Пример текста запроса (uai-body.json):

    {
      "identity": {
          "type": "UserAssigned",
      	"userAssignedIdentities": {
      		"/subscriptions/$SUB_ID/resourceGroups/$UAI_RESOURCE_GROUP/providers/Microsoft.ManagedIdentity/userAssignedIdentities/$UAI_NAME": {}
      	}
      }
    }
    
  • Если добавлены несколько управляемых удостоверений, назначенных пользователем, один из них можно удалить, выполнив следующие действия:

    az rest --method PATCH --url /subscriptions/$SUB_ID/resourceGroups/$CLUSTER_MANAGER_RG/providers/Microsoft.NetworkCloud/clusterManagers/$CLUSTER_MANAGER_NAME?api-version=<APIVersion> --body @~/uai-body.json
    

    Пример текста запроса (uai-body.json):

    {
      "identity": {
          "type": "UserAssigned",
      	"userAssignedIdentities": {
      		"/subscriptions/$SUB_ID/resourceGroups/$UAI_RESOURCE_GROUP/providers/Microsoft.ManagedIdentity/userAssignedIdentities/$UAI_NAME": null
      	}
      }
    }
    

Удаление диспетчера кластеров

Эта команда используется для удаления предоставленного диспетчера кластеров.

Предупреждение

Диспетчер кластеров, имеющий связанный контроллер Network Fabric или все кластеры, ссылающиеся на этот диспетчер кластеров, могут быть удалены.

az networkcloud clustermanager delete \
    --name "$CLUSTER_MANAGER_NAME" \
    --resource-group "$CLUSTER_MANAGER_RG" \
    --subscription "$SUB_ID"
  • Аргументы
    • --no-wait - не дождитесь завершения длительной операции.
    • --да -y - не запрашивайте подтверждение.
    • --name -n — имя диспетчера кластеров.
    • --IDs — один или несколько идентификаторов ресурсов (разделенных пробелами). Это должен быть полный идентификатор ресурса, содержащий все сведения о аргументах resource ID.
    • --resource-group -g — имя группы ресурсов. Вы можете настроить расположение по умолчанию с помощью az configure --defaults group=<name>.
    • --subscription — имя или идентификатор подписки. Подписку по умолчанию можно настроить с помощью az account set -s NAME_OR_ID.

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

После успешного создания контроллера Network Fabric и диспетчера кластеров необходимо создать Network Fabric.