k8s_service – Управление службами в Kubernetes
Новое в версии 2.8.
Обзор
- Использование Openshift Python SDK для управления службами в Kubernetes
Требования
Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.
- python >= 2.7
- openshift >= 0.6.2
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| api_key строка | Токен, используемый для аутентификации с API. Также может быть указан через переменную среды K8S_AUTH_API_KEY. | |
| 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 логическое |
| Если установлено в True, и 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, типы слияния будут пробоваться в указанном порядке Если openshift >= 0.6.2, по умолчанию установлено ['strategic-merge', 'merge'], что идеально подходит для использования одних и тех же параметров для типов ресурсов, которые объединяют пользовательские ресурсы и встроенные ресурсы. Для openshift < 0.6.2 значение по умолчанию — просто strategic-merge. |
| name строка / обязательно | Используется для указания имени объекта Service. | |
| namespace строка / обязательно | Используется для указания пространства имен объекта Service. | |
| password строка | Укажите пароль для аутентификации с API. Также может быть указан через переменную среды K8S_AUTH_PASSWORD. Обратитесь к описанию параметра username для получения информации о случаях применения этого параметра. | |
| ports список | Список портов для экспонирования. | |
| proxy - добавлен в 2.9 | URL HTTP-прокси, который следует использовать для подключения. Также может быть указан через переменную среды K8S_AUTH_PROXY. Обратите внимание, что этот модуль не получает типичные параметры прокси из среды (например, HTTP_PROXY). | |
| resource_definition словарь | Частичное YAML-описание объекта Service, который создается/обновляется. Здесь вы можете определить параметры Kubernetes Service Resource, которые не охвачены параметрами этого модуля. ПРИМЕЧАНИЕ: resource_definition имеет меньший приоритет, чем параметры модуля. Если вы попытаетесь определить, например, metadata.namespace здесь, это значение будет проигнорировано, и вместо него будет использовано значение из metadata. псевдонимы: definition, inline | |
| selector словарь | Селекторы меток идентифицируют объекты, к которым должна применяться эта служба. | |
| state - |
| Определяет, должен ли объект быть создан, изменён или удалён. При значении present, объект будет создан, если он ещё не существует. Если значение absent, существующий объект будет удалён. Если значение present, существующий объект будет изменён, если его атрибуты отличаются от указанных с помощью параметров модуля и resource_definition. |
| type - |
| Указывает тип создаваемой службы. |
| 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
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
k8s_service:
state: present
name: test-https
namespace: default
inline:
spec:
ports:
- port: 443
protocol: TCP
selector:
key: special
Значения возврата
Общие значения возврата описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание | |
|---|---|---|---|
| result complex | success | Созданный, измененный или существующий объект Service. Будет пустым в случае удаления. | |
| api_version string | success | Версионированная схема этого представления объекта. | |
| kind string | success | Всегда 'Service'. | |
| metadata complex | success | Стандартные метаданные объекта. Включают имя, пространство имён, аннотации, метки и т. д. | |
| spec complex | success | Конкретные атрибуты объекта. Будут отличаться в зависимости от api_version и kind. | |
| status complex | success | Текущие данные состояния объекта. | |
Состояние
- Данный модуль не гарантирует обратной совместимости интерфейса. [превью]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- Команда KubeVirt (@kubevirt)
Подсказка
Если вы обнаружите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/k8s_service_module.html