Spec-Zone.ru › Ansible 2.5

k8s_raw - Управление объектами Kubernetes (K8s)

Новое в версии 2.5.

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

Обзор

  • Используйте клиент OpenShift Python для выполнения операций CRUD над объектами K8s.
  • Передавайте определение объекта из файла-источника или встраивайте его. См. примеры для чтения файлов и использования шаблонов Jinja.
  • Доступ ко всему спектру API K8s.
  • Авторизуйтесь с помощью файла конфигурации, сертификатов, пароля или токена.
  • Поддерживает режим проверки.

Требования

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

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
api_key
Токен, используемый для аутентификации с API. Также может быть задан через переменную среды K8S_AUTH_API_KEY.
api_version По умолчанию:
v1
Используйте для указания версии API. Используйте для создания, удаления или поиска объекта без предоставления полного определения ресурса. Используйте в сочетании с kind, name и namespace для идентификации конкретного объекта. Если предоставлено определение ресурса, apiVersion из resource_definition переопределит этот параметр.

псевдонимы: api, version
cert_file
Путь к сертификату, используемому для аутентификации с API. Также может быть задан через переменную среды K8S_AUTH_CERT_FILE.
context
Имя контекста, найденного в файле конфигурации. Также может быть задан через переменную среды K8S_AUTH_CONTEXT.
force
    Варианты:
  • no ←
  • yes
Если установлено в True, и state равно present, существующий объект будет заменен.
host
Укажите URL для доступа к API. Также может быть задан через переменную среды K8S_AUTH_HOST.
key_file
Путь к файлу ключа, используемому для аутентификации с API. Также может быть задан через переменную среды K8S_AUTH_HOST.
kind
Используйте для указания модели объекта. Используйте для создания, удаления или поиска объекта без предоставления полного определения ресурса. Используйте в сочетании с api_version, name и namespace для идентификации конкретного объекта. Если предоставлено определение ресурса, kind из resource_definition переопределит этот параметр.
kubeconfig
Путь к существующему файлу конфигурации Kubernetes. Если не указан и не указаны другие параметры подключения, клиент openshift попытается загрузить файл конфигурации по умолчанию из ~/.kube/config.json. Также может быть задан через переменную среды K8S_AUTH_KUBECONFIG.
name
Используйте для указания имени объекта. Используйте для создания, удаления или поиска объекта без предоставления полного определения ресурса. Используйте в сочетании с api_version, kind и namespace для идентификации конкретного объекта. Если предоставлено определение ресурса, значение metadata.name из resource_definition переопределит этот параметр.
namespace
Используйте для указания пространства имен объекта. Полезно при создании, удалении или поиске объекта без предоставления полного определения ресурса. Используйте в сочетании с api_version, kind и name для идентификации конкретного объекта. Если предоставлено определение ресурса, значение metadata.namespace из resource_definition переопределит этот параметр.
password
Укажите пароль для аутентификации с API. Также может быть задан через переменную среды K8S_AUTH_PASSWORD.
resource_definition
Укажите допустимое YAML-определение объекта при создании или обновлении. ПРИМЕЧАНИЕ: kind, api_version, name и namespace будут перезаписаны соответствующими значениями, найденными в предоставленном resource_definition.

псевдонимы: определение, встраиваемое
src
Укажите путь к файлу, содержащему допустимое YAML-определение объекта для создания или обновления. Взаимоисключающий с resource_definition. ПРИМЕЧАНИЕ: kind, api_version, name и namespace будут перезаписаны соответствующими значениями, найденными в конфигурации, считанной из файла src.
Читает из локальной файловой системы. Для чтения из файловой системы контроллера Ansible используйте плагин поиска файла или плагин поиска шаблонов в сочетании с фильтром from_yaml и передайте результат в resource_definition. См. Примеры ниже.
ssl_ca_cert
Путь к сертификату CA, используемому для аутентификации с API. Также может быть задан через переменную среды K8S_AUTH_SSL_CA_CERT.
state
    Варианты:
  • present ←
  • absent
Определяет, должен ли объект быть создан, изменён или удалён. При установке в present, объект будет создан, если он ещё не существует. При установке в absent, существующий объект будет удалён. При установке в present, существующий объект будет изменён, если его атрибуты отличаются от тех, которые указаны с помощью resource_definition или src.
username
Укажите имя пользователя для аутентификации с API. Также может быть задан через переменную среды K8S_AUTH_USERNAME.
verify_ssl
    Варианты:
  • no
  • yes
Требуется ли проверка SSL-сертификатов сервера API. Также может быть задан через переменную среды K8S_AUTH_VERIFY_SSL.

Примечания

Примечание

  • Клиент OpenShift Python оборачивает клиент K8s Python, предоставляя полный доступ ко всем API и моделям, доступным на обеих платформах. Для получения подробностей о версии API и дополнительной информации посетите https://github.com/openshift/openshift-restclient-python

Примеры

- name: Create a k8s namespace
  k8s_raw:
    name: testing
    api_version: v1
    kind: Namespace
    state: present

- name: Create a Service object from an inline definition
  k8s_raw:
    state: present
    definition:
      apiVersion: v1
      kind: Service
      metadata:
        name: web
        namespace: testing
        labels:
          app: galaxy
          service: web
      spec:
        selector:
          app: galaxy
          service: web
        ports:
        - protocol: TCP
          targetPort: 8000
          name: port-8000-tcp
          port: 8000

- name: Create a Service object by reading the definition from a file
  k8s_raw:
    state: present
    src: /testing/service.yml

- name: Get an existing Service object
  k8s_raw:
    api_version: v1
    kind: Service
    name: web
    namespace: testing
  register: web_service

- name: Get a list of all service objects
  k8s_raw:
    api_version: v1
    kind: ServiceList
    namespace: testing
  register: service_list

- name: Remove an existing Service object
  k8s_raw:
    state: absent
    api_version: v1
    kind: Service
    namespace: testing
    name: web

# Passing the object definition from a file

- name: Create a Deployment by reading the definition from a local file
  k8s_raw:
    state: present
    src: /testing/deployment.yml

- name: Read definition file from the Ansible controller file system
  k8s_raw:
    state: present
    definition: "{{ lookup('file', '/testing/deployment.yml') | from_yaml }}"

- name: Read definition file from the Ansible controller file system after Jinja templating
  k8s_raw:
    state: present
    definition: "{{ lookup('template', '/testing/deployment.yml') | from_yaml }}"

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

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

Ключ Возвращаемое значение Описание
result
сложный
успешно
Созданный, изменённый или, иначе, присутствующий объект. Будет пустым в случае удаления.

status
сложный
успешно
Текущие подробности состояния объекта.

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

items
список
при ресурсе — список
Возвращается только тогда, когда kind — ресурс типа Список. Содержит набор объектов.

spec
сложный
успешно
Конкретные атрибуты объекта. Будут различаться в зависимости от api_version и kind.

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

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



Статус

Этот модуль помечен как превью, что означает, что его интерфейс не гарантируется обратной совместимости.

Автор

  • Крис Хаусенект (@chouseknecht)

Подсказка

Если вы заметите какие-либо проблемы в этой документации, вы можете редактировать этот документ, чтобы улучшить его.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.5/modules/k8s_raw_module.html

Spec-Zone.ru

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