Spec-Zone.ru › Ansible 2.8

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

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

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

Описание

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

Требования

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

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
auth_kind
строка / обязательно
    Варианты:
  • application
  • machineaccount
  • serviceaccount
Тип используемых учетных данных.
autoscaling
-
Настройка автомасштабирования для этого пула узлов. Автомасштабирование включено только при наличии корректной конфигурации.
enabled
булево
    Варианты:
  • no
  • yes
Включено ли автомасштабирование для этого пула узлов.
max_node_count
-
Максимальное количество узлов в пуле. Должно быть больше или равно minNodeCount.
Должно быть достаточно квоты для масштабирования кластера.
min_node_count
-
Минимальное количество узлов в пуле. Должно быть больше или равно 1 и меньше или равно maxNodeCount.
cluster
- / обязательно
Кластер, к которому принадлежит этот пул узлов.
Это поле представляет ссылку на ресурс кластера в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'name' и значением имени вашего ресурса. Во-вторых, вы можете добавить `register: name-of-resource` в задачу gcp_container_cluster и затем установить это поле cluster в "{{ name-of-resource }}"
config
-
Конфигурация узлов пула.
disk_size_gb
-
Размер диска, подключенного к каждому узлу, указанный в ГБ. Минимальный разрешённый размер диска — 10 ГБ. Если не указан, размер диска по умолчанию — 100 ГБ.
image_type
-
Тип образа, используемого для этого узла. Обратите внимание, что для данного типа образа будет использоваться последняя версия.
labels
-
Карта меток Kubernetes (пар «ключ/значение»), применяемых к каждому узлу. Они будут добавлены в дополнение к любым меткам по умолчанию, которые Kubernetes может применить к узлу. В случае конфликта в ключах меток применённый набор может отличаться в зависимости от версии Kubernetes — лучше всего предположить, что поведение неопределено, и конфликты следует избегать. Более подробную информацию, включая использование и допустимые значения, см.: http://kubernetes.io/v1.1/docs/user-guide/labels.html Объект, содержащий список пар «ключ»: значение.
Пример: { "name": "гаечный ключ", "масса": "1,3 кг", "количество": "3" }.
local_ssd_count
-
Количество локальных SSD-дисков, подключаемых к узлу.
Предел для этого значения зависит от максимального количества дисков, доступных на машине в зоне. Для получения дополнительной информации см.: https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits
machine_type
-
Имя типа машины Google Compute Engine (например,
n1-стандартный-1). Если не указано, тип машины по умолчанию — n1-стандартный-1.
metadata
-
Ключи и значения метаданных, назначенные экземплярам в кластере.
Ключи должны соответствовать регулярному выражению [a-zA-Z0-9-_]+ и иметь длину менее 128 байт. Они отражаются как часть URL в сервере метаданных. Кроме того, чтобы избежать неоднозначности, ключи не должны совпадать с другими ключами метаданных для проекта или быть одним из четырёх служебных ключей: "instance-template", "kube-env", "startup-script", и "user-data". Значения — свободные строки, и они имеют смысл только при интерпретации их исполняемой средой, работающей в экземпляре. Единственное ограничение заключается в том, что размер каждого значения должен быть меньше или равен 32 КБ.
Общая сумма размеров всех ключей и значений должна быть меньше 512 КБ.
Объект, содержащий список пар «ключ»: значение.
Пример: { "name": "гаечный ключ", "масса": "1,3 кг", "количество": "3" }.
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, в этом случае будут добавлены необходимые разрешения.
preemptible
булево
    Варианты:
  • no
  • yes
Указывается, создаются ли узлы как преемственные виртуальные машины. См.: https://cloud.google.com/compute/docs/instances/preemptible для получения дополнительной информации о преемственных виртуальных машинах.
service_account
-
Учётная запись Google Cloud Platform Service Account, используемая виртуальными машинами узлов. Если учетная запись Service Account не указана, используется учетная запись «по умолчанию».
tags
-
Список меток экземпляра, применяемых ко всем узлам. Метки используются для идентификации допустимых источников или целей для межсетевых экранов и указываются клиентом при создании кластера или пула узлов. Каждая метка в списке должна соответствовать RFC1035.
initial_node_count
- / обязательно
Начальное количество узлов для пула. Вы должны убедиться, что квота ресурсов Compute Engine достаточна для этого количества экземпляров. Вы также должны иметь доступные квоты межсетевых экранов и маршрутов.
location
- / обязательно
добавлено в 2.8
Расположение, в котором развернут пул узлов.

псевдонимы: region, zone
management
-
Настройка управления для этого пула узлов.
auto_repair
булево
    Варианты:
  • no
  • yes
Флаг, указывающий, включена ли автоматическая очистка узлов для пула узлов. Если включено, узлы в этом пуле узлов будут отслеживаться, и если они слишком много раз не пройдут проверки состояния, будет выполнено автоматическое действие по восстановлению.
auto_upgrade
булево
    Варианты:
  • no
  • yes
Флаг, указывающий, включена ли автоматическая модернизация узлов для пула узлов. Если включено, автоматическая модернизация узлов поможет поддерживать узлы в вашем пуле узлов в актуальном состоянии с последней релизной версией Kubernetes.
upgrade_options
-
Указывает параметры автоматического обновления для пула узлов.
name
-
Имя пула узлов.
project
строка
Проект Google Cloud Platform, который нужно использовать.
scopes
список
Массив используемых областей.
service_account_contents
строка
Строка, представляющая содержимое файла JSON учетной записи Service Account.
Это не должно передаваться как словарь, а строка, содержащая точное содержимое файла json учетной записи service account (валидный JSON).
service_account_email
строка
Необязательный адрес электронной почты учетной записи Service Account, если выбран machineaccount, и пользователь не хочет использовать адрес электронной почты по умолчанию.
service_account_file
путь
Путь к файлу JSON учетной записи Service Account, если в качестве типа выбран serviceaccount.
состояние
-
    Варианты:
  • настоящее ←
  • отсутствующее
Указывает, должно ли данное объект существовать в GCP
версия
-
добавлено в 2.8
Версия Kubernetes этого узла.

Примечания

Примечание

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

Примеры

- name: create a cluster
  gcp_container_cluster:
    name: cluster-nodepool
    initial_node_count: 4
    location: us-central1-a
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    state: present
  register: cluster

- name: create a node pool
  gcp_container_node_pool:
    name: my-pool
    initial_node_count: 4
    cluster: "{{ cluster }}"
    location: us-central1-a
    project: test_project
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"
    state: present

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

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

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

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

maxNodeCount
целое число
успех
Максимальное количество узлов в NodePool. Должно быть ≥ minNodeCount.
Должно быть достаточно квоты для масштабирования кластера.

minNodeCount
целое число
успех
Минимальное количество узлов в NodePool. Должно быть ≥ 1 и ≤ maxNodeCount.

cluster
словарь
успех
Кластер, к которому принадлежит этот пул узлов.

config
сложное
успех
Конфигурация узлов пула.

diskSizeGb
целое число
успех
Размер диска, подключённого к каждому узлу, в ГБ. Минимальный размер диска — 10 ГБ. Если не указано, используется значение по умолчанию — 100 ГБ.

imageType
строка
успех
Тип образа для использования на этом узле. Обратите внимание, что для данного типа образа будет использоваться последняя версия.

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

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

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

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

oauthScopes
список
успех
Набор облачных 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, в этом случае будут добавлены необходимые области видимости.

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

serviceAccount
строка
успех
Учётная запись службы Google Cloud Platform, которая будет использоваться виртуальными машинами узлов. Если учётная запись службы не указана, используется учётная запись по умолчанию.

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

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

location
строка
успех
Расположение, где развернут пул узлов.

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

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

autoUpgrade
булево
успех
Флаг, указывающий, включено ли автоматическое обновление узлов для пула узлов. Если включено, автоматическое обновление узлов помогает поддерживать узлы в вашем пуле узлов с последней версией Kubernetes.

upgradeOptions
сложное
успех
Указывает параметры автоматического обновления для пула узлов.

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

description
строка
успех
Это поле устанавливается при начале обновлений с описанием обновления.

name
строка
успех
Имя пула узлов.

version
строка
успех
Версия Kubernetes этого узла.



Статус

  • Этот модуль не гарантирует обратную совместимость интерфейса. [preview]
  • Этот модуль поддерживается сообществом Ansible. [community]

Авторы

  • Google Inc. (@googlecloudplatform)

Подсказка

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

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/modules/gcp_container_node_pool_module.html

Spec-Zone.ru

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