Spec-Zone.ru › Ansible 2.6

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

Новая версия с 2.6.

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

Обзор

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

Псевдонимы: k8s_raw,openshift_raw

Требования

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

  • python >= 2.7
  • openshift >= 0.6
  • 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
bool
    Варианты:
  • нет ←
  • да
Если установлено значение 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.

псевдонимы: определение, inline
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
bool
    Варианты:
  • нет
  • да
Требовать или нет проверку 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:
    name: testing
    api_version: v1
    kind: Namespace
    state: present

- name: Create a Service object from an inline definition
  k8s:
    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:
    state: present
    src: /testing/service.yml

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

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

- name: Remove an existing Service object
  k8s:
    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:
    state: present
    src: /testing/deployment.yml

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

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

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

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

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

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

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

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

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

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

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



Статус

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

Техническое обслуживание

Этот модуль помечен как сообщество, что означает, что он поддерживается сообществом Ansible. См. Поддержка модулей и обслуживание для получения дополнительной информации.

Список других модулей, которые также поддерживаются сообществом Ansible, см. на странице здесь.

Автор

  • Chris Houseknecht (@chouseknecht)
  • Fabian von Feilitzsch (@fabianvf)

Подсказка

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

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

Spec-Zone.ru

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