Spec-Zone.ru › Ansible 2.5

openshift_raw - Управление объектами OpenShift

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

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

Обзор

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

Требования

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

  • 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.
description
Используется только при создании проекта, в противном случае игнорируется. Добавляет описание к метаданным проекта.
display_name
Используется только при создании проекта, в противном случае игнорируется. Добавляет отображаемое имя к метаданным проекта.
force
    Варианты:
  • нет ←
  • да
Если установлено в 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.

Псевдонимы: 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
    Варианты:
  • нет
  • да
Необходимо ли проверять SSL-сертификаты сервера API. Также может быть указан через переменную окружения K8S_AUTH_VERIFY_SSL.

Примечания

Примечание

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

Примеры

- name: Create a project
  openshift_raw:
    api_version: v1
    kind: Project
    name: testing
    description: Testing
    display_name: "This is a test project."
    state: present

- name: Create a Persistent Volume Claim from an inline definition
  openshift_raw:
    state: present
    definition:
      apiVersion: v1
      kind: PersistentVolumeClaim
      metadata:
        name: elastic-volume
        namespace: testing
      spec:
        resources:
          requests:
            storage: 5Gi
        accessModes:
        - ReadWriteOnce

- name: Create a Deployment from an inline definition
  openshift_raw:
    state: present
    definition:
      apiVersion: v1
      kind: DeploymentConfig
      metadata:
        name: elastic
        labels:
          app: galaxy
          service: elastic
        namespace: testing
      spec:
        template:
          metadata:
            labels:
              app: galaxy
              service: elastic
          spec:
            containers:
              - name: elastic
                volumeMounts:
                - mountPath: /usr/share/elasticsearch/data
                  name: elastic-volume
                command: ["elasticsearch"]
                image: "ansible/galaxy-elasticsearch:2.4.6"
            volumes:
              - name: elastic-volume
                persistentVolumeClaim:
                  claimName: elastic-volume
          replicas: 1
          strategy:
            type: Rolling

- name: Remove an existing Deployment
  openshift_raw:
    api_version: v1
    kind: DeploymentConfig
    name: elastic
    namespace: testing
    state: absent

- name: Create a Secret
  openshift_raw:
    definition:
      apiVersion: v1
      kind: Secret
      metadata:
        name: mysecret
        namespace: testing
      type: Opaque
      data:
        username: "{{ 'admin' | b64encode }}"
        password: "{{ 'foobard' | b64encode }}"

- name: Retrieve a Secret
  openshift_raw:
    api: v1
    kind: Secret
    name: mysecret
    namespace: testing
  register: mysecret

# Passing the object definition from a file

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

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

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

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

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

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

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

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

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

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

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

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



Статус

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

Автор

  • Chris Houseknecht (@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/openshift_raw_module.html

Spec-Zone.ru

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