Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Разверните функцию Azure в кластере Kubernetes.
Синтаксис
# Azure Function on Kubernetes v1
# Deploy Azure function to Kubernetes cluster.
- task: AzureFunctionOnKubernetes@1
inputs:
# Service Connections
connectionType: 'Kubernetes Service Connection' # 'Azure Resource Manager' | 'Kubernetes Service Connection'. Required. Service connection type. Default: Kubernetes Service Connection.
dockerRegistryServiceConnection: # string. Required. Docker registry service connection.
#kubernetesServiceConnection: # string. Alias: kubernetesServiceEndpoint. Required when connectionType = Kubernetes Service Connection. Kubernetes service connection.
#azureSubscriptionConnection: # string. Alias: azureSubscriptionEndpoint. Required when connectionType = Azure Resource Manager. Azure subscription.
#azureResourceGroup: # string. Required when connectionType = Azure Resource Manager. Resource group.
#kubernetesCluster: # string. Required when connectionType = Azure Resource Manager. Kubernetes cluster.
# Commands
#namespace: # string. Kubernetes namespace.
#secretName: # string. Secret Name.
#dockerHubNamespace: # string. Docker Hub namespace.
appName: # string. Required. Application Name.
#functionRootDirectory: # string. Function root directory.
#waitForStability: true # boolean. Wait for stability. Default: true.
#arguments: # string. Arguments.
Входные данные
connectionType
-
тип подключения службы
string. Обязательное. Допустимые значения: Azure Resource Manager, Kubernetes Service Connection. Значение по умолчанию: Kubernetes Service Connection.
Выберите тип подключения к службе Kubernetes.
-
Kubernetes Service Connection. Позволяет предоставить файл KubeConfig, указать учетную запись службы или импортировать экземпляр AKS с параметром подписки Azure. При импорте экземпляра AKS с параметром подписки Azure требуется доступ к кластеру Kubernetes во время настройки подключения службы. -
Azure Resource Manager. Позволяет выбрать экземпляр AKS. Не обращается к кластеру Kubernetes во время настройки подключения службы.
Дополнительные сведения см. в разделе Замечания.
dockerRegistryServiceConnection
-
подключение службы реестра Docker
string. Обязательное.
Выберите подключение службы реестра Docker.
подключения к службе Kubernetes kubernetesServiceConnection -
Псевдоним ввода: kubernetesServiceEndpoint.
string. Требуется, если connectionType = Kubernetes Service Connection.
Выберите подключение службы Kubernetes.
azureSubscriptionConnection
-
подписке Azure
Псевдоним ввода: azureSubscriptionEndpoint.
string. Требуется, если connectionType = Azure Resource Manager.
Выберите подписку Azure Resource Manager, которая содержит Реестр контейнеров Azure.Примечание: Чтобы настроить подключение новой службы, выберите подписку Azure из списка и нажмите кнопку "Авторизовать". Если вашей подписки нет в списке или вы хотите использовать существующий субъект-службу, вы можете настроить подключение к службе Azure с помощью кнопки «Добавить» или «Управление».
группы ресурсов azureResourceGroup -
string. Требуется, если connectionType = Azure Resource Manager.
Выберите группу ресурсов Azure.
kubernetesCluster
-
кластере Kubernetes
string. Требуется, если connectionType = Azure Resource Manager.
Выберите управляемый кластер Azure.
namespace
-
пространства имен Kubernetes
string.
Пространство имен Kubernetes.
имени секрета secretName -
string.
Секрет Kubernetes, содержащий данные конфигурации функции (например, AzureWebJobsStorage: Azure storage connection string).
dockerHubNamespace
-
пространство имен Docker Hub
string.
Пространство имен Docker Hub. Требуется для частного репозитория Docker Hub.
имени приложения appName -
string. Обязательное.
Имя приложения. Объекты Kubernetes, созданные с помощью этого имени. Это должно соответствовать соглашениям об именовании Kubernetes для имен ресурсов.
корневого каталога функции functionRootDirectory -
string.
Корневой каталог функции. Должен содержать host.json. Сборка Docker и отправка выполняются из этого каталога.
waitForStability
-
ожидание стабильности
boolean. Значение по умолчанию: true.
Дождитесь достижения требуемого состояния объектов Kubernetes.
arguments
-
аргументы
string.
Передайте аргументы в команду. Например,
--no-docker --service-type NodePort.
Параметры управления задачами
Помимо входных данных, все задачи имеют параметры управления. Дополнительные сведения см. в разделе Параметры управления и общие свойства задач.
Выходные переменные
Нет.
Замечания
Рекомендации по подключению к службе Kubernetes при доступе к AKS
Вы можете создать подключение службы Kubernetes с любым из следующих параметров.
- КубеКонфиг
- Сервисная учетная запись
- Подписка на Azure
При выборе параметра подписки Azure kubernetes необходимо получить доступ к Azure DevOps во время настройки подключения службы. Могут возникнуть различные причины, по которым невозможно создать подключение к службе, например, вы создали частный кластер или кластер имеет локальных учетных записей, отключенных. В этих случаях Azure DevOps не может подключиться к кластеру во время настройки подключения к службе, и вы увидите зависшие экране загрузки пространств имен.
Начиная с Kubernetes 1.24 долговременные маркеры больше не создаются по умолчанию. Kubernetes рекомендует не использовать долгосрочные токены. В результате задачи, использующие подключение службы Kubernetes, созданное с помощью параметра подписки Azure, не имеют доступа к постоянному маркеру, необходимому для проверки подлинности и не удается получить доступ к кластеру Kubernetes. Это также приводит к замороженной загрузке пространств имен диалоге.
Использование подключения службы Azure Resource Manager для доступа к AKS
Для клиентов AKS тип подключения службы Azure Resource Manager предоставляет лучший способ подключения к частному кластеру или кластеру с отключенными локальными учетными записями. Этот метод не зависит от подключения к кластеру во время создания подключения к службе. Доступ к AKS откладывается в среду выполнения конвейера, что имеет следующие преимущества:
- Доступ к (частному) кластеру AKS можно выполнить из локального или масштабируемого агента с линией зрения к кластеру.
- Маркер создается для каждой задачи, которая использует подключение службы Azure Resource Manager. Это гарантирует подключение к Kubernetes с коротким маркером, который является рекомендацией Kubernetes.
- Доступ к AKS можно получить даже при отключении локальных учетных записей.
Часто задаваемые вопросы о подключении к службе
Я получаю следующее сообщение об ошибке: не удалось найти секрет, связанный с учетной записью службы. Что происходит?
Вы используете подключение к службе Kubernetes с параметром подписки Azure. Мы обновляем этот метод для создания долгосрочных маркеров. Ожидается, что это будет доступно в середине мая. Однако рекомендуется начать использовать тип подключения службы Azure, а не использовать долгоживущие маркеры в руководстве Kubernetes.
Я использую AKS и не хочу ничего изменить, можно ли продолжать использовать задачи с подключением службы Kubernetes?
Мы обновляем этот метод для создания долгосрочных маркеров. Ожидается, что это будет доступно в середине мая. Тем не менее, обратите внимание, что этот подход подходит для руководства Kubernetes.
Я использую задачи Kubernetes и подключение службы Kubernetes, но не AKS. Должен ли я беспокоиться?
Задачи будут продолжать работать, как и раньше.
Будет ли удален тип подключения службы Kubernetes?
Наши задачи Kubernetes работают с любым кластером Kubernetes независимо от того, где они работают. Подключение службы Kubernetes будет продолжать существовать.
Я клиент AKS, и все работает хорошо, должен ли я действовать?
Изменить ничего не нужно. Если вы используете подключение службы Kubernetes и выбранную подписку Azure во время создания, следует учитывать руководство по Kubernetes по использованию долгосрочных маркеров.
Я создаю среду Kubernetes и не могу использовать подключения к службам.
Если вы не сможете получить доступ к AKS во время создания среды, можно использовать пустую среду и задать connectionType входные данные для подключения службы Azure Resource Manager.
У меня есть AKS, настроенный с помощью Azure Active Directory RBAC, и мой конвейер не работает. Будут ли эти обновления разрешать это?
Доступ к Kubernetes при включении AAD RBAC не связан с созданием маркера. Чтобы предотвратить интерактивный запрос, мы будем поддерживать kubelogin в будущем обновлении.
Требования
| Требование | Описание |
|---|---|
| Типы конвейеров | YAML, классическая сборка, классический выпуск |
| Выполняется в | Агент, DeploymentGroup |
| Требования | Отсутствует |
| Возможности | Эта задача не удовлетворяет требованиям к последующим задачам в задании. |
| ограничения команд | Любое |
| переменные settable | Любое |
| Версия агента | Все поддерживаемые версии агента. |
| Категория задач | Развертывание |