k8s_scale - Установка нового размера для Deployment, ReplicaSet, Replication Controller или Job.
Новая версия 2.5.
Описание
- Аналогично команде kubectl scale. Используется для установки количества реплик для Deployment, ReplicatSet или Replication Controller, или атрибута параллелизма для Job. Поддерживает режим проверки.
Псевдонимы: openshift_scale
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- python >= 2.7
- openshift >= 0.6
- 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 int | Для Deployment, ReplicaSet, Replication Controller, масштабирование выполняется только если количество существующих реплик совпадает. В случае с Job, обновляется только параллелизм, если текущее значение параллелизма совпадает. | |
| 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 str | Попытка масштабирования выполняется только если текущая версия объекта совпадает. | |
| 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 bool |
| Требуется ли проверка SSL-сертификатов сервера API. Также можно указать через переменную окружения K8S_AUTH_VERIFY_SSL. |
| wait bool |
| Для Deployment, ReplicaSet, Replication Controller, ожидание значения status ready_replicas, которое должно измениться на количество replicas. В случае с Job, этот параметр игнорируется. |
| wait_timeout int | Значение по умолчанию: 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 | success | Если изменения были внесены, вернётся обновлённый объект, иначе вернётся существующий объект. | |
| api_version str | success | Версионированный схематический формат представления объекта. | |
| kind str | success | Представляет REST-ресурс, который представляет объект. | |
| metadata complex | success | Стандартные метаданные объекта. Включают имя, пространство имен, аннотации, метки и т. д. | |
| spec complex | success | Уникальные атрибуты объекта. Будут варьироваться в зависимости от api_version и kind. | |
| status complex | success | Текущие сведения о статусе объекта. | |
Статус
Этот модуль помечен как preview, что означает, что он не гарантирует обратную совместимость интерфейса.
Техническое обслуживание
Этот модуль помечен как community, что означает, что его поддерживает сообщество Ansible. См. Техническое обслуживание и поддержка модулей для получения дополнительной информации.
Список других модулей, также поддерживаемых сообществом Ansible, см. в здесь.
Автор
- Крис Хаузенехт (@chouseknecht)
- Фабиан фон Фейлитцш (@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_scale_module.html