kubernetes.core.k8s_service – Управление сервисами в Kubernetes
Примечание
Этот плагин входит в коллекцию kubernetes.core (версия 1.1.1).
Для его установки используйте: ansible-galaxy collection install kubernetes.core.
Для использования в плейбуке укажите: kubernetes.core.k8s_service.
Описание
- Используйте Openshift Python SDK для управления сервисами в Kubernetes.
Примечание
У этого модуля есть соответствующий плагин действий.
Требования
Ниже приведены требования к хосту, на котором будет выполняться этот модуль.
- python >= 2.7
- openshift >= 0.6.2
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| api_key строка | Токен, используемый для аутентификации с API. Также может быть задан через переменную окружения K8S_AUTH_API_KEY. | |
| apply логическое |
| apply сравнивает желаемое определение ресурса с ранее предоставленным определением ресурса, игнорируя свойства, которые автоматически генерируютсяapply работает лучше с сервисами, чем 'force=yes'взаимоисключающее с merge_type
|
| ca_cert путь | Путь к сертификату CA, используемому для аутентификации с API. Для предотвращения ошибок валидации сертификата необходимо предоставить полную цепочку сертификатов. Также может быть задан через переменную окружения K8S_AUTH_SSL_CA_CERT. псевдонимы: ssl_ca_cert | |
| client_cert путь | Путь к сертификату, используемому для аутентификации с API. Также может быть задан через переменную окружения K8S_AUTH_CERT_FILE. псевдонимы: cert_file | |
| client_key путь | Путь к файлу ключа, используемому для аутентификации с API. Также может быть задан через переменную окружения K8S_AUTH_KEY_FILE. псевдонимы: key_file | |
| context строка | Имя контекста, найденного в файле конфигурации. Также может быть задан через переменную окружения K8S_AUTH_CONTEXT. | |
| force логическое |
| Если установлено yes, и state равно present, существующий объект будет заменен. |
| host строка | Укажите URL для доступа к API. Также может быть задан через переменную окружения K8S_AUTH_HOST. | |
| kubeconfig путь | Путь к существующему файлу конфигурации Kubernetes. Если не предоставлен и не заданы другие параметры подключения, клиент openshift попытается загрузить файл конфигурации по умолчанию из ~/.kube/config.json. Также может быть задан через переменную окружения K8S_AUTH_KUBECONFIG. | |
| merge_type список / элементы=строка |
| Способ переопределения по умолчанию подхода слияния патчей. По умолчанию обычно используется стратегическое слияние. Например, определения пользовательских ресурсов обычно не обновляются стандартным стратегическим слиянием. Вы можете использовать merge, если видите сообщение "формат патча стратегического слияния не поддерживается"Требуется openshift >= 0.6.2 Если задано более одного merge_type, merge_types будут проверены в указанном порядке Если openshift >= 0.6.2, значение по умолчанию ['strategic-merge', 'merge'], что идеально подходит для использования одних и тех же параметров для типов ресурсов, которые объединяют пользовательские ресурсы и встроенные ресурсы. Для openshift < 0.6.2 значение по умолчанию просто strategic-merge. |
| name строка / обязательно | Используется для указания имени объекта Service. | |
| namespace строка / обязательно | Используется для указания пространства имен объекта Service. | |
| password строка | Введите пароль для аутентификации с API. Также может быть задан через переменную окружения K8S_AUTH_PASSWORD. Обратитесь к описанию параметра username для обсуждения случаев применения этого параметра. | |
| persist_config логическое |
| Сохранять ли токены обновления конфигурации kube. Также может быть задан через переменную окружения K8S_AUTH_PERSIST_CONFIG. Когда контекст k8s использует учетные данные пользователя с токенами обновления (например, oidc или gke/gcloud auth), токен обновляется библиотекой k8s python, но по умолчанию не сохраняется. Поэтому старый токен обновления может истечь, и следующая аутентификация может завершиться неудачей. Установка этого флага в значение true сообщит клиенту k8s python о сохранении нового токена обновления в файле конфигурации kube. Значение по умолчанию false. Обратите внимание, что текущая версия библиотеки k8s python еще не поддерживает установку этого флага в значение True. Исправление для этой библиотеки k8s python здесь: https://github.com/kubernetes-client/python-base/pull/169 |
| ports список / элементы=словарь | Список портов для экспонирования. | |
| proxy строка | URL HTTP-прокси, который нужно использовать для подключения. Также может быть задан через переменную окружения K8S_AUTH_PROXY. Обратите внимание, что этот модуль не получает типичные настройки прокси из среды (например, HTTP_PROXY). | |
| resource_definition строка | Укажите допустимое определение YAML (как строка, список или словарь) для объекта при создании или обновлении. ПРИМЕЧАНИЕ: kind, api_version, name и namespace будут перезаписаны соответствующими значениями, найденными в предоставленном resource_definition. псевдонимы: definition, inline | |
| selector словарь | Селекторы меток идентифицируют объекты, к которым должен применяться этот сервис. | |
| src путь | Укажите путь к файлу, содержащему допустимое определение YAML объекта или объектов, которые нужно создать или обновить. Взаимоисключительно с resource_definition. ПРИМЕЧАНИЕ: kind, api_version, name и namespace будут перезаписаны соответствующими значениями, найденными в конфигурации, считанной из файла src. Считывает данные из локальной файловой системы. Для считывания данных из файловой системы контроллера Ansible, включая зашифрованные файлы, используйте плагин поиска файлов или плагин поиска шаблонов в сочетании с фильтром from_yaml и передайте результат в resource_definition. Смотрите Примеры ниже. Взаимоисключительно с template в случае модуля k8s. | |
| state строка |
| Определяет, должен ли объект быть создан, изменён или удалён. При установке в значение present, объект будет создан, если он еще не существует. При установке в значение absent, существующий объект будет удалён. При установке в значение present, существующий объект будет изменён, если его атрибуты отличаются от указанных с помощью resource_definition или src. |
| type строка |
| Определяет тип Service, который нужно создать. |
| username строка | Введите имя пользователя для аутентификации с API. Также может быть задан через переменную окружения K8S_AUTH_USERNAME. Обратите внимание, что это работает только с кластерами, настроенными для использования HTTP Basic Auth. Если ваш кластер использует другой тип аутентификации (например, OAuth2 в OpenShift), этот параметр не будет работать должным образом, и вам следует обратиться к модулю k8s_auth, так как он может выполнять необходимые действия. | |
| validate_certs логическое |
| Включает или отключает проверку SSL-сертификатов сервера API. Также может быть задан через переменную окружения K8S_AUTH_VERIFY_SSL. псевдонимы: verify_ssl |
Примечания
Примечание
- Клиент OpenShift Python использует клиент K8s Python, предоставляя полный доступ ко всем API и моделям, доступным на обеих платформах. Подробную информацию о версиях API и дополнительную информацию можно найти на сайте https://github.com/openshift/openshift-restclient-python
- Для предотвращения ошибок проверки сертификатов SSL, когда
validate_certsравно True, необходимо предоставить полный цепочку сертификатов для сервера API черезca_certили в файле kubeconfig.
Примеры
- name: Expose https port with ClusterIP
kubernetes.core.k8s_service:
state: present
name: test-https
namespace: default
ports:
- port: 443
protocol: TCP
selector:
key: special
- name: Expose https port with ClusterIP using spec
kubernetes.core.k8s_service:
state: present
name: test-https
namespace: default
inline:
spec:
ports:
- port: 443
protocol: TCP
selector:
key: special
Значения возврата
Общие значения возврата описаны здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание | |
|---|---|---|---|
| result complex | успех | Созданный, изменённый или иначе существующий объект Service. Будет пустым в случае удаления. | |
| api_version строка | успех | Версионированная схема этого представления объекта. | |
| kind строка | успех | Всегда 'Service'. | |
| metadata complex | успех | Стандартные метаданные объекта. Включают имя, пространство имён, аннотации, метки и т. д. | |
| spec complex | успех | Конкретные атрибуты объекта. Будут варьироваться в зависимости от api_version и kind. | |
| status complex | успех | Текущие детали статуса объекта. | |
Авторы
- Команда KubeVirt (@kubevirt)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/kubernetes/core/k8s_service_module.html