Spec-Zone.ru › Ansible 2.10

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

Примечание

Этот плагин входит в коллекцию google.cloud (версия 1.0.1).

Для его установки используйте: ansible-galaxy collection install google.cloud.

Для использования в плейбуке укажите: google.cloud.gcp_container_node_pool.

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

Описание

  • 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: имя-ресурса` в задачу gcp_container_cluster и затем установить это поле кластера на "{{ имя-ресурса }}"
conditions
список / элементы=словарь
Какие условия привели к текущему состоянию пула узлов.
code
строка
Представление условия в удобном для машины формате.
Некоторые допустимые значения включают: "UNKNOWN", "GCE_STOCKOUT", "GKE_SERVICE_ACCOUNT_DELETED", "GCE_QUOTA_EXCEEDED", "SET_BY_OPERATOR"
config
словарь
Конфигурация узлов пула.
accelerators
список / элементы=словарь
Список аппаратных ускорителей, которые нужно подключить к каждому узлу.
accelerator_count
целое число
Количество карт ускорителей, доступных экземпляру.
accelerator_type
строка
Имя ресурса типа ускорителя.
disk_size_gb
целое число
Размер диска, подключенного к каждому узлу, в ГБ. Минимальный разрешенный размер диска — 10 ГБ. Если не указан, размер диска по умолчанию — 100 ГБ.
disk_type
строка
Тип диска, подключенного к каждому узлу (например, '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-стандартный-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" }.
min_cpu_platform
строка
Минимальная платформа процессора, которая должна использоваться этим экземпляром. Экземпляр может быть запланирован на указанной или более новой платформе процессора.
oauth_scopes
список / элементы=строка
Набор облачных API-скопов Google, которые должны быть доступны на всех виртуальных машинах узлов в рамках учетной записи службы "по умолчанию".
Рекомендуются следующие скопы, но они необязательны, и по умолчанию не включены: https://www.googleapis.com/auth/compute необходим для монтирования постоянного хранилища на ваших узлах.
https://www.googleapis.com/auth/devstorage.read_only необходим для связи с gcr.io (Google Container Registry).
Если не указано, никакие скопы не добавляются, если не включены облачные логи или облачный мониторинг, в этом случае будут добавлены необходимые скопы.
preemptible
булево
    Варианты:
  • no
  • yes
Создаются ли узлы как виртуальные машины с возможностью предварительного прерывания. См.: https://cloud.google.com/compute/docs/instances/preemptible для получения дополнительной информации о виртуальных машинах с возможностью предварительного прерывания.
service_account
строка
Учетная запись службы Google Cloud Platform, которая будет использоваться виртуальными машинами узлов. Если учетная запись службы не указана, используется учетная запись службы "по умолчанию".
shielded_instance_config
словарь
Параметры защищённого экземпляра.
enable_integrity_monitoring
булево
    Варианты:
  • no
  • yes
Определяет, включен ли мониторинг целостности для экземпляра.
Включает мониторинг и аутентификацию целостности загрузки экземпляра.
Аутентификация выполняется относительно базовой линии политики целостности. Эта база данных изначально выводится из подразумеваемого доверенного образа загрузки при создании экземпляра.
enable_secure_boot
булево
    Варианты:
  • no
  • yes
Определяет, включен ли безопасный запуск для экземпляра.
Безопасный запуск помогает гарантировать, что система запускает только аутентифицированное программное обеспечение, проверяя цифровую подпись всех компонентов загрузки и останавливая процесс загрузки, если проверка подписи не удалась.
tags
список / элементы=строка
Список меток экземпляра, примененных ко всем узлам. Метки используются для идентификации допустимых источников или целей для сетевых брандмауэров и указываются клиентом при создании кластера или пула узлов. Каждая метка в списке должна соответствовать RFC1035.
taints
список / элементы=словарь
Список меток Kubernetes, которые нужно применить к каждому узлу.
effect
строка
Эффект метки.
key
строка
Ключ метки.
value
строка
Значение метки.
env_type
строка
Указывает, в какой среде Ansible вы запускаете этот модуль.
Не устанавливайте это, если вы не знаете, что делаете.
Это изменяет только строку User Agent для любых запросов API.
initial_node_count
integer / required
Начальное количество узлов для пула. Необходимо убедиться, что квота ресурсов Compute Engine достаточна для этого количества экземпляров. Также необходимы квоты на брандмауэр и маршруты.
location
string / required
Расположение, где развернут пул узлов.

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

Примеры

- name: create a cluster
  google.cloud.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
  google.cloud.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
complex
success
Конфигурация автомасштабирования для этого пула узлов. Автомасштабирование включено только при наличии корректной конфигурации.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

shieldedInstanceConfig
complex
success
Параметры защищённого экземпляра.

enableIntegrityMonitoring
boolean
success
Определяет, включено ли мониторинг целостности для экземпляра.
Включает мониторинг и подтверждение целостности загрузки экземпляра.
Подтверждение выполняется по отношению к эталонному образцу политики целостности. Этот эталонный образец изначально выводится из неявного доверенного загрузочного образа при создании экземпляра.

enableSecureBoot
boolean
success
Определяет, включен ли Secure Boot для экземпляра.
Secure Boot помогает гарантировать, что система выполняет только подлинный программный код, проверяя цифровую подпись всех загрузочных компонентов, и останавливая процесс загрузки, если проверка подписи завершается неудачно.

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

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

effect
string
success
Эффект для метки.

key
string
success
Ключ для метки.

value
string
success
Значение для метки.

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

location
string
success
Расположение, в котором развернут пул узлов.

management
complex
success
Конфигурация управления для этого пула узлов.

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

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 этого узла.



Авторы

  • 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.10/collections/google/cloud/gcp_container_node_pool_module.html

Spec-Zone.ru

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