Spec-Zone.ru › Ansible 2.6

gcp_container_node_pool - Создаёт пул узлов GCP NodePool

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

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

Обзор

  • NodePool содержит имя и конфигурацию пула узлов кластера.
  • Пулы узлов представляют собой набор узлов (т.е. виртуальных машин), имеющих общую конфигурацию и спецификацию, контролируемые главным узлом кластера. К ним могут быть применены метки Kubernetes, которые могут использоваться для их ссылки при планировании задач. Их размер также можно изменять вверх или вниз, чтобы удовлетворить рабочую нагрузку.

Требования

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

  • python >= 2.6
  • requests >= 2.18.4
  • google-auth >= 1.3.0

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
auth_kind
обязательно
    Варианты:
  • machineaccount
  • serviceaccount
  • application
Тип используемых учетных данных.
autoscaling
Конфигурация автоматического масштабирования для данного NodePool. Автоматическое масштабирование включено только при наличии корректной конфигурации.
enabled
bool
    Варианты:
  • no
  • yes
Включено ли автоматическое масштабирование для данного пула узлов.
min_node_count
Минимальное количество узлов в NodePool. Должно быть >= 1 и <= maxNodeCount.
max_node_count
Максимальное количество узлов в NodePool. Должно быть >= minNodeCount.
Должно быть достаточно квот для масштабирования кластера.
cluster
обязательно
Ссылка на ресурс Cluster.
config
Конфигурация узлов пула.
machine_type
Название типа виртуальной машины Google Compute Engine (например,
n1-standard-1). Если не указано, используется тип виртуальной машины n1-standard-1 по умолчанию.
disk_size_gb
Размер диска, подключённого к каждому узлу, указанный в ГБ. Минимально допустимый размер диска составляет 10 ГБ. Если не указано, размер диска по умолчанию составляет 100 ГБ.
oauth_scopes
Набор облачных API-разрешений Google, предоставляемых на всех виртуальных машинах узлов под учетной записью «по умолчанию».
Следующие разрешения рекомендуются, но не являются обязательными, и по умолчанию не включены: https://www.googleapis.com/auth/compute требуется для монтирования постоянных хранилищ на ваших узлах.
https://www.googleapis.com/auth/devstorage.read_only требуется для взаимодействия с gcr.io (Google Container Registry).
Если не указано, разрешения не добавляются, если не включены Cloud Logging или Cloud Monitoring, в этом случае будут добавлены необходимые разрешения.
service_account
Учетная запись службы Google Cloud Platform, которая будет использоваться виртуальными машинами узлов. Если учетная запись службы не указана, используется учетная запись «по умолчанию».
metadata
Ключевые пары метаданных, назначаемые экземплярам в кластере.
Ключи должны соответствовать регулярному выражению [a-zA-Z0-9-_]+ и иметь длину менее 128 байт. Они отражаются как часть URL в сервере метаданных. Кроме того, чтобы избежать неоднозначности, ключи не должны совпадать с другими ключами метаданных для проекта или быть одним из четырёх зарезервированных ключей: «instance-template», «kube-env», «startup-script» и «user-data». Значения являются свободными строками и имеют смысл только в интерпретации изображения, работающего в экземпляре. Единственное ограничение, накладываемое на них, состоит в том, что размер каждого значения должен быть меньше или равен 32 КБ.
Суммарный размер всех ключей и значений должен быть меньше 512 КБ.
Объект, содержащий список пар «ключ»: значение.
Пример: { «имя»: «ключ», «масса»: «1.3кг», «количество»: «3» }.
image_type
Тип изображения, который следует использовать для данного узла. Обратите внимание, что для данного типа изображения будет использоваться последняя его версия.
labels
Карта меток Kubernetes (пар ключ/значение), которые должны применяться к каждому узлу. Они будут добавлены в дополнение к любым меткам по умолчанию, которые Kubernetes может применить к узлу. В случае конфликта в ключах меток применяемый набор может отличаться в зависимости от версии Kubernetes — лучше всего предположить, что поведение не определено, и конфликты следует избегать. Более подробную информацию, включая использование и допустимые значения, см. http://kubernetes.io/v1.1/docs/user-guide/labels.html Объект, содержащий список пар «ключ»: значение.
Пример: { «имя»: «ключ», «масса»: «1.3кг», «количество»: «3» }.
local_ssd_count
Количество локальных дисков SSD, подключаемых к узлу.
Предел для этого значения зависит от максимального количества дисков, доступных на машине в зоне. Дополнительную информацию см. в разделе https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits.
tags
Список тегов экземпляров, применяемых ко всем узлам. Теги используются для идентификации допустимых источников или целей для брандмауэров сети и задаются клиентом при создании кластера или пула узлов. Каждый тег в списке должен соответствовать RFC1035.
preemptible
bool
    Варианты:
  • no
  • yes
Создавать ли узлы как преемственные виртуальные машины. См. https://cloud.google.com/compute/docs/instances/preemptible для получения дополнительной информации о преемственных виртуальных машинах.
initial_node_count
обязательно
Начальное количество узлов для пула. Вам необходимо убедиться, что квота вашего ресурса Compute Engine достаточна для этого числа экземпляров. Вам также должны быть доступны квоты на брандмауэры и маршруты.
management
Конфигурация управления для данного NodePool.
auto_upgrade
bool
    Варианты:
  • no
  • yes
Флаг, указывающий, включена ли автоматическая модернизация узлов для пула узлов. При включении автоматической модернизации узлов узлы в вашем пуле узлов будут обновляться до последней версии Kubernetes.
auto_repair
bool
    Варианты:
  • no
  • yes
Флаг, указывающий, включено ли автоматическое восстановление узлов для пула узлов. Если включено, узлы в этом пуле узлов будут отслеживаться, и если они не пройдут проверки состояния слишком много раз, будет запущена автоматическая операция восстановления.
upgrade_options
Указывает настройки автоматического обновления для пула узлов.
auto_upgrade_start_time
Это поле устанавливается, когда обновления начинают выполняться с приблизительным начальным временем обновлений в формате RFC3339.
description
Это поле устанавливается, когда обновления начинают выполняться с описанием обновления.
name
Имя пула узлов.
project
Проект Google Cloud Platform, который будет использоваться.
scopes
обязательно
Массив используемых разрешений.
service_account_email
Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount и пользователь не хочет использовать адрес по умолчанию.
service_account_file
Путь к файлу JSON учетной записи службы, если в качестве типа выбран serviceaccount.
state
обязательно
    Варианты:
  • present ←
  • absent
Требуется ли наличие данного объекта в GCP
zone
обязательно
Зона, в которой развернут пул узлов.

Примечания

Примечание

  • Для аутентификации можно задать service_account_file с помощью переменной среды GCP_SERVICE_ACCOUNT_FILE.
  • Для аутентификации можно задать service_account_email с помощью переменной среды GCP_SERVICE_ACCOUNT_EMAIL.
  • Для аутентификации можно задать auth_kind с помощью переменной среды GCP_AUTH_KIND.
  • Для аутентификации можно задать scopes с помощью переменной среды GCP_SCOPES.
  • Значения переменных среды будут использованы только в том случае, если значения в playbook не заданы.
  • Параметры service_account_email и service_account_file взаимоисключающие.

Примеры

- name: create a cluster
  gcp_container_cluster:
      name: 'cluster-nodepool'
      initial_node_count: 4
      zone: 'us-central1-a'
      project: "{{ gcp_project }}"
      auth_kind: "{{ gcp_cred_kind }}"
      service_account_file: "{{ gcp_cred_file }}"
      scopes:
        - https://www.googleapis.com/auth/cloud-platform
      state: present
  register: cluster
- name: create a node pool
  gcp_container_node_pool:
      name: testObject
      initial_node_count: 4
      cluster: "{{ cluster }}"
      zone: 'us-central1-a'
      project: testProject
      auth_kind: service_account
      service_account_file: /tmp/auth.pem
      scopes:
        - https://www.googleapis.com/auth/cloud-platform
      state: present

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

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

Ключ Возвращено Описание
autoscaling
complex
success
Настройка автоматического масштабирования для этого NodePool. Автоматическое масштабирование включено только при наличии корректной конфигурации.

enabled
bool
success
Включено ли автоматическое масштабирование для этого пула узлов.

min_node_count
int
success
Минимальное количество узлов в NodePool. Должно быть >= 1 и <= maxNodeCount.

max_node_count
int
success
Максимальное количество узлов в NodePool. Должно быть >= minNodeCount.
Должен быть достаточный квота для масштабирования кластера.

cluster
dict
success
Ссылка на ресурс кластера.

config
complex
success
Конфигурация узлов пула.

machine_type
str
success
Имя типа машины Google Compute Engine (например,
n1-standard-1). Если не указано, используется тип машины n1-standard-1 по умолчанию.

disk_size_gb
int
success
Размер диска, подключенного к каждому узлу, в ГБ. Минимальный разрешенный размер диска составляет 10 ГБ. Если не указано, используется размер диска по умолчанию 100 ГБ.

oauth_scopes
list
success
Набор Google API-разрешений, доступных для всех виртуальных машин узлов в рамках учетной записи "default".
Рекомендуются следующие разрешения (но они не обязательны и по умолчанию не включены): https://www.googleapis.com/auth/compute требуется для подключения постоянного хранилища к узлам.
https://www.googleapis.com/auth/devstorage.read_only требуется для связи с gcr.io (Google Container Registry).
Если не указано, разрешения не добавляются, если не включены Cloud Logging или Cloud Monitoring, в этом случае будут добавлены необходимые разрешения.

service_account
str
success
Учетная запись службы Google Cloud Platform, которая будет использоваться виртуальными машинами узлов. Если учетная запись службы не указана, используется учетная запись "default".

metadata
dict
success
Ключевые пары метаданных, назначенные экземплярам в кластере.
Ключи должны соответствовать регулярному выражению [a-zA-Z0-9-_]+ и иметь длину менее 128 байтов. Они отражаются в URL-адресе на сервере метаданных. Кроме того, для избежания неоднозначности ключи не должны совпадать с другими ключами метаданных для проекта или быть одним из четырех зарезервированных ключей: "instance-template", "kube-env", "startup-script" и "user-data". Значения — произвольные строки, и их значение интерпретируется только запуском образа в экземпляре. Единственное ограничение — размер каждого значения должен быть меньше или равен 32 КБ.
Общий размер всех ключей и значений должен быть меньше 512 КБ.
Объект, содержащий список пар «ключ»: «значение».
Пример: { "name": "ключ", "mass": "1.3кг", "count": "3" }.

image_type
str
success
Тип образа, который будет использоваться для этого узла. Обратите внимание, что для данного типа образа будет использоваться последняя версия.

labels
dict
success
Карта меток Kubernetes (пар «ключ/значение»), которые будут применены к каждому узлу. Они будут добавлены дополнительно к любым меткам по умолчанию, которые Kubernetes может применить к узлу. В случае конфликта в ключах меток примененный набор может отличаться в зависимости от версии Kubernetes — лучше всего предположить, что поведение не определено, и конфликтов следует избегать. Более подробная информация, включая использование и допустимые значения, см. по адресу: http://kubernetes.io/v1.1/docs/user-guide/labels.html Объект, содержащий список пар «ключ»: «значение».
Пример: { "name": "ключ", "mass": "1.3кг", "count": "3" }.

local_ssd_count
int
success
Количество локальных SSD-дисков, которые должны быть подключены к узлу.
Предел для этого значения зависит от максимального количества дисков, доступных на машине в зоне. Для получения дополнительной информации см.: https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits

tags
list
success
Список меток экземпляров, примененных ко всем узлам. Метки используются для идентификации допустимых источников или целей для брандмауэров сети и указываются клиентом при создании кластера или пула узлов. Каждая метка в списке должна соответствовать RFC1035.

preemptible
bool
success
Определяет, создаются ли узлы как предварительно прерывимые виртуальные машины. См.: https://cloud.google.com/compute/docs/instances/preemptible для получения дополнительной информации о предварительно прерывимых виртуальных машинах.

initial_node_count
int
success
Начальное количество узлов для пула. Необходимо убедиться, что квоты ресурсов Compute Engine достаточны для этого количества экземпляров. Также должны быть доступны квоты для брандмауэра и маршрутов.

management
complex
success
Настройка управления для этого NodePool.

auto_upgrade
bool
success
Флаг, определяющий, включена ли автоматическая модернизация узлов для пула узлов. При включенном автоматическом обновлении узлов пул узлов поддерживается с последней релизной версией Kubernetes.

auto_repair
bool
success
Флаг, определяющий, включен ли автоматический ремонт узлов для пула узлов. При включенном автоматическом ремонте узлов узлы в этом пуле узлов будут отслеживаться, и если они не пройдут проверки работоспособности слишком много раз, будет запущена автоматическая процедура ремонта.

upgrade_options
complex
success
Указывает параметры автоматического обновления для пула узлов.

auto_upgrade_start_time
str
success
Это поле устанавливается при начале модернизации с приблизительным временем начала модернизации в формате RFC3339.

description
str
success
Это поле устанавливается при начале модернизации с описанием модернизации.

name
str
success
Имя пула узлов.

version
str
success
Версия Kubernetes этого узла.

zone
str
success
Зона развертывания пула узлов.



Состояние

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

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

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

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

Автор

  • Google Inc. (@googlecloudplatform)
END_OF_DOCUMENT_MARKER

Подсказка

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

© 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/gcp_container_node_pool_module.html

Spec-Zone.ru

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