gcp_container_node_pool – Создаёт пул узлов GCP
Новая версия 2.6.
Описание
- NodePool содержит имя и конфигурацию пула узлов кластера.
- Пулы узлов — это набор узлов (т. е. виртуальных машин), имеющих общую конфигурацию и спецификацию, находящихся под управлением мастера кластера. К ним могут быть применены метки Kubernetes, которые могут использоваться для ссылки на них при планировании под. Их также можно изменять в размерах вверх или вниз для адаптации к рабочей нагрузке.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | ||
|---|---|---|---|---|
| auth_kind - / обязательно |
| Тип используемых учетных данных. | ||
| autoscaling - | Настройка автоматического масштабирования для этого NodePool. Автоматическое масштабирование включено только при наличии корректной конфигурации. | |||
| enabled boolean |
| Включено ли автоматическое масштабирование для этого пула узлов. | ||
| max_node_count - | Максимальное количество узлов в NodePool. Должно быть >= minNodeCount. Должно быть достаточно квоты для масштабирования кластера. | |||
| min_node_count - | Минимальное количество узлов в NodePool. Должно быть >= 1 и <= maxNodeCount. | |||
| cluster - / обязательно | Кластер, к которому принадлежит этот пул узлов. | |||
| config - | Конфигурация узлов пула. | |||
| disk_size_gb - | Размер диска, прикрепленного к каждому узлу, в ГБ. Минимальный разрешенный размер диска — 10 ГБ. Если не указано, используется значение по умолчанию — 100 ГБ. | |||
| image_type - | Тип образа для использования на этом узле. Обратите внимание, что для данного типа образа будет использоваться последняя версия. | |||
| labels - | Карта меток Kubernetes (пар «ключ/значение»), которые будут применяться к каждому узлу. Эти метки будут добавлены дополнительно к любым меткам по умолчанию, которые Kubernetes может применить к узлу. В случае конфликта в ключах меток применённый набор может отличаться в зависимости от версии Kubernetes — лучше всего считать поведение неопределённым, и конфликты следует избегать. Для получения дополнительной информации, включая использование и допустимые значения, см.: http://kubernetes.io/v1.1/docs/user-guide/labels.html Объект, содержащий список пар «ключ»: значение. Пример: { "name": "гаечный ключ", "масса": "1,3 кг", "количество": "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": "гаечный ключ", "масса": "1,3 кг", "количество": "3" }. | |||
| oauth_scopes - | Набор облачных 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 boolean |
| Указывается ли создание узлов как экземпляров виртуальных машин с возможностью прерывания. См. https://cloud.google.com/compute/docs/instances/preemptible для получения дополнительной информации об экземплярах виртуальных машин с возможностью прерывания. | ||
| service_account - | Учетная запись службы Google Cloud Platform, которая будет использоваться виртуальными машинами узлов. Если учетная запись службы не указана, используется учетная запись «по умолчанию». | |||
| tags - | Список меток экземпляров, применяемых ко всем узлам. Метки используются для идентификации допустимых источников или целей для межсетевых экранов и задаются клиентом при создании кластера или пула узлов. Каждая метка в списке должна соответствовать RFC1035. | |||
| initial_node_count - / обязательно | Начальное количество узлов для пула. Вам необходимо убедиться, что квота ресурсов Compute Engine достаточна для этого количества экземпляров. Вам также должны быть доступны квоты на межсетевой экран и маршруты. | |||
| management - | Конфигурация управления для этого NodePool. | |||
| auto_repair boolean |
| Флаг, указывающий, включено ли автоматическое восстановление узлов для пула узлов. Если включено, узлы в этом пуле узлов будут отслеживаться, и если они не пройдут проверки работоспособности слишком много раз, будет выполнено автоматическое действие по восстановлению. | ||
| auto_upgrade boolean |
| Флаг, указывающий, включено ли автоматическое обновление узлов для пула узлов. Если включено, автоматическое обновление узлов помогает поддерживать узлы в вашем пуле узлов в актуальном состоянии с последней релизной версией Kubernetes. | ||
| upgrade_options - | Указывает настройки автоматического обновления для пула узлов. | |||
| auto_upgrade_start_time - | Это поле устанавливается при начале обновлений с примерным начальным временем обновлений в формате RFC3339. | |||
| description - | Это поле устанавливается при начале обновлений с описанием обновления. | |||
| name - | Название пула узлов. | |||
| project - | По умолчанию: null | Проект Google Cloud Platform. | ||
| scopes - | Массив используемых областей. | |||
| service_account_email - | Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount и пользователь не хочет использовать адрес электронной почты по умолчанию. | |||
| service_account_file - | Путь к файлу JSON учетной записи службы, если выбран тип serviceaccount. | |||
| state - |
| Требуется ли существование данного объекта в GCP | ||
| зона - / обязательно | Зона, в которой развернут пул узлов. | |||
Примечания
Примечание
- Для аутентификации можно установить service_account_file с помощью переменной среды
GCP_SERVICE_ACCOUNT_FILE. - Для аутентификации можно установить service_account_email с помощью переменной среды
GCP_SERVICE_ACCOUNT_EMAIL. - Для аутентификации можно установить auth_kind с помощью переменной среды
GCP_AUTH_KIND. - Для аутентификации можно установить scopes с помощью переменной среды
GCP_SCOPES. - Значения переменных среды будут использоваться только в том случае, если значения в playbook не заданы.
- Параметры service_account_email и service_account_file взаимоисключающие.
Примеры
- name: create a cluster
gcp_container_cluster:
name: "cluster-nodepool"
initial_node_count: 4
zone: 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: "test_object"
initial_node_count: 4
cluster: "{{ cluster }}"
zone: us-central1-a
project: "test_project"
auth_kind: "service_account"
service_account_file: "/tmp/auth.pem"
state: present
Возвращаемые значения
Общие возвращаемые значения документированы здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое | Описание | ||
|---|---|---|---|---|
| autoscaling сложный | success | Конфигурация автомасштабирования для этого пула узлов. Автомасштабирование включено только при наличии корректной конфигурации. | ||
| enabled булево | success | Включено ли автомасштабирование для этого пула узлов. | ||
| max_node_count целое число | success | Максимальное количество узлов в пуле узлов. Должно быть >= minNodeCount. Должно быть достаточно квоты для масштабирования кластера. | ||
| min_node_count целое число | success | Минимальное количество узлов в пуле узлов. Должно быть >= 1 и <= maxNodeCount. | ||
| cluster словарь | success | Кластер, к которому принадлежит этот пул узлов. | ||
| config сложный | success | Конфигурация узлов пула. | ||
| disk_size_gb целое число | success | Размер диска, подключенного к каждому узлу, указанный в ГБ. Минимальный разрешённый размер диска — 10 ГБ. Если не указано, размер диска по умолчанию — 100 ГБ. | ||
| image_type строка | success | Тип образа для использования для данного узла. Обратите внимание, что для данного типа образа будет использована последняя версия. | ||
| labels словарь | success | Карта меток Kubernetes (пар «ключ/значение»), применяемых к каждому узлу. Они добавляются дополнительно к любым меткам по умолчанию, которые Kubernetes может применить к узлу. В случае конфликта в ключах меток применяемый набор может отличаться в зависимости от версии Kubernetes — лучше всего предполагать поведение неопределённым, и конфликтов следует избегать. Подробнее, включая использование и допустимые значения, см.: http://kubernetes.io/v1.1/docs/user-guide/labels.html Объект, содержащий список пар «ключ»: значение. Пример: { "name": "ключ", "mass": "1.3кг", "count": "3" }. | ||
| local_ssd_count целое число | success | Количество локальных SSD-дисков, подключаемых к узлу. Ограничение для этого значения зависит от максимального количества дисков, доступных на машине в данной зоне. Подробнее см.: https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits | ||
| machine_type строка | success | Имя типа машины Google Compute Engine (например, n1-стандарт-1). Если не указано, тип машины по умолчанию — n1-стандарт-1. | ||
| metadata словарь | success | Ключи/значения метаданных, назначенные экземплярам в кластере. Ключи должны соответствовать регулярному выражению [a-zA-Z0-9-_]+ и иметь длину менее 128 байт. Они отражаются как часть URL-адреса в сервере метаданных. Кроме того, чтобы избежать неоднозначности, ключи не должны совпадать с другими ключами метаданных для проекта или быть одним из четырёх зарезервированных ключей: «instance-template», «kube-env», «startup-script» и «user-data». Значения — свободные строки, и их смысл интерпретируется только работающим в экземпляре образом. Единственное ограничение заключается в том, что размер каждого значения должен быть меньше или равен 32 КБ. Общая длина всех ключей и значений должна быть меньше 512 КБ. Объект, содержащий список пар «ключ»: значение. Пример: { "name": "ключ", "mass": "1.3кг", "count": "3" }. | ||
| oauth_scopes список | success | Набор облачных API-скопов Google, которые должны быть доступны для всех виртуальных машин узлов под учетной записью «по умолчанию». Следующие scopes рекомендуются, но не являются обязательными, и по умолчанию не включены: https://www.googleapis.com/auth/compute необходим для подключения постоянного хранилища к вашим узлам.
https://www.googleapis.com/auth/devstorage.read_only необходим для связи с gcr.io (Google Container Registry). Если не указано, scopes не добавляются, если не включены Cloud Logging или Cloud Monitoring, в этом случае будут добавлены необходимые scopes. | ||
| preemptible булево | success | Указывает, создаются ли узлы как предварительно прерывимые виртуальные машины. Подробнее о предварительно прерывимых виртуальных машинах см.: https://cloud.google.com/compute/docs/instances/preemptible | ||
| service_account строка | success | Учетная запись службы Google Cloud Platform, которая будет использоваться виртуальными машинами узлов. Если учетная запись службы не указана, используется учетная запись «по умолчанию». | ||
| tags список | success | Список меток экземпляров, применяемых ко всем узлам. Метки используются для идентификации допустимых источников или целей для сетевых брандмауэров и задаются клиентом при создании кластера или пула узлов. Каждая метка в списке должна соответствовать RFC1035. | ||
| initial_node_count целое число | success | Начальное количество узлов для пула. Вы должны убедиться, что ваша квота ресурсов Compute Engine достаточна для этого количества экземпляров. Также вам потребуется квота на брандмауэр и маршруты. | ||
| management сложный | success | Конфигурация управления для этого пула узлов. | ||
| auto_repair булево | success | Флаг, указывающий, включено ли автоматическое исправление узлов для пула узлов. Если включено, узлы в этом пуле узлов будут отслеживаться, и если они не пройдут проверки работоспособности слишком много раз, будет выполнено автоматическое действие по исправлению. | ||
| auto_upgrade булево | success | Флаг, указывающий, включено ли автоматическое обновление узлов для пула узлов. При включении автоматическое обновление узлов помогает поддерживать узлы в вашем пуле узлов в актуальном состоянии с последней версией Kubernetes. | ||
| upgrade_options сложный | success | Указывает параметры автоматического обновления для пула узлов. | ||
| auto_upgrade_start_time строка | success | Это поле устанавливается, когда обновления собираются начать с примерного времени начала обновлений в формате RFC3339. | ||
| description строка | success | Это поле устанавливается, когда обновления собираются начать с описанием обновления. | ||
| name строка | success | Название пула узлов. | ||
| version строка | success | Версия Kubernetes этого узла. | ||
| zone строка | success | Зона, в которой развернут пул узлов. | ||
Статус
- Этот модуль не гарантирует обратной совместимости интерфейса. [превью]
- Этот модуль поддерживается сообществом 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.7/modules/gcp_container_node_pool_module.html