google.cloud.gcp_container_node_pool – Создаёт пул узлов GCP
Примечание
Этот плагин входит в коллекцию google.cloud (версия 1.0.2).
Для его установки используйте: 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 строка / обязательно |
| Тип используемых учетных данных. | ||
| autoscaling словарь | Настройка автомасштабирования для этого пула узлов. Автомасштабирование включено только при наличии корректной конфигурации. | |||
| enabled булево |
| Включено ли автомасштабирование для этого пула узлов. | ||
| max_node_count целое число | Максимальное количество узлов в пуле узлов. Должно быть больше или равно minNodeCount. Должно быть достаточно квот для увеличения масштаба кластера. | |||
| min_node_count целое число | Минимальное количество узлов в пуле узлов. Должно быть больше или равно 1 и меньше или равно maxNodeCount. | |||
| 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": "отвёртка", "масса": "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" }. | |||
| 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). Если не указаны, области действия не добавляются, если не включены 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" | |||
| тип_среды строка | Указывает, в какой среде Ansible выполняется этот модуль. Не устанавливайте это значение, если вы не знаете, что делаете. Это только изменяет строку User Agent для всех запросов к API. | |||
| начальное_количество_узлов целое / обязательно | Начальное количество узлов для пула. Вы должны убедиться, что квота Compute Engine ресурсов достаточна для этого числа экземпляров. У вас также должны быть доступные квоты на брандмауэр и маршруты. | |||
| местоположение строка / обязательно | Расположение, где развернут пул узлов. псевдонимы: регион, зона | |||
| управление словарь | Настройка управления для этого пула узлов. | |||
| автоматический_ремонт булево |
| Флаг, указывающий, включён ли автоматический ремонт узлов для пула узлов. Если включен, узлы в этом пуле будут отслеживаться, и если они слишком много раз не пройдут проверки работоспособности, будет выполнено автоматическое действие ремонта. | ||
| автоматическое_обновление булево |
| Флаг, указывающий, включено ли автоматическое обновление узлов для пула узлов. Если включено, автоматическое обновление узлов поможет поддерживать узлы в вашем пуле узлов актуальными с последней версией Kubernetes. | ||
| варианты_обновления словарь | Указывает параметры автоматического обновления для пула узлов. | |||
| ограничение_максимального_количества_подов словарь | Ограничение максимального количества поддонов, которые могут выполняться одновременно на узле в пуле узлов. | |||
| максимальное_количество_подов_на_узел целое | Ограничение, применяемое к максимальному числу поддонов на узел. | |||
| имя строка | Имя пула узлов. | |||
| проект строка | Проект Google Cloud Platform для использования. | |||
| разрешения список / элементы=строка | Массив разрешений для использования | |||
| содержимое_учетной_записи_службы jsonarg | Содержимое файла JSON учетной записи службы, либо в словаре, либо в виде JSON-строки, представляющей его. | |||
| электронный_адрес_учетной_записи_службы строка | Необязательный электронный адрес учетной записи службы, если выбран machineaccount, и пользователь не хочет использовать адрес по умолчанию. | |||
| файл_учетной_записи_службы путь | Путь к файлу JSON учетной записи службы, если тип serviceaccount выбран. | |||
| состояние строка |
| Требуется ли существование данного объекта в GCP | ||
| версия строка | Версия 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-standard-1). Если не указано, используется тип виртуальной машины по умолчанию — n1-standard-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 | Набор областей видимости 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 boolean | success | Указывается, создаются ли узлы в качестве экземпляров виртуальных машин с возможностью прерывания. Подробнее см.: https://cloud.google.com/compute/docs/instances/preemptible | ||
| serviceAccount string | success | Учётная запись службы Google Cloud Platform, которая должна использоваться виртуальными машинами узлов. Если учётная запись службы не указана, используется учётная запись «по умолчанию». | ||
| 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 | Значение метки. | ||
| workloadMetaConfig complex | success | WorkloadMetadataConfig определяет конфигурацию метаданных, которые нужно предоставить рабочим нагрузкам в пуле узлов. | ||
| mode 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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/google/cloud/gcp_container_node_pool_module.html