модуль 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 / обязательный | Тип используемых учетных данных. Варианты:
|
autoscaling dictionary | Конфигурация автомасштабирования для этого NodePool. Автомасштабирование включается только при наличии допустимой конфигурации. |
|
enabled boolean |
Включено ли автомасштабирование для этого пула узлов. Варианты:
|
|
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. Варианты:
|
|
service_account string |
Учетная запись службы Google Cloud Platform, используемая виртуальными машинами узлов. Если учетная запись службы не указана, используется учетная запись службы “default”. |
|
shielded_instance_config dictionary |
Параметры Shielded Instance. |
|
enable_integrity_monitoring boolean |
Определяет, включен ли для экземпляра мониторинг целостности. Включает мониторинг и аттестацию целостности загрузки экземпляра. Аттестация выполняется на основе базовой политики целостности. При создании экземпляра эта базовая политика изначально формируется на основе неявно доверенного загрузочного образа. Варианты:
|
|
enable_secure_boot boolean |
Определяет, включена ли для экземпляра безопасная загрузка. Безопасная загрузка помогает обеспечить запуск в системе только подлинного программного обеспечения: она проверяет цифровую подпись всех компонентов загрузки и останавливает процесс загрузки в случае сбоя проверки подписи. Варианты:
|
|
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 |
Флаг, указывающий, включено ли автоматическое восстановление узлов для пула узлов. Если оно включено, узлы в этом пуле отслеживаются, и при слишком частом сбое проверок работоспособности запускается автоматическое восстановление. Варианты:
|
|
auto_upgrade boolean |
Флаг, указывающий, включено ли автоматическое обновление узлов для пула узлов. Если оно включено, автоматическое обновление помогает поддерживать узлы в пуле в актуальном состоянии, используя последнюю версию Kubernetes. Варианты:
|
|
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. Варианты:
|
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 |
Ссылки на коллекцию
© 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