gcp_container_cluster – Создаёт кластер GCP
Новая в версии 2.6.
Обзор
- Кластер Google Container Engine.
Требования
Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | ||
|---|---|---|---|---|
| addons_config - | Настройки для различных плагинов, доступных для запуска в кластере. | |||
| horizontal_pod_autoscaling - | Настройка функции автоматического масштабирования горизонтальных под, которая увеличивает или уменьшает количество реплицированных под управления репликации, в зависимости от использования ресурсов существующих под. | |||
| disabled boolean |
| Включена ли функция автоматического масштабирования горизонтальных под в кластере. При включении она гарантирует, что в кластере запущен pod Heapster, который также используется службой Cloud Monitoring. | ||
| http_load_balancing - | Настройка плагина контроллера балансировки нагрузки HTTP (L7), который упрощает настройку балансировщиков HTTP для служб в кластере. | |||
| disabled boolean |
| Включен ли контроллер балансировки HTTP в кластере. При включении он запускает небольшой pod в кластере, который управляет балансировщиками. | ||
| auth_kind - / обязательно |
| Тип используемых учетных данных. | ||
| cluster_ipv4_cidr - | Диапазон IP-адресов контейнерных под в этом кластере в нотации CIDR (например, 10.96.0.0/14). Оставьте пустым, чтобы автоматически выбрать диапазон, или укажите блок /14 в 10.0.0.0/8. | |||
| description - | Необязательное описание этого кластера. | |||
| initial_node_count - / обязательно | Количество узлов для создания в этом кластере. Вы должны убедиться, что квота ресурсов Compute Engine достаточна для этого количества экземпляров. Вам также должны быть доступны квоты на брандмауэры и маршруты. Для запросов этот параметр должен использоваться только вместо объекта «nodePool», так как эта настройка (вместе с «nodeConfig») будет использована для создания объекта «NodePool» с автоматически сгенерированным именем. Не используйте его вместе с nodePool. | |||
| location - | Список расположений Google Compute Engine, в которых должны находиться узлы кластера. | |||
| logging_service - |
| Служба ведения журналов, которую должен использовать кластер для записи журналов. В настоящее время доступны следующие варианты: logging.googleapis.com — служба Google Cloud Logging. none — журналы из кластера не будут экспортированы. Если оставить пустым, будет использоваться logging.googleapis.com. | ||
| master_auth - | Информация об аутентификации для доступа к мастер-точке. | |||
| client_certificate - | Публичный сертификат в кодировке Base64, используемый клиентами для аутентификации на конечной точке кластера. | |||
| client_key - | Приватный ключ в кодировке Base64, используемый клиентами для аутентификации на конечной точке кластера. | |||
| cluster_ca_certificate - | Публичный сертификат в кодировке Base64, являющийся корнем доверия для кластера. | |||
| password - | Пароль для использования при аутентификации по HTTP с использованием базовой аутентификации на мастер-точку. Поскольку мастер-точка открыта для доступа из интернета, вы должны создать надёжный пароль. | |||
| username - | Имя пользователя для использования при аутентификации по HTTP с использованием базовой аутентификации на мастер-точку. | |||
| monitoring_service - |
| Служба мониторинга, которую должен использовать кластер для записи метрик. В настоящее время доступны следующие варианты: monitoring.googleapis.com — служба Google Cloud Monitoring. none — метрики из кластера не будут экспортированы. Если оставить пустым, будет использоваться monitoring.googleapis.com. | ||
| name - | Имя этого кластера. Имя должно быть уникальным в рамках этого проекта и зоны и может содержать до 40 символов. Должно содержать только строчные буквы, цифры и дефисы. Должно начинаться с буквы. Должно заканчиваться цифрой или буквой. | |||
| network - | Имя сети Google Compute Engine, к которой подключен кластер. Если не указано, будет использоваться сеть по умолчанию. Для обеспечения ее существования и работоспособности, настройте сеть с помощью ресурса 'gcompute_network'. | |||
| node_config - | Параметры, используемые при создании узлов кластера. Для запросов этот параметр должен использоваться только вместо объекта «nodePool», так как эта настройка (вместе с «initialNodeCount») будет использована для создания объекта «NodePool» с автоматически сгенерированным именем. Не используйте его вместе с nodePool. Для ответов этот параметр будет заполнен конфигурацией узла первого пула узлов. Если не указано, будут использоваться значения по умолчанию. | |||
| disk_size_gb - | Размер диска, подключаемого к каждому узлу, указанный в ГБ. Минимальный допустимый размер диска составляет 10 ГБ. Если не указано, используется размер диска по умолчанию 100 ГБ. | |||
| 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-standard-1). Если не указано, используется тип машины по умолчанию n1-standard-1. | |||
| metadata - | Ключи/значения метаданных, назначаемые экземплярам в кластере. Ключи должны соответствовать регулярному выражению [a-zA-Z0-9-_]+ и иметь длину менее 128 байт. Они отображаются в составе URL-адреса на сервере метаданных. Кроме того, чтобы избежать неоднозначности, ключи не должны совпадать с другими ключами метаданных для проекта или быть одним из четырёх зарезервированных ключей: «instance-template», «kube-env», «startup-script» и «user-data». Значения представляют собой произвольные строки и имеют смысл только при интерпретации их изображением, работающим на экземпляре. Единственное ограничение, налагаемое на них, состоит в том, что размер каждого значения должен быть меньше или равен 32 КБ. Общий размер всех ключей и значений должен быть меньше 512 КБ. Объект, содержащий список пар «ключ»: значение. Пример: { "name": "ключ", "mass": "1.3кг", "count": "3" }. | |||
| 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 boolean |
| Определяет, создаются ли узлы в виде преемлемых виртуальных машин. См.: https://cloud.google.com/compute/docs/instances/preemptible для получения более подробной информации о преемлемых виртуальных машинах. | ||
| service_account - | Учетная запись Google Cloud Platform, используемая узловыми машинами. Если учетная запись не указана, используется учетная запись «по умолчанию». | |||
| tags - | Список меток экземпляров, применяемых ко всем узлам. Метки используются для определения допустимых источников или целей для сетевых брандмауэров и задаются клиентом при создании кластера или пула узлов. Каждая метка в списке должна соответствовать RFC1035. | |||
| project - | По умолчанию: null | Проект Google Cloud Platform для использования. | ||
| scopes - | Массив используемых скопов. | |||
| service_account_email - | Дополнительный адрес электронной почты учетной записи сервиса, если выбрана machineaccount, и пользователь не хочет использовать адрес по умолчанию. | |||
| service_account_file - | Путь к файлу JSON учетной записи сервиса, если тип serviceaccount выбран. | |||
| state - |
| Нужно ли данному объекту существовать в GCP | ||
| subnetwork - | Имя подсети Google Compute Engine, к которой подключен кластер. | |||
| zone - / обязательно | Зона развертывания кластера. | |||
Примечания
Примечание
- Для аутентификации можно установить service_account_file используя переменную среды
GCP_SERVICE_ACCOUNT_FILE. - Для аутентификации можно установить service_account_email используя переменную среды
GCP_SERVICE_ACCOUNT_EMAIL. - Для аутентификации можно установить auth_kind используя переменную среды
GCP_AUTH_KIND. - Для аутентификации можно установить scopes используя переменную среды
GCP_SCOPES. - Значения переменных среды будут использоваться только если значения в книге сценариев не заданы.
- Параметры service_account_email и service_account_file взаимоисключающие.
Примеры
- name: create a cluster
gcp_container_cluster:
name: "test_object"
initial_node_count: 2
master_auth:
username: cluster_admin
password: my-secret-password
node_config:
machine_type: n1-standard-4
disk_size_gb: 500
zone: us-central1-a
project: "test_project"
auth_kind: "service_account"
service_account_file: "/tmp/auth.pem"
state: present
Значения возврата
Общие значения возврата описаны здесь, следующие — это поля, уникальные для данного модуля:
| Ключ | Возвращено | Описание | ||
|---|---|---|---|---|
| addons_config сложный | успех | Настройки различных доступных для запуска в кластере дополнений. | ||
| horizontal_pod_autoscaling сложный | успех | Настройка функции горизонтального масштабирования под, которая увеличивает или уменьшает количество реплицируемых под контейнеров контроллера репликации на основе использования ресурсов существующих под. | ||
| disabled булево | успех | Включена ли функция горизонтального масштабирования под в кластере. При включении гарантируется, что в кластере работает под Heapster, который также используется службой Cloud Monitoring. | ||
| http_load_balancing сложный | успех | Настройка дополнения контроллера балансировки нагрузки HTTP (L7), которое упрощает настройку балансировщиков HTTP для служб в кластере. | ||
| disabled булево | успех | Включен ли контроллер балансировки нагрузки HTTP в кластере. При включении он запускает небольшой под в кластере, который управляет балансировщиками нагрузки. | ||
| cluster_ipv4_cidr строка | успех | Диапазон IP-адресов контейнерных под в этом кластере в нотации CIDR (например, 10.96.0.0/14). Оставьте пустым, чтобы выбрать один автоматически, или укажите блок /14 в 10.0.0.0/8. | ||
| create_time строка | успех | Время создания кластера в формате RFC3339. | ||
| current_master_version строка | успех | Текущая версия программного обеспечения конечной точки мастера. | ||
| current_node_count целое число | успех | Количество узлов в настоящее время в кластере. | ||
| current_node_version строка | успех | Текущая версия программных компонентов узла. Если в настоящее время они находятся на нескольких версиях, потому что они находятся в процессе обновления, это отражает минимальную версию всех узлов. | ||
| description строка | успех | Необязательное описание этого кластера. | ||
| endpoint строка | успех | IP-адрес конечной точки мастера этого кластера. К конечной точке можно получить доступ из интернета по адресу https://username:password@endpoint/ См. свойство masterAuth этого ресурса для получения информации об имени пользователя и пароле. | ||
| expire_time строка | успех | Время автоматического удаления кластера в формате RFC3339. | ||
| initial_cluster_version строка | успех | Версия программного обеспечения конечной точки мастера и kubelets, используемых в кластере при его первом создании. Версия может обновляться со временем. | ||
| initial_node_count целое число | успех | Количество узлов для создания в этом кластере. Вы должны убедиться, что ваш квота ресурсов Compute Engine достаточна для этого количества экземпляров. У вас также должны быть доступные квоты брандмауэра и маршрутов. Для запросов это поле следует использовать только вместо объекта "nodePool", поскольку эта конфигурация (вместе с "nodeConfig") будет использоваться для создания объекта "NodePool" с автоматически сгенерированным именем. Не используйте это и nodePool одновременно. | ||
| location список | успех | Список расположений Google Compute Engine, в которых должны размещаться узлы кластера. | ||
| logging_service строка | успех | Служба ведения журнала, которую должен использовать кластер для записи журналов. В настоящее время доступны варианты: logging.googleapis.com — служба Google Cloud Logging. none — журналы не будут экспортироваться из кластера. Если оставить пустой строкой, будет использоваться logging.googleapis.com. | ||
| master_auth сложный | успех | Информация об аутентификации для доступа к конечной точке мастера. | ||
| client_certificate строка | успех | Публичный сертификат в формате Base64, используемый клиентами для аутентификации на конечной точке кластера. | ||
| client_key строка | успех | Приватный ключ в формате Base64, используемый клиентами для аутентификации на конечной точке кластера. | ||
| cluster_ca_certificate строка | успех | Публичный сертификат в формате Base64, являющийся корнем доверия для кластера. | ||
| password строка | успех | Пароль для использования в HTTP-аутентификации по основанию на имени пользователя и пароле для конечной точки мастера. Поскольку конечная точка мастера доступна в интернете, вы должны создать надежный пароль. | ||
| username строка | успех | Имя пользователя для использования в HTTP-аутентификации по основанию на имени пользователя и пароле для конечной точки мастера. | ||
| monitoring_service строка | успех | Служба мониторинга, которую должен использовать кластер для записи метрик. В настоящее время доступны варианты: monitoring.googleapis.com — служба Google Cloud Monitoring. none — метрики не будут экспортироваться из кластера. Если оставить пустой строкой, будет использоваться monitoring.googleapis.com. | ||
| name строка | успех | Имя этого кластера. Имя должно быть уникальным в рамках этого проекта и зоны и может содержать до 40 символов. Должны использоваться только строчные буквы, цифры и дефисы. Должен начинаться с буквы. Должен заканчиваться цифрой или буквой. | ||
| network строка | успех | Имя сети Google Compute Engine, к которой подключен кластер. Если не указано, будет использоваться сеть по умолчанию. Для обеспечения её существования и работоспособности, настройте сеть с помощью ресурса 'gcompute_network'. | ||
| node_config сложный | успех | Параметры, используемые при создании узлов кластера. Для запросов это поле следует использовать только вместо объекта "nodePool", поскольку эта конфигурация (вместе с "initialNodeCount") будет использоваться для создания объекта "NodePool" с автоматически сгенерированным именем. Не используйте это и nodePool одновременно. Для ответов это поле будет заполнено конфигурацией узла первого пула узлов. Если не указано, используются значения по умолчанию. | ||
| 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 словарь | 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 | Набор 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 булево | success | Указывается, создаются ли узлы в качестве преемственных виртуальных машин. См.: https://cloud.google.com/compute/docs/instances/preemptible для получения дополнительной информации о преемственных виртуальных машинах. | ||
| service_account строка | success | Учётная запись Google Cloud Platform Service Account, которая будет использоваться виртуальными машинами узлов. Если учётная запись не указана, используется учётная запись по умолчанию. | ||
| tags список | success | Список тегов экземпляров, применяемых ко всем узлам. Теги используются для идентификации допустимых источников или целей для сетевых брандмауэров и указываются клиентом при создании кластера или пула узлов. Каждый тег в списке должен соответствовать RFC1035. | ||
| node_ipv4_cidr_size целое число | success | Размер адресного пространства на каждом узле для размещения контейнеров. Он выделяется из диапазона container_ipv4_cidr. | ||
| services_ipv4_cidr строка | success | Диапазон IP-адресов Kubernetes-сервисов в этом кластере в нотации CIDR (например, 1.2.3.4/29). Адреса служб обычно размещаются в последней /16 из контейнерного CIDR. | ||
| subnetwork строка | success | Имя подсети Google Compute Engine, к которой подключён кластер. | ||
| 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_cluster_module.html