Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Экземпляры расширений можно создавать в кластере AKS, задавать обязательные и необязательные параметры, включая параметры, связанные с обновлениями и конфигурациями. Кроме того, можно просматривать экземпляры расширений, перечислять, обновлять и удалять их.
Перед началом работы ознакомьтесь с расширениями кластера.
Примечание.
Примеры, приведенные в этой статье, не завершены и предназначены только для демонстрации функциональных возможностей. Полный список команд и их параметров см. в справочнике по интерфейсу командной строки az k8s-extension.
Предварительные требования
Подписка Azure. Если у вас еще нет подписки Azure, вы можете создать бесплатную учетную запись.
Поставщики ресурсов
Microsoft.ContainerServiceиMicrosoft.KubernetesConfigurationдолжны быть зарегистрированы для вашей подписки. Чтобы зарегистрировать этих поставщиков, выполните следующую команду:az provider register --namespace Microsoft.ContainerService --wait az provider register --namespace Microsoft.KubernetesConfiguration --waitКластер AKS. Этот кластер должен быть создан с использованием управляемой идентификации, так как расширения для кластера не будут работать с кластерами, использующими субъект-службу. Для новых кластеров, созданных с помощью
az aks create, управляемое удостоверение настраивается по умолчанию. Для существующих кластеров на основе субъекта-службы переключитесь на управление удостоверениями, выполнивaz aks update--enable-managed-identityфлаг. Дополнительные сведения см. в разделе "Использование управляемого удостоверения".Установленная версия Azure CLI>= 2.16.0. Рекомендуется использовать последнюю версию.
Последняя версия расширений
k8s-extensionAzure CLI. Установите расширение, выполнив следующую команду:az extension add --name k8s-extensionЕсли расширение уже установлено, убедитесь, что вы используете последнюю версию, выполнив следующую команду:
az extension update --name k8s-extension
Создание экземпляра расширения
Создайте новый экземпляр расширения с помощью k8s-extension create, передав значения для обязательных параметров. В этом примере команда создает экземпляр расширения Машинное обучение Azure в кластере AKS:
az k8s-extension create --name azureml --extension-type Microsoft.AzureML.Kubernetes --scope cluster --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters --configuration-settings enableInference=True allowInsecureConnections=True inferenceRouterServiceType=LoadBalancer
В этом примере команды создается пример приложения Kubernetes (опубликованного в Marketplace) в кластере AKS:
az k8s-extension create --name voteapp --extension-type Contoso.AzureVoteKubernetesAppTest --scope cluster --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters --plan-name testPlanID --plan-product testOfferID --plan-publisher testPublisherID --configuration-settings title=VoteAnimal value1=Cats value2=Dogs
Примечание.
Служба расширения кластера не может хранить конфиденциальные данные более 48 часов. Если агенты расширения кластера не имеют сетевого подключения в течение более 48 часов и не могут определить, следует ли создавать расширение в кластере, то расширение переходит в Failed состояние. Когда система находится в состоянии Failed, необходимо снова запустить k8s-extension create, чтобы создать новый экземпляр расширения.
Обязательные параметры
| Имя параметра | Описание |
|---|---|
--name |
Имя экземпляра расширения |
--extension-type |
Тип расширения, которое необходимо установить в кластере. Например: Microsoft.AzureML.Kubernetes |
--cluster-name |
Имя кластера AKS, в котором должен быть создан экземпляр расширения. |
--resource-group |
Группа ресурсов, содержащая кластер AKS |
--cluster-type |
Тип кластера, в котором должен быть создан экземпляр расширения. Укажите managedClusters, так как он соответствует кластерам AKS. |
Необязательные параметры
| Имя параметра | Описание |
|---|---|
--auto-upgrade-minor-version |
Логическое свойство, определяющее, будет ли младшая версия расширения обновляться автоматически или нет. По умолчанию: true. Если этот параметр имеет значение true, невозможно задать version параметр, так как версия будет динамически обновлена. Если задано значение false, расширение не будет автоматически обновлено даже для версий исправлений. |
--version |
Версия устанавливаемого расширения (конкретная версия для прикрепления к ней экземпляра расширения). Не указывается, если для параметра auto-upgrade-minor-version задано значение true. |
--configuration-settings |
Параметры, которые можно передать в расширение для управления его функциями. Передайте значения в виде разделенных key=value пробелами пар после имени параметра. Если этот параметр используется в команде, то --configuration-settings-file не может использоваться в той же команде. |
--configuration-settings-file |
Путь к файлу JSON, имеющему пары "ключ-значение", которые будут использоваться для передачи параметров конфигурации в расширение. Если этот параметр используется в команде, то --configuration-settings не может использоваться в той же команде. |
--configuration-protected-settings |
Эти параметры нельзя извлечь с помощью вызовов API GET или команд az k8s-extension show, и поэтому они используются для передачи конфиденциальных параметров. Передайте значения в виде разделенных key=value пробелами пар после имени параметра. Если этот параметр используется в команде, то --configuration-protected-settings-file не может использоваться в той же команде. |
--configuration-protected-settings-file |
Путь к JSON-файлу, содержащему пары «ключ — значение», которые будут использоваться для передачи конфиденциальных параметров в расширение. Если этот параметр используется в команде, то --configuration-protected-settings не может использоваться в той же команде. |
--scope |
Область установки для расширения — cluster или namespace |
--release-namespace |
Этот параметр указывает пространство имен, в котором будет создан выпуск. Этот параметр имеет смысл только в случае, если для параметра scope задано значение cluster. |
--release-train |
Авторы расширений могут публиковать версии в различных каналах выпуска, таких как Stable, Preview и т. д. Если этот параметр не указан явно, по умолчанию используется Stable. Этот параметр нельзя использовать, если для параметра --auto-upgrade-minor-version задано значение false. |
--target-namespace |
Этот параметр указывает пространство имен, в котором будет создан выпуск. Разрешение системной учетной записи, созданной для этого экземпляра расширения, будет ограничено этим пространством имен. Этот параметр имеет смысл только в случае, если для параметра scope задано значение namespace. |
--plan-name |
Идентификатор плана расширения, указанный на странице Marketplace в портале Azure в разделе Сведения об использовании и поддержка. |
--plan-product |
Идентификатор продукта расширения, найденный на странице Marketplace в портал Azure в разделе "Сведения об использовании и поддержка". Примером этого является название используемого решения ISV. |
--plan-publisher |
Идентификатор издателя расширения, найденный на странице Marketplace в портал Azure в разделе "Сведения об использовании и поддержка". |
Отображение сведений об экземпляре расширения
Чтобы просмотреть сведения об установленном экземпляре расширения, используйте k8s-extension show, указав значения обязательных параметров.
az k8s-extension show --name azureml --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters
Список всех расширений, установленных в кластере
Чтобы перечислить все расширения, установленные в кластере, используйте , k8s-extension listпередавая значения для обязательных параметров.
az k8s-extension list --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters
Обновление экземпляра расширения
Примечание.
Ознакомьтесь с документацией по конкретному типу расширения, чтобы понять, какие именно настройки в --configuration-settings и --configuration-protected-settings можно обновить. Для --configuration-protected-settings необходимо указать все параметры, даже если обновляется только один параметр. Если какие-либо из этих параметров опущены, эти параметры будут считаться устаревшими и удаленными.
Чтобы обновить существующий экземпляр расширения, используйте k8s-extension update, передавая значения для обязательных параметров. Следующая команда обновляет параметр автоматического обновления для экземпляра расширения Машинное обучение Azure:
az k8s-extension update --name azureml --extension-type Microsoft.AzureML.Kubernetes --scope cluster --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters
Обязательные параметры для обновления
| Имя параметра | Описание |
|---|---|
--name |
Имя экземпляра расширения |
--extension-type |
Тип расширения, которое необходимо установить в кластере. Например: Microsoft.AzureML.Kubernetes |
--cluster-name |
Имя кластера AKS, в котором должен быть создан экземпляр расширения. |
--resource-group |
Группа ресурсов, содержащая кластер AKS |
--cluster-type |
Тип кластера, в котором должен быть создан экземпляр расширения. Укажите managedClusters, так как он соответствует кластерам AKS. |
При обновлении приложения Kubernetes, приобретенного через Marketplace, также требуются следующие параметры:
| Имя параметра | Описание |
|---|---|
--plan-name |
Идентификатор плана расширения, который можно найти на странице Marketplace на портале Azure в разделе Сведения об использовании и поддержка. |
--plan-product |
Идентификатор продукта расширения, найденный на странице Marketplace в портал Azure в разделе "Сведения об использовании и поддержка". Примером этого является название используемого решения ISV. |
--plan-publisher |
Идентификатор издателя расширения, найденный на странице Marketplace в портал Azure в разделе "Сведения об использовании и поддержка". |
Необязательные параметры для обновления
| Имя параметра | Описание |
|---|---|
--auto-upgrade-minor-version |
Логическое свойство, определяющее, будет ли младшая версия расширения обновляться автоматически или нет. По умолчанию: true. Если этот параметр имеет значение true, то нельзя задать параметр version, так как версия будет динамически обновляться. Если задано значение false, расширение не будет автоматически обновлено даже для версий исправлений. |
--version |
Версия устанавливаемого расширения (конкретная версия для прикрепления к ней экземпляра расширения). Не указывается, если для параметра auto-upgrade-minor-version задано значение true. |
--configuration-settings |
Параметры, которые можно передать в расширение для управления его функциями. Необходимо указать только те параметры, которые нужно обновить. Указанные параметры будут заменены предоставленными значениями. Передайте значения в виде разделенных key=value пробелами пар после имени параметра. Если этот параметр используется в команде, то --configuration-settings-file не может использоваться в той же команде. |
--configuration-settings-file |
Путь к файлу JSON, имеющему пары "ключ-значение", которые будут использоваться для передачи параметров конфигурации в расширение. Если этот параметр используется в команде, то --configuration-settings не может использоваться в той же команде. |
--configuration-protected-settings |
Эти параметры нельзя извлечь с помощью вызовов API GET или команд az k8s-extension show, и поэтому они используются для передачи конфиденциальных параметров. При обновлении параметра необходимо указать все параметры. Если часть параметров будет опущена, эти параметры будут считаться устаревшими и будут удалены. Передайте значения в виде разделенных key=value пробелами пар после имени параметра. Если этот параметр используется в команде, то --configuration-protected-settings-file не может использоваться в той же команде. |
--configuration-protected-settings-file |
Путь к JSON-файлу, содержащему пары «ключ — значение», которые будут использоваться для передачи конфиденциальных параметров в расширение. Если этот параметр используется в команде, то --configuration-protected-settings не может использоваться в той же команде. |
--scope |
Область установки для расширения — cluster или namespace |
--release-train |
Авторы расширений могут публиковать версии в различных каналах выпуска, таких как Stable, Preview и т. д. Если этот параметр не указан явно, по умолчанию используется Stable. Этот параметр нельзя использовать, если для параметра autoUpgradeMinorVersion задано значение false. |
Удаление экземпляра расширения
Чтобы удалить экземпляр расширения в кластере, используйте k8s-extension-delete, указав значения обязательных параметров.
az k8s-extension delete --name azureml --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters
Примечание.
Ресурс Azure, представляющий это расширение, немедленно удаляется. Выпуск Helm в кластере, связанном с этим расширением, удаляется только в том случае, если агенты, работающие в кластере Kubernetes, подключены к сети и могут снова обратиться к службам Azure для получения требуемого состояния.
Следующие шаги
- Просмотрите список доступных расширений кластера.
- Сведения о приложениях Kubernetes, доступных через Marketplace.