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, существующий объект будет изменён, если его атрибуты отличаются от тех, которые указаны с помощью 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