Spec-Zone.ru › Ansible 2.11

community.okd.openshift_route – Экспонировать службу как OpenShift маршрут.

Примечание

Этот плагин входит в коллекцию community.okd (версия 1.0.1).

Для его установки используйте: ansible-galaxy collection install community.okd.

Для использования в книге задач укажите: community.okd.openshift_route.

Добавлено в версии 0.3.0: из community.okd

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Обзор

  • Ищет службу и создает новый маршрут, основанный на ней.
  • Аналогично oc expose и oc create route для создания маршрутов, но не поддерживает создание служб.
  • Для создания служб из других ресурсов см. kubernetes.core.k8s_expose

Требования

Ниже приведены требования, необходимые на хосте, который выполняет этот модуль.

  • python >= 2.7
  • openshift >= 0.11.0
  • PyYAML >= 3.11

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
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
булево
    Варианты:
  • нет ←
  • да
Если установлено в yes, и состояние равно present, существующий объект будет заменен.
host
строка
Укажите URL для доступа к API. Также может быть указан через переменную среды K8S_AUTH_HOST.
hostname
строка
Имя хоста для маршрута.
kubeconfig
путь
Путь к существующему файлу конфигурации Kubernetes. Если не указан и не указаны другие параметры подключения, клиент openshift попытается загрузить файл конфигурации по умолчанию из ~/.kube/config.json. Также может быть указан через переменную среды K8S_AUTH_KUBECONFIG.
labels
словарь
Укажите метки, которые следует применить к создаваемому маршруту.
Набор пар ключ:значение.
name
строка
Желаемое имя создаваемого маршрута.
По умолчанию принимает значение service
namespace
строка / обязательно
Пространство имен ресурса, на который направлены действия.
Маршрут также будет создан в этом пространстве имен.
password
строка
Укажите пароль для аутентификации с API. Также может быть указан через переменную среды K8S_AUTH_PASSWORD.
Пожалуйста, ознакомьтесь с описанием параметра username для обсуждения случаев применения этого параметра.
path
строка
Путь для маршрута
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
port
строка
Имя или номер порта, на который маршрут будет перенаправлять трафик.
proxy
строка
URL HTTP-прокси, который будет использоваться для подключения. Также может быть указан через переменную среды K8S_AUTH_PROXY.
Обратите внимание, что этот модуль не использует типичные параметры прокси из среды (например, HTTP_PROXY).
service
строка
Имя сервиса, который нужно экспонировать.
Обязательно, когда состояние не отсутствует.

псевдонимы: svc
state
строка
    Варианты:
  • отсутствует
  • есть ←
Определяет, должен ли объект быть создан, изменен или удален. При установке в present, объект будет создан, если он еще не существует. Если установлено в absent, существующий объект будет удален. Если установлено в present, существующий объект будет изменен, если его атрибуты отличаются от тех, которые указаны с помощью resource_definition или src.
termination
строка
    Варианты:
  • edge
  • passthrough
  • reencrypt
  • insecure ←
Тип завершения маршрута.
Если оставлено пустым, тип завершения не будет установлен, и маршрут будет небезопасным.
При установке в insecure tls будет проигнорировано.
tls
словарь
Настройка TLS для вновь созданного маршрута.
Используется только когда termination установлено.
ca_certificate
строка
Путь к файлу сертификата CA на целевом узле.
Не поддерживается, когда termination установлено в passthrough.
certificate
строка
Путь к файлу сертификата на целевом узле.
Не поддерживается, когда termination установлено в passthrough.
destination_ca_certificate
строка
Путь к файлу сертификата CA, используемому для защиты соединения.
Используется только при установке termination в reencrypt.
По умолчанию используется сертификат CA сервиса.
insecure_policy
строка
    Варианты:
  • разрешить
  • перенаправить
  • запретить ←
Устанавливает политику InsecureEdgeTerminationPolicy для маршрута.
Не поддерживается, когда termination установлено в reencrypt.
Когда termination установлено в passthrough, поддерживается только перенаправление.
Если не указано, небезопасный трафик будет запрещен.
key
строка
Путь к файлу ключа на целевом узле.
Не поддерживается, когда termination установлено в passthrough.
username
строка
Укажите имя пользователя для аутентификации с API. Также может быть указан через переменную среды K8S_AUTH_USERNAME.
Обратите внимание, что это работает только с кластерами, настроенными на использование HTTP Basic Auth. Если в вашем кластере используется другой тип аутентификации (например, OAuth2 в OpenShift), этот параметр не будет работать должным образом, и вам следует обратиться к модулю k8s_auth, так как он может сделать то, что вам нужно.
validate_certs
булево
    Варианты:
  • нет
  • да
Проверять или нет SSL-сертификаты сервера API. Также может быть указан через переменную среды K8S_AUTH_VERIFY_SSL.

псевдонимы: verify_ssl
wait
булево
    Варианты:
  • нет ←
  • да
Дожидаться завершения определенных типов ресурсов в желаемом состоянии.
По умолчанию модуль завершает работу после получения запроса Kubernetes.
Реализовано для state=present для Deployment, DaemonSet и Pod, и для state=absent для всех типов ресурсов.
Для типов ресурсов без реализации wait возвращает результат немедленно, если wait_condition не установлено.
wait_condition
словарь
Указывает пользовательское условие на статус, ожидание которого требуется.
Игнорируется, если wait не установлено или установлено в False.
reason
строка
Значение поля reason в вашем желаемом условии
Например, если Deployment приостановлен, поле Progressing type будет иметь причину DeploymentPaused.
Возможные причины в условии специфичны для каждого типа ресурса в Kubernetes.
См. документацию API поля status для данного ресурса, чтобы увидеть возможные варианты.
status
строка
    Варианты:
  • True ←
  • False
  • Unknown
Значение поля status в вашем желаемом условии.
Например, если Deployment приостановлен, поле Progressing type будет иметь статус Unknown.
type
строка
Тип условия, для ожидания которого требуется.
Например, ресурс Pod установит условие Ready (среди других).
Необходимо, если вы указываете wait_condition.
Если оставлено пустым, поле wait_condition будет проигнорировано.
Возможные типы условия специфичны для каждого типа ресурса в Kubernetes.
См. документацию API поля status для данного ресурса, чтобы увидеть возможные варианты.
wait_sleep
integer
Default:
5
Количество секунд ожидания между проверками.
wait_timeout
integer
Default:
120
Сколько секунд ждать, пока ресурс перейдет в нужное состояние.
Игнорируется, если wait не задан.
wildcard_policy
string
    Choices:
  • Поддомен
Политика подстановочных символов для имени хоста.
В настоящее время поддерживается только Поддомен.
Если не указано, будет использоваться значение по умолчанию None.

Примечания

Примечание

  • Клиент OpenShift Python оборачивает клиент K8s Python, предоставляя полный доступ ко всем API и моделям, доступным на обеих платформах. Подробную информацию о версиях API и дополнительную информацию см. на странице https://github.com/openshift/openshift-restclient-python
  • Чтобы избежать ошибок проверки сертификатов SSL при validate_certs равно True, необходимо предоставить полную цепочку сертификатов для сервера API через ca_cert или в файле kubeconfig.

Примеры

- name: Create hello-world deployment
  community.okd.k8s:
    definition:
      apiVersion: apps/v1
      kind: Deployment
      metadata:
        name: hello-kubernetes
        namespace: default
      spec:
        replicas: 3
        selector:
          matchLabels:
            app: hello-kubernetes
        template:
          metadata:
            labels:
              app: hello-kubernetes
          spec:
            containers:
            - name: hello-kubernetes
              image: paulbouwer/hello-kubernetes:1.8
              ports:
              - containerPort: 8080

- name: Create Service for the hello-world deployment
  community.okd.k8s:
    definition:
      apiVersion: v1
      kind: Service
      metadata:
        name: hello-kubernetes
        namespace: default
      spec:
        ports:
        - port: 80
          targetPort: 8080
        selector:
          app: hello-kubernetes

- name: Expose the insecure hello-world service externally
  community.okd.openshift_route:
    service: hello-kubernetes
    namespace: default
    insecure_policy: allow
  register: route

Возвращаемые значения

Общие возвращаемые значения описаны здесь, следующие поля уникальны для данного модуля:

Ключ Возвращаемое значение Описание
duration
integer
если wait равно true
время выполнения задачи в секундах

Пример:
48
result
complex
успех
Объект Route, который был создан или обновлен. Будет пустым в случае удаления.

apiVersion
string
успех
Версионированная схема этого представления объекта.

kind
string
успех
Представляет REST-ресурс, который представляет этот объект.

metadata
complex
успех
Стандартные метаданные объекта. Включают имя, пространство имен, аннотации, метки и т. д.

name
string
успех
Имя созданной Route

namespace
string
успех
Пространство имен созданной Route

spec
complex
успех
Спецификация для Route

host
string
успех
Хост — псевдоним/DNS, который указывает на сервис.

path
string
успех
Путь, который маршрутизатор отслеживает, чтобы маршрутизировать трафик к сервису.

port
complex
успех
Определяет отображение портов от маршрутизатора к конечной точке в конечных точках сервиса.

targetPort
string
успех
Целевой порт в подсистемах, выбранных сервисом, на который указывает этот маршрут.

tls
complex
успех
Определяет конфигурацию, используемую для обеспечения безопасности маршрута и предоставления завершения.

caCertificate
string
успех
Предоставляет содержимое сертификата CA.

certificate
string
успех
Предоставляет содержимое сертификата.

destinationCACertificate
string
успех
Предоставляет содержимое сертификата CA конечной точки назначения.

insecureEdgeTerminationPolicy
string
успех
Указывает желаемое поведение для небезопасных подключений к маршруту.

key
string
успех
Предоставляет содержимое файла ключей.

termination
string
успех
Указывает тип завершения.

to
complex
успех
Указывает целевой объект, который преобразуется в конечные точки.

kind
string
успех
Тип целевого объекта, на который ссылается маршрут. В настоящее время разрешен только 'Service'.

name
string
успех
Имя сервиса/цели, на которую происходит ссылка. Например, имя сервиса.

weight
integer
успех
Указывает относительный вес целевого объекта по отношению к другим целевым ссылкам.

wildcardPolicy
string
успех
Политика подстановочных символов, если таковая имеется, для маршрута.

status
complex
успех
Текущие сведения о состоянии Route

ingress
complex
успех
Список мест, где маршрут может быть экспонирован.

conditions
complex
успех
Массив условий состояния ввода маршрута.

status
string
успех
Состояние условия. Может быть True, False, Unknown.

type
string
успех
Тип условия. В настоящее время только 'Ready'.

host
string
успех
Строка хоста, под которой экспонирован маршрут.

routerCanonicalHostname
string
успех
Внешнее имя хоста маршрутизатора, которое может использоваться в качестве CNAME для запрошенного хоста для этого маршрута. Может не быть установлено.

routerName
string
успех
Имя, выбранное маршрутизатором для его идентификации.

wildcardPolicy
string
успех
Политика подстановочных символов, которая была разрешена, где этот маршрут экспонирован.



Авторы

  • Fabian von Feilitzsch (@fabianvf)

© 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/community/okd/openshift_route_module.html

Spec-Zone.ru

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