k8s_scale - Установка нового размера для Deployment, ReplicaSet, Replication Controller или Job.
Новая версия с 2.5.
Обзор
- Аналогично команде kubectl scale. Используется для установки количества реплик для Deployment, ReplicatSet или Replication Controller, или атрибута parallelism для Job. Поддерживает режим проверки.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- python >= 2.7
- openshift == 0.4.3
- PyYAML >= 3.11
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| api_key | Токен, используемый для аутентификации с API. Также может быть указан через переменную окружения K8S_AUTH_API_KEY. | |
| api_version | Значение по умолчанию: v1 | Используется для указания версии API. Используется для создания, удаления или поиска объекта без предоставления полного определения ресурса. Используется в сочетании с kind, name и namespace для идентификации конкретного объекта. Если resource definition предоставлен, apiVersion из resource_definition переопределит этот параметр. Псевдонимы: api, version |
| cert_file | Путь к сертификату, используемому для аутентификации с API. Также может быть указан через переменную окружения K8S_AUTH_CERT_FILE. | |
| context | Имя контекста, найденного в файле конфигурации. Также может быть указан через переменную окружения K8S_AUTH_CONTEXT. | |
| current_replicas | Для Deployment, ReplicaSet, Replication Controller, масштабирование выполняется только в том случае, если количество существующих реплик совпадает. В случае с Job, обновляется только атрибут parallelism, если текущее значение parallelism совпадает. | |
| host | Укажите URL для доступа к API. Также может быть указан через переменную окружения K8S_AUTH_HOST. | |
| key_file | Путь к файлу ключа, используемому для аутентификации с API. Также может быть указан через переменную окружения K8S_AUTH_HOST. | |
| kind | Используется для указания модели объекта. Используется для создания, удаления или поиска объекта без предоставления полного определения ресурса. Используется в сочетании с api_version, name и namespace для идентификации конкретного объекта. Если resource definition предоставлен, kind из resource_definition переопределит этот параметр. | |
| kubeconfig | Путь к существующему файлу конфигурации Kubernetes. Если не указан и не указаны другие параметры подключения, клиент openshift попытается загрузить файл конфигурации по умолчанию из ~/.kube/config.json. Также может быть указан через переменную окружения K8S_AUTH_KUBECONFIG. | |
| name | Используется для указания имени объекта. Используется для создания, удаления или поиска объекта без предоставления полного определения ресурса. Используется в сочетании с api_version, kind и namespace для идентификации конкретного объекта. Если resource definition предоставлен, значение metadata.name из resource_definition переопределит этот параметр. | |
| namespace | Используется для указания пространства имен объекта. Полезно при создании, удалении или поиске объекта без предоставления полного определения ресурса. Используется в сочетании с api_version, kind и name для идентификации конкретного объекта. Если resource definition предоставлен, значение metadata.namespace из resource_definition переопределит этот параметр. | |
| password | Укажите пароль для аутентификации с API. Также может быть указан через переменную окружения K8S_AUTH_PASSWORD. | |
| replicas | Желаемое количество реплик. | |
| resource_definition | Предоставьте допустимое YAML-определение объекта при создании или обновлении. ПРИМЕЧАНИЕ: kind, api_version, name и namespace будут перезаписаны соответствующими значениями, найденными в предоставленном resource_definition. Псевдонимы: definition, inline | |
| resource_version | Попытка масштабирования выполняется только в том случае, если текущая версия объекта совпадает. | |
| 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. | |
| username | Укажите имя пользователя для аутентификации с API. Также может быть указан через переменную окружения K8S_AUTH_USERNAME. | |
| verify_ssl |
| Требовать или нет проверку SSL-сертификатов API-сервера. Также может быть указан через переменную окружения K8S_AUTH_VERIFY_SSL. |
| wait |
| Для Deployment, ReplicaSet, Replication Controller, ожидается изменение статуса ready_replicas на количество replicas. В случае с Job этот параметр игнорируется. |
| wait_timeout | Значение по умолчанию: 20 | Когда wait равно True, количество секунд ожидания статуса ready_replicas, равного replicas. Если статус не достигнут в отведенное время, произойдет ошибка. В случае с Job этот параметр игнорируется. |
Примечания
Примечание
- Клиент OpenShift Python оборачивает клиент K8s Python, предоставляя полный доступ ко всем API и моделям, доступным на обеих платформах. Подробности о версии API и дополнительную информацию можно найти на https://github.com/openshift/openshift-restclient-python
Примеры
- name: Scale deployment up, and extend timeout
k8s_scale:
api_version: v1
kind: Deployment
name: elastic
namespace: myproject
replicas: 3
wait_timeout: 60
- name: Scale deployment down when current replicas match
k8s_scale:
api_version: v1
kind: Deployment
name: elastic
namespace: myproject
current_replicas: 3
replicas: 2
- name: Increase job parallelism
k8s_scale:
api_version: batch/v1
kind: job
name: pi-with-timeout
namespace: testing
replicas: 2
# Match object using local file or inline definition
- name: Scale deployment based on a file from the local filesystem
k8s_scale:
src: /myproject/elastic_deployment.yml
replicas: 3
wait: no
- name: Scale deployment based on a template output
k8s_scale:
resource_definition: "{{ lookup('template', '/myproject/elastic_deployment.yml') | from_yaml }}"
replicas: 3
wait: no
- name: Scale deployment based on a file from the Ansible controller filesystem
k8s_scale:
resource_definition: "{{ lookup('file', '/myproject/elastic_deployment.yml') | from_yaml }}"
replicas: 3
wait: no
Возвращаемые значения
Общие возвращаемые значения описаны в здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание | |
|---|---|---|---|
| result complex | успешно | Если изменения были внесены, вернет измененный объект, в противном случае вернет существующий объект. | |
| status complex | успешно | Текущие сведения о статусе объекта. | |
| kind str | успешно | Представляет REST-ресурс, который представляет этот объект. | |
| spec complex | успешно | Конкретные атрибуты объекта. Будут отличаться в зависимости от api_version и kind. | |
| api_version str | успешно | Версионированная схема этого представления объекта. | |
| metadata complex | успешно | Стандартные метаданные объекта. Включает имя, пространство имен, аннотации, метки и т.д. | |
Статус
Этот модуль помечен как превью, что означает, что его интерфейс не гарантируется как обратная совместимость.
Автор
- Крис Хауснэк (@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_scale_module.html