Spec-Zone.ru › Ansible 2.9

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 }}"
conditions
список
добавлено в 2.9
Какие условия привели к текущему состоянию пула узлов.
code
строка
Представление условия в удобном для машин формате.
Некоторые допустимые значения: "UNKNOWN", "GCE_STOCKOUT", "GKE_SERVICE_ACCOUNT_DELETED", "GCE_QUOTA_EXCEEDED", "SET_BY_OPERATOR"
config
словарь
Конфигурация узлов пула.
accelerators
список
добавлено в 2.9
Список аппаратных ускорителей, которые должны быть подключены к каждому узлу.
accelerator_count
целое число
Количество карт ускорителей, доступных для экземпляра.
accelerator_type
строка
Имя ресурса типа ускорителя.
disk_size_gb
целое число
Размер диска, подключаемого к каждому узлу, указанный в ГБ. Минимальный разрешенный размер диска составляет 10 ГБ. Если не указан, размер диска по умолчанию составляет 100 ГБ.
disk_type
строка
добавлено в 2.9
Тип диска, подключаемого к каждому узлу (например, 'pd-standard' или 'pd-ssd'). Если не указан, тип диска по умолчанию — 'pd-standard'.
image_type
строка
Тип образа, который необходимо использовать для этого узла. Обратите внимание, что для данного типа образа будет использоваться последняя версия.
labels
словарь
Карта меток Kubernetes (пар ключ/значение), которые необходимо применить к каждому узлу. Они будут добавлены дополнительно к любым меткам по умолчанию, которые Kubernetes может применить к узлу. В случае конфликта ключей меток применённый набор может отличаться в зависимости от версии Kubernetes — лучше всего предположить, что поведение не определено, и конфликты следует избегать. Более подробную информацию, включая использование и допустимые значения, см. на странице: http://kubernetes.io/v1.1/docs/user-guide/labels.html Объект, содержащий список пар «ключ»: «значение».
Пример: { "name": "ключ", "mass": "1.3кг", "count": "3" }.
local_ssd_count
целое число
Количество локальных SSD-дисков, подключаемых к узлу.
Предел для этого значения зависит от максимального количества дисков, доступных на машине в зоне. Дополнительную информацию см. на странице: https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits.
machine_type
строка
Имя типа машины 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 КБ.
Объект, содержащий список пар «ключ»: «значение».
Пример: { "name": "ключ", "mass": "1.3кг", "count": "3" }.
min_cpu_platform
строка
добавлено в 2.9
Минимальная платформа процессора, которая должна использоваться этим экземпляром. Экземпляр может быть размещён на указанной или более новой платформе процессора.
oauth_scopes
список
Набор областей видимости Google API, которые должны быть доступны для всех виртуальных машин узлов в рамках учётной записи «по умолчанию».
Рекомендуются, но необязательны следующие области видимости, по умолчанию не включены: 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.
taints
список
добавлено в 2.9
Список меток Kubernetes, которые необходимо применить к каждому узлу.
effect
строка
Эффект метки.
key
строка
Ключ метки.
value
строка
Значение метки.
env_type
string
Указывает, в какой среде Ansible выполняется этот модуль.
Не устанавливайте это значение, если вы не знаете, что делаете.
Это изменяет только строку User Agent для всех запросов к API.
initial_node_count
integer / required
Начальное количество узлов для пула. Необходимо убедиться, что квота ресурсов Compute Engine достаточна для этого количества экземпляров. Также должны быть доступны квоты для брандмауэра и маршрутов.
location
string / required
добавлено в 2.8
Расположение, где развернут пул узлов.

псевдонимы: region, zone
management
dictionary
Конфигурация управления для этого NodePool.
auto_repair
boolean
    Варианты:
  • no
  • yes
Флаг, указывающий, включено ли автоматическое восстановление узлов для пула узлов. При включении узлы в этом пуле будут отслеживаться, и если они не пройдут проверки работоспособности слишком много раз, будет выполнено автоматическое действие по восстановлению.
auto_upgrade
boolean
    Варианты:
  • no
  • yes
Флаг, указывающий, включено ли автоматическое обновление узлов для пула узлов. При включении автоматическое обновление узлов помогает поддерживать узлы в вашем пуле узлов актуальными с последней версией Kubernetes.
upgrade_options
dictionary
Указывает параметры автоматического обновления для пула узлов.
max_pods_constraint
dictionary
добавлено в 2.9
Ограничение максимального количества поддосов, которые могут выполняться одновременно на узле в пуле узлов.
max_pods_per_node
integer
Ограничение, накладываемое на максимальное количество поддосов на узел.
name
string
Название пула узлов.
project
string
Проект Google Cloud Platform для использования.
scopes
list
Массив используемых областей.
service_account_contents
jsonarg
Содержимое файла JSON учетной записи службы, либо в виде словаря, либо как строка JSON, которая его представляет.
service_account_email
string
Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount и пользователь не хочет использовать адрес по умолчанию.
service_account_file
path
Путь к файлу JSON учетной записи службы, если выбран тип serviceaccount.
state
string
    Варианты:
  • present ←
  • absent
Указывает, должен ли данный объект существовать в GCP
version
string
добавлено в 2.8
Версия Kubernetes для этого узла.

Примечания

Примечание

  • для аутентификации можно задать service_account_file, используя переменную среды c(gcp_service_account_file).
  • для аутентификации можно задать service_account_contents, используя переменную среды c(GCP_SERVICE_ACCOUNT_CONTENTS).
  • Для аутентификации можно задать service_account_email, используя переменную среды GCP_SERVICE_ACCOUNT_EMAIL.
  • Для аутентификации можно задать 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
сложный
успех
Настройка автоматического масштабирования для этого пула узлов. Автомасштабирование включено только при наличии корректной конфигурации.

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

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

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

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

conditions
сложный
успех
Условия, которые привели к текущему состоянию пула узлов.

code
строка
успех
Представление условия в удобном для машин формате.

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

accelerators
сложный
успех
Список аппаратных ускорителей, которые должны быть подключены к каждому узлу.

acceleratorCount
целое число
успех
Количество карт ускорителей, доступных для экземпляра.

acceleratorType
строка
успех
Имя ресурса типа ускорителя.

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

diskType
строка
успех
Тип диска, подключённого к каждому узлу (например, 'pd-standard' или 'pd-ssd'). Если не указано, используется тип диска по умолчанию — 'pd-standard'.

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

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

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

machineType
строка
успех
Имя типа машины 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": "ключ", "mass": "1.3кг", "count": "3" }

minCpuPlatform
строка
успех
Минимальная платформа процессора, которая должна использоваться данным экземпляром. Экземпляр может быть запланирован на указанную или более новую платформу процессора.

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.

taints
сложный
успех
Список меток Kubernetes, которые необходимо применить к каждому узлу.

effect
строка
успех
Эффект метки.

key
строка
успех
Ключ метки.

value
строка
успех
Значение метки.

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

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

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

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

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

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

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

description
string
success
Это поле устанавливается, когда обновления находятся на стадии начала с описанием обновления.

maxPodsConstraint
complex
success
Ограничение максимального числа поддонов, которые могут одновременно выполняться на узле в пуле узлов.

maxPodsPerNode
integer
success
Ограничение, применённое к максимальному числу поддонов на узел.

name
string
success
Название пула узлов.

podIpv4CidrSize
integer
success
Размер блока поддонов CIDR на узел в этом пуле узлов.

status
string
success
Состояние узлов в этом экземпляре пула.

statusMessage
string
success
Дополнительная информация о текущем состоянии этого экземпляра пула узлов.

version
string
success
Версия 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.9/modules/gcp_container_node_pool_module.html

Spec-Zone.ru

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