google.cloud.gcp_container_node_pool модуль — Создаёт пул узлов GCP
Примечание
Этот модуль входит в коллекцию google.cloud (версия 1.4.1).
У вас, возможно, уже установлена эта коллекция, если вы используете пакет 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 строка | Токен доступа OAuth2, если тип учетных данных — accesstoken. |
auth_kind строка / обязательно | Тип используемых учетных данных. Варианты:
|
autoscaling словарь | Настройка автомасштабирования для данного NodePool. Автомасштабирование включено только при наличии корректной конфигурации. |
|
enabled булево |
Включено ли автомасштабирование для этого пула узлов. Варианты:
|
|
max_node_count целое число |
Максимальное количество узлов в NodePool. Должно быть >= minNodeCount. Должно быть достаточно квот для масштабирования кластера вверх. |
|
min_node_count целое число |
Минимальное количество узлов в NodePool. Должно быть >= 1 и <= maxNodeCount. |
cluster словарь / обязательно | Кластер, к которому принадлежит этот пул узлов. Это поле представляет ссылку на ресурс Cluster в GCP. Его можно указать двумя способами. Во-первых, можно поместить словарь с ключом ‘name’ и значением имени вашего ресурса. Во-вторых, можно добавить `register: имя-ресурса` к задаче gcp_container_cluster, а затем установить это поле 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 КБ. Объект, содержащий список пар «ключ»: значение. Пример: { «имя»: «ключ», «масса»: «1.3кг», «количество»: «3» }. |
|
min_cpu_platform строка |
Минимальная платформа процессора, которая должна использоваться этим экземпляром. Экземпляр может быть запланирован на указанную или более новую платформу процессора. |
|
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 логическое значение |
Указывает, создаются ли узлы как виртуальные машины с возможностью прерывания. См.: https://cloud.google.com/compute/docs/instances/preemptible для получения дополнительной информации о виртуальных машинах с возможностью прерывания. Выбор:
|
|
service_account строка |
Учётная запись Google Cloud Platform для службы, которая будет использоваться виртуальными машинами узлов. Если учётная запись службы не указана, используется учётная запись «по умолчанию». |
|
shielded_instance_config словарь |
Параметры защищённого экземпляра. |
|
enable_integrity_monitoring логическое значение |
Определяет, включено ли мониторинг целостности для экземпляра. Включает мониторинг и подтверждение целостности загрузки экземпляра. Подтверждение выполняется в соответствии с базовой линией политики целостности. Эта база данных изначально выводится из неявно надёжного загрузочного изображения при создании экземпляра. Выбор:
|
|
enable_secure_boot логическое значение |
Определяет, включен ли Безопасный запуск для экземпляра. Безопасный запуск помогает гарантировать, что система запускает только аутентифицированное программное обеспечение, проверяя цифровую подпись всех загрузочных компонентов и останавливая процесс загрузки, если проверка подписи не удалась. Выбор:
|
|
tags список / элементы=строка |
Список тегов экземпляра, применённых ко всем узлам. Теги используются для идентификации допустимых источников или целей для сетевых брандмауэров и указываются клиентом при создании кластера или пула узлов. Каждый тег в списке должен соответствовать RFC1035. |
|
taints список / элементы=словарь |
Список тегов Kubernetes, которые должны применяться к каждому узлу. |
|
effect строка |
Эффект для тега. |
|
key строка |
Ключ для тега. |
|
value строка |
Значение для тега. |
|
workload_meta_config словарь |
WorkloadMetadataConfig определяет конфигурацию метаданных, которые должны быть доступны рабочим нагрузкам в пуле узлов. |
|
mode строка |
Режим — это конфигурация для отображения метаданных рабочим нагрузкам, выполняющимся в пуле узлов. Некоторые допустимые варианты: «GCE_METADATA», «GKE_METADATA» |
env_type строка | Указывает, в какой среде Ansible вы выполняете этот модуль. Необходимо устанавливать только в случае необходимости. Это изменяет только строку User Agent для всех запросов API. |
initial_node_count целое число / обязательно | Начальное количество узлов для пула. Необходимо убедиться, что квота ресурсов Compute Engine достаточна для этого количества экземпляров. Также необходимо наличие квоты на брандмауэр и маршруты. |
location псевдонимы: регион, зона строка / обязательно | Расположение, где развернут пул узлов. |
management dictionary | Конфигурация управления для этого NodePool. |
|
auto_repair boolean |
Флаг, указывающий, включена ли автоматическая настройка (repair) узлов для пула узлов. Если включено, узлы в этом пуле будут отслеживаться, и если они не пройдут проверки работоспособности слишком много раз, будет запущена автоматическая процедура восстановления. Варианты:
|
|
auto_upgrade boolean |
Флаг, указывающий, включено ли автоматическое обновление (upgrade) узлов для пула узлов. Если включено, автоматическое обновление узлов поможет поддерживать узлы в вашем пуле узлов в актуальном состоянии с последней версией Kubernetes. Варианты:
|
|
upgrade_options dictionary |
Устанавливает параметры автоматического обновления для пула узлов. |
max_pods_constraint dictionary | Ограничение максимального количества под (pods), которые могут выполняться одновременно на узле в пуле узлов. |
|
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 | Определяет, должен ли данный объект существовать в 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 сложный | Настройка автоматического масштабирования для данного NodePool. Автоматическое масштабирование включено только при наличии допустимой конфигурации. Возвращается: успех |
|
enabled логическое |
Включено ли автоматическое масштабирование для данного пула узлов. Возвращается: успех |
|
maxNodeCount целое число |
Максимальное количество узлов в NodePool. Должно быть >= minNodeCount. Должно быть достаточно квот для увеличения кластера. Возвращается: успех |
|
minNodeCount целое число |
Минимальное количество узлов в NodePool. Должно быть >= 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-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” }. Возвращено: success |
|
minCpuPlatform string |
Минимальная платформа ЦП, которая будет использоваться этим экземпляром. Экземпляр может быть запланирован на указанной или более новой платформе ЦП. Возвращено: success |
|
oauthScopes list / elements=string |
Набор областей API Google, которые будут доступны на всех виртуальных машинах узлов под учетной записью службы «default». Рекомендуются, но не требуются следующие области, и по умолчанию они не включены: https://www.googleapis.com/auth/compute требуется для монтирования постоянного хранилища на ваших узлах. https://www.googleapis.com/auth/devstorage.read_only требуется для связи с gcr.io (реестр контейнеров Google). Если не указано, области не добавляются, если только не включено 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 |
Параметры защищенного экземпляра. Возвращено: success |
|
enableIntegrityMonitoring boolean |
Определяет, включен ли для экземпляра мониторинг целостности. Включает мониторинг и подтверждение целостности загрузки экземпляра. Подтверждение выполняется на основе базовой линии политики целостности. Эта базовая линия изначально выводится из неявно доверенного загрузочного образа при создании экземпляра. Возвращено: success |
|
enableSecureBoot boolean |
Определяет, включена ли для экземпляра безопасная загрузка. Безопасная загрузка помогает обеспечить запуск системой только аутентичного программного обеспечения путем проверки цифровой подписи всех компонентов загрузки и остановки процесса загрузки, если проверка подписи завершится неудачей. Возвращено: success |
|
tags list / elements=string |
Список тегов экземпляров, применяемых ко всем узлам. Теги используются для идентификации допустимых источников или целей для брандмауэров сети и указываются клиентом во время создания кластера или пула узлов. Каждый тег в списке должен соответствовать RFC1035. Возвращено: success |
|
taints complex |
Список пометок Kubernetes, которые будут применены к каждому узлу. Возвращено: success |
|
effect string |
Эффект для метки. Возвращено: success |
|
key string |
Ключ для метки. Возвращено: success |
|
value string |
Значение для метки. Возвращено: success |
|
workloadMetaConfig complex |
WorkloadMetadataConfig определяет конфигурацию метаданных для предоставления рабочим нагрузкам в пуле узлов. Возвращено: success |
|
mode string |
Mode — это конфигурация для того, как предоставлять метаданные рабочим нагрузкам, работающим в пуле узлов. Возвращено: success |
initialNodeCount integer | Начальное количество узлов для пула. Вы должны убедиться, что ваша квота ресурсов Compute Engine достаточна для этого количества экземпляров. Вам также должна быть доступна квота брандмауэров и маршрутов. Возвращено: success |
местоположение строка | Местоположение, где развернут пул узлов. Возвращено: успех |
управление сложный тип | Настройка управления для этого NodePool. Возвращено: успех |
|
автоматический ремонт логическое значение |
Флаг, указывающий, включен ли автоматический ремонт узлов для пула узлов. Если включен, узлы в этом пуле узлов будут отслеживаться, и если они слишком много раз не пройдут проверки работоспособности, будет выполнено автоматическое действие по ремонту. Возвращено: успех |
|
автоматическое обновление логическое значение |
Флаг, указывающий, включено ли автоматическое обновление узлов для пула узлов. Если включено, автоматическое обновление узлов поможет поддерживать узлы в вашем пуле узлов актуальными с последней версией Kubernetes. Возвращено: успех |
|
параметры обновления сложный тип |
Указывает параметры автоматического обновления для пула узлов. Возвращено: успех |
|
время начала автоматического обновления строка |
Это поле устанавливается, когда обновления собираются начаться с приблизительного времени начала обновлений в формате RFC3339. Возвращено: успех |
|
описание строка |
Это поле устанавливается, когда обновления собираются начаться с описанием обновления. Возвращено: успех |
ограничение на максимальное количество под сложный тип | Ограничение максимального числа под, которые могут выполняться одновременно на узле в пуле узлов. Возвращено: успех |
|
максимальное количество под на узел целое число |
Ограничение, применённое к максимальному числу под на узел. Возвращено: успех |
имя строка | Имя пула узлов. Возвращено: успех |
размер блока под CIDR целое число | Размер блока CIDR под на узел в этом пуле узлов. Возвращено: успех |
статус строка | Состояние узлов в этом экземпляре пула. Возвращено: успех |
сообщение о статусе строка | Дополнительная информация о текущем состоянии этого экземпляра пула узлов. Возвращено: успех |
версия строка | Версия Kubernetes этого узла. Возвращено: успех |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/google/cloud/gcp_container_node_pool_module.html