Spec-Zone.ru › Ansible 2.9

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
список
    Варианты:
  • json
  • merge
  • strategic-merge
Определяет, следует ли переопределить подход к слиянию по умолчанию с помощью конкретного типа. По умолчанию обычно используется стратегическое слияние.
Например, определения пользовательских ресурсов обычно не обновляются с помощью обычного стратегического слияния. Возможно, вам потребуется использовать merge , если вы видите сообщение «формат стратегического слияния не поддерживается»
См. https://kubernetes.io/docs/tasks/run-application/update-api-object-kubectl-patch/#use-a-json-merge-patch-to-update-a-deployment
Требуется 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
список
Список портов для экспонирования.
https://kubernetes.io/docs/concepts/services-networking/service/#multi-port-services
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
словарь
Селекторы меток идентифицируют объекты, к которым должна применяться эта служба.
https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
state
-
    Варианты:
  • present ←
  • absent
Определяет, должен ли объект быть создан, изменён или удалён. При значении present, объект будет создан, если он ещё не существует. Если значение absent, существующий объект будет удалён. Если значение present, существующий объект будет изменён, если его атрибуты отличаются от указанных с помощью параметров модуля и resource_definition.
type
-
    Варианты:
  • NodePort
  • ClusterIP
  • LoadBalancer
  • ExternalName
Указывает тип создаваемой службы.
См. https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API