Spec-Zone.ru › Ansible

модуль google.cloud.gcp_container_node_pool — создание пула узлов GCP

Примечание

Этот модуль входит в коллекцию google.cloud (версия 1.13.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Для установки используйте: 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

Параметры

Параметр

Описание

access_token

string

Токен доступа OAuth2, если тип учетных данных — accesstoken.

auth_kind

string / обязательный

Тип используемых учетных данных.

Варианты:

  • "application"
  • "machineaccount"
  • "serviceaccount"
  • "accesstoken"

autoscaling

dictionary

Конфигурация автомасштабирования для этого NodePool. Автомасштабирование включается только при наличии допустимой конфигурации.

enabled

boolean

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

Варианты:

  • false
  • true

max_node_count

integer

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

Для масштабирования кластера необходимо достаточное количество квоты.

min_node_count

integer

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

cluster

dictionary / обязательный

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

Это поле ссылается на ресурс Cluster в GCP. Его можно задать двумя способами. Во-первых, можно указать словарь с ключом ‘name’ и именем ресурса в качестве значения. Также можно добавить `register: name-of-resource` в задачу gcp_container_cluster, а затем присвоить этому полю cluster значение “{{ name-of-resource }}”

conditions

list / элементы=dictionary

Условия, вызвавшие текущее состояние пула узлов.

code

string

Предназначенное для машин представление условия.

Допустимые варианты: “UNKNOWN”, “GCE_STOCKOUT”, “GKE_SERVICE_ACCOUNT_DELETED”, “GCE_QUOTA_EXCEEDED”, “SET_BY_OPERATOR”

config

dictionary

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

accelerators

list / элементы=dictionary

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

accelerator_count

integer

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

accelerator_type

string

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

disk_size_gb

integer

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

disk_type

string

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

image_type

string

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

labels

dictionary

Словарь меток Kubernetes (пар «ключ/значение»), назначаемых каждому узлу. Они добавляются к любым меткам по умолчанию, которые Kubernetes может назначить узлу. В случае конфликта ключей меток примененный набор может различаться в зависимости от версии Kubernetes; безопаснее считать такое поведение неопределенным и избегать конфликтов. Дополнительную информацию, включая сведения об использовании и допустимых значениях, см. по адресу: http://kubernetes.io/v1.1/docs/user-guide/labels.html Объект, содержащий список пар «ключ: значение».

Пример: { “name”: “wrench”, “mass”: “1.3kg”, “count”: “3” }.

local_ssd_count

integer

Количество локальных SSD-дисков, подключаемых к узлу.

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

machine_type

string

Имя типа машины Google Compute Engine (например,

n1-standard-1). Если значение не указано, используется тип машины по умолчанию — n1-standard-1.

metadata

dictionary

Пары ключ/значение метаданных, назначаемые экземплярам в кластере.

Ключи должны соответствовать регулярному выражению [a-zA-Z0-9-_]+ и иметь длину менее 128 байт. Они отображаются как часть URL на сервере метаданных. Кроме того, во избежание неоднозначности ключи не должны конфликтовать с другими ключами метаданных проекта или совпадать с одним из четырех зарезервированных ключей: “instance-template”, “kube-env”, “startup-script” и “user-data”. Значения представляют собой произвольные строки, смысл которых определяется образом, запущенным в экземпляре. Единственное ограничение: размер каждого значения должен быть не более 32 КБ.

Общий размер всех ключей и значений должен быть менее 512 КБ.

Объект, содержащий список пар «ключ: значение».

Пример: { “name”: “wrench”, “mass”: “1.3kg”, “count”: “3” }.

min_cpu_platform

string

Минимальная платформа ЦП, используемая этим экземпляром. Экземпляр может быть запланирован на указанной или более новой платформе ЦП.

oauth_scopes

list / элементы=string

Набор областей действия Google API, предоставляемых всем виртуальным машинам узлов с учетной записью службы “default”.

Рекомендуется, но не обязательно использовать следующие области действия; по умолчанию они не добавляются: https://www.googleapis.com/auth/compute требуется для подключения постоянного хранилища к узлам.

https://www.googleapis.com/auth/devstorage.read_only требуется для взаимодействия с gcr.io (реестром контейнеров Google).

Если значение не указано, области действия не добавляются, кроме случаев, когда включены Cloud Logging или Cloud Monitoring; тогда добавляются необходимые для них области действия.

preemptible

boolean

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

Варианты:

  • false
  • true

service_account

string

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

shielded_instance_config

dictionary

Параметры Shielded Instance.

enable_integrity_monitoring

boolean

Определяет, включен ли для экземпляра мониторинг целостности.

Включает мониторинг и аттестацию целостности загрузки экземпляра.

Аттестация выполняется на основе базовой политики целостности. При создании экземпляра эта базовая политика изначально формируется на основе неявно доверенного загрузочного образа.

Варианты:

  • false
  • true

enable_secure_boot

boolean

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

Безопасная загрузка помогает обеспечить запуск в системе только подлинного программного обеспечения: она проверяет цифровую подпись всех компонентов загрузки и останавливает процесс загрузки в случае сбоя проверки подписи.

Варианты:

  • false
  • true

tags

list / элементы=string

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

taints

list / элементы=dictionary

Список ограничений Kubernetes, назначаемых каждому узлу.

effect

string

Действие ограничения.

key

string

Ключ ограничения.

value

string

Значение ограничения.

workload_meta_config

dictionary

WorkloadMetadataConfig определяет конфигурацию метаданных, доступных рабочим нагрузкам в пуле узлов.

mode

string

Режим определяет конфигурацию предоставления метаданных рабочим нагрузкам, выполняющимся в пуле узлов.

Допустимые варианты: “GCE_METADATA”, “GKE_METADATA”

env_type

string

Указывает, в какой среде Ansible выполняется этот модуль.

Не указывайте это значение, если не знаете, что делаете.

Оно изменяет только строку User Agent для запросов к API.

initial_node_count

integer / обязательный

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

location

псевдонимы: region, zone

string / обязательный

Местоположение, в котором развертывается пул узлов.

management

dictionary

Конфигурация управления для этого NodePool.

auto_repair

boolean

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

Варианты:

  • false
  • true

auto_upgrade

boolean

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

Варианты:

  • false
  • true

upgrade_options

dictionary

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

max_pods_constraint

dictionary

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

max_pods_per_node

integer

Ограничение максимального количества подов на узел.

name

string

Имя пула узлов.

project

string

Проект Google Cloud Platform, который следует использовать.

scopes

list / элементы=string

Массив используемых областей действия

service_account_contents

jsonarg

Содержимое JSON-файла учетной записи службы в виде словаря или JSON-строки, представляющей этот файл.

service_account_email

string

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

service_account_file

path

Путь к JSON-файлу учетной записи службы, если в качестве типа выбран serviceaccount.

state

string

Должен ли указанный объект существовать в GCP.

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

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

Конфигурация автомасштабирования для этого NodePool. Автомасштабирование включено только при наличии допустимой конфигурации.

Возвращается: success

enabled

boolean

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

Возвращается: success

maxNodeCount

integer

Максимальное количество узлов в NodePool. Должно быть >= minNodeCount.

Для масштабирования кластера должно быть достаточно квоты.

Возвращается: success

minNodeCount

integer

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

Возвращается: success

cluster

dictionary

Кластер, к которому относится этот пул узлов.

Возвращается: success

conditions

complex

Условия, вызвавшие текущее состояние пула узлов.

Возвращается: success

code

string

Представление условия, удобное для машинной обработки.

Возвращается: success

config

complex

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

Возвращается: success

accelerators

complex

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

Возвращается: success

acceleratorCount

integer

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

Возвращается: success

acceleratorType

string

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

Возвращается: success

diskSizeGb

integer

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

Возвращается: success

diskType

string

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

Возвращается: success

imageType

string

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

Возвращается: success

labels

dictionary

Словарь меток Kubernetes (пар «ключ/значение»), применяемых к каждому узлу. Они добавляются к меткам по умолчанию, которые Kubernetes может назначить узлу. При конфликте ключей меток применённый набор может различаться в зависимости от версии Kubernetes; рекомендуется считать такое поведение неопределённым и избегать конфликтов. Дополнительные сведения, в том числе об использовании и допустимых значениях, см. здесь: http://kubernetes.io/v1.1/docs/user-guide/labels.html Объект, содержащий список пар «ключ»: значение.

Пример: { “name”: “wrench”, “mass”: “1.3kg”, “count”: “3” }.

Возвращается: success

localSsdCount

integer

Количество локальных SSD-дисков, подключаемых к узлу.

Ограничение этого значения зависит от максимального количества дисков, доступных на машине в каждой зоне. Дополнительные сведения см. здесь: https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits.

Возвращается: success

machineType

string

Название типа машины Google Compute Engine (например,

n1-standard-1). Если значение не указано, по умолчанию используется тип машины n1-standard-1.

Возвращается: success

metadata

dictionary

Пары ключ/значение метаданных, назначенные экземплярам в кластере.

Ключи должны соответствовать регулярному выражению [a-zA-Z0-9-_]+ и иметь длину менее 128 байт. Они отображаются как часть URL-адреса на сервере метаданных. Кроме того, во избежание неоднозначности ключи не должны конфликтовать с другими ключами метаданных проекта или совпадать с одним из четырёх зарезервированных ключей: “instance-template”, “kube-env”, “startup-script” и “user-data”. Значения могут быть произвольными строками; их смысл определяется образом, запущенным в экземпляре. Единственное ограничение: размер каждого значения не должен превышать 32 КБ.

Общий размер всех ключей и значений должен быть менее 512 КБ.

Объект, содержащий список пар «ключ»: значение.

Пример: { “name”: “wrench”, “mass”: “1.3kg”, “count”: “3” }.

Возвращается: success

minCpuPlatform

string

Минимальная платформа ЦП, используемая этим экземпляром. Экземпляр может быть запланирован на указанной или более новой платформе ЦП.

Возвращается: success

oauthScopes

list / elements=string

Набор областей доступа 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; тогда добавляются необходимые для них области доступа.

Возвращается: success

preemptible

boolean

Создаются ли узлы как прерываемые экземпляры виртуальных машин. Дополнительные сведения о прерываемых экземплярах виртуальных машин см. здесь: https://cloud.google.com/compute/docs/instances/preemptible.

Возвращается: success

serviceAccount

string

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

Возвращается: success

shieldedInstanceConfig

complex

Параметры Shielded Instance.

Возвращается: success

enableIntegrityMonitoring

boolean

Определяет, включён ли для экземпляра мониторинг целостности.

Включает мониторинг и аттестацию целостности загрузки экземпляра.

Аттестация выполняется на основе базовой политики целостности. Изначально эта базовая политика формируется на основе неявно доверенного загрузочного образа, используемого при создании экземпляра.

Возвращается: success

enableSecureBoot

boolean

Определяет, включена ли для экземпляра функция Secure Boot.

Secure Boot помогает обеспечить запуск только подлинного программного обеспечения: функция проверяет цифровую подпись всех компонентов загрузки и останавливает процесс загрузки, если проверка подписи завершается неудачно.

Возвращается: success

tags

list / elements=string

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

Возвращается: success

taints

complex

Список taint-меток Kubernetes, применяемых к каждому узлу.

Возвращается: success

effect

string

Эффект taint-метки.

Возвращается: success

key

string

Ключ taint-метки.

Возвращается: success

value

string

Значение taint-метки.

Возвращается: success

workloadMetaConfig

complex

WorkloadMetadataConfig определяет конфигурацию метаданных, предоставляемых рабочим нагрузкам в пуле узлов.

Возвращается: success

mode

string

Режим определяет конфигурацию предоставления метаданных рабочим нагрузкам, выполняющимся в пуле узлов.

Возвращается: success

initialNodeCount

integer

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

Возвращается: success

location

string

Местоположение, в котором развёрнут пул узлов.

Возвращается: success

management

complex

Конфигурация управления для этого NodePool.

Возвращается: success

autoRepair

boolean

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

Возвращается: success

autoUpgrade

boolean

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

Возвращается: success

upgradeOptions

complex

Параметры автоматического обновления пула узлов.

Возвращается: success

autoUpgradeStartTime

string

Это поле задаётся перед началом обновления и содержит примерное время его начала в текстовом формате RFC3339.

Возвращается: success

description

string

Это поле задаётся перед началом обновления и содержит его описание.

Возвращается: success

maxPodsConstraint

complex

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

Возвращается: success

maxPodsPerNode

integer

Ограничение на максимальное количество подов на узел.

Возвращается: success

name

string

Имя пула узлов.

Возвращается: success

podIpv4CidrSize

integer

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

Возвращается: success

status

string

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

Возвращается: success

statusMessage

string

Дополнительные сведения о текущем состоянии этого экземпляра пула узлов.

Возвращается: success

version

string

Версия Kubernetes на этом узле.

Возвращается: success

Авторы

  • Google Inc. (@googlecloudplatform)

Ссылки на коллекцию

  • Отслеживание проблем
  • Домашняя страница
  • Репозиторий (исходный код)

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/google/cloud/gcp_container_node_pool_module.html

Spec-Zone.ru

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