Spec-Zone.ru › Ansible 2.6

gcp_container_cluster - Создаёт кластер GCP

Новая версия с 2.6.

  • Обзор
    • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус
  • Техническое обслуживание
    • Автор

Обзор

  • Кластер Google Container Engine.

Требования

Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.

  • python >= 2.6
  • requests >= 2.18.4
  • google-auth >= 1.3.0

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
addons_config
Настройки различных плагинов, доступных для запуска в кластере.
http_load_balancing
Настройки плагина контроллера балансировки HTTP (L7), который упрощает настройку балансировщиков HTTP для служб в кластере.
disabled
bool
    Варианты:
  • нет
  • да
Включён ли контроллер балансировки HTTP в кластере. При включении он запускает небольшой pod в кластере, управляющий балансировщиками.
horizontal_pod_autoscaling
Настройки функции горизонтального масштабирования pod, которая увеличивает или уменьшает количество реплик pod, управляемых контроллером репликации, на основе использования ресурсов существующих pod.
disabled
bool
    Варианты:
  • нет
  • да
Включена ли функция горизонтального масштабирования pod в кластере. При включении она гарантирует, что в кластере запущен pod Heapster, который также используется службой мониторинга.
auth_kind
обязательно
    Варианты:
  • machineaccount
  • serviceaccount
  • application
Тип используемых учетных данных.
cluster_ipv4_cidr
Диапазон IP-адресов контейнерных pod в этом кластере в формате 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
  • none
Служба журналирования, которую должен использовать кластер для записи журналов. Доступные варианты: logging.googleapis.com — служба Google Cloud Logging.
none — журналы из кластера не будут экспортированы.
Если поле оставлено пустым, будет использоваться logging.googleapis.com.
master_auth
Информация об аутентификации для доступа к мастер-точке.
username
Имя пользователя для HTTP-аутентификации по протоколу Basic на мастер-точке.
password
Пароль для HTTP-аутентификации по протоколу Basic на мастер-точке. Поскольку мастер-точка открыта для интернета, необходимо создать надёжный пароль.
cluster_ca_certificate
Публичный сертификат в формате Base64, являющийся корнем доверия для кластера.
client_certificate
Публичный сертификат в формате Base64, используемый клиентами для аутентификации на конечную точку кластера.
client_key
Приватный ключ в формате Base64, используемый клиентами для аутентификации на конечную точку кластера.
monitoring_service
    Варианты:
  • monitoring.googleapis.com
  • none
Служба мониторинга, которую должен использовать кластер для записи метрик.
Доступные варианты: monitoring.googleapis.com — служба Google Cloud Monitoring.
none — метрики из кластера не будут экспортированы.
Если поле оставлено пустым, будет использоваться monitoring.googleapis.com.
name
Имя этого кластера. Имя должно быть уникальным в рамках проекта и зоны, и может содержать до 40 символов. Допускаются только строчные буквы, цифры и дефисы. Имя должно начинаться с буквы и заканчиваться цифрой или буквой.
network
Имя сети Google Compute Engine, к которой подключен кластер. Если не указано, будет использоваться сеть по умолчанию.
Для гарантии существования и работоспособности настройте сеть с помощью ресурса «gcompute_network».
node_config
Параметры, используемые при создании узлов кластера.
Для запросов это поле следует использовать только вместо объекта «nodePool», так как эти настройки (вместе с «initialNodeCount») будут использованы для создания объекта «NodePool» с автоматически сгенерированным именем. Не используйте одновременно это поле и nodePool. Для ответов это поле будет заполнено конфигурацией узла первого пула узлов. Если не указано, используются значения по умолчанию.
machine_type
Имя типа виртуальной машины Google Compute Engine (например,
n1-standard-1). Если не указано, используется тип виртуальной машины по умолчанию n1-standard-1.
disk_size_gb
Размер диска, подключённого к каждому узлу, в ГБ. Минимальный размер диска составляет 10 ГБ. Если не указано, используется размер диска по умолчанию 100 ГБ.
oauth_scopes
Набор облачных API-скопов Google, которые будут доступны на всех виртуальных машинах узлов под учетной записью «default».
Рекомендуются следующие скоупы (но не обязательны), и по умолчанию они не включены: https://www.googleapis.com/auth/compute требуется для монтирования постоянных хранилищ на ваших узлах.
https://www.googleapis.com/auth/devstorage.read_only требуется для связи с gcr.io (Google Container Registry).
Если не указано, скоупы не добавляются, если не включены Cloud Logging или Cloud Monitoring, в этом случае будут добавлены необходимые скоупы.
service_account
Учетная запись Google Cloud Platform Service Account, которая будет использоваться виртуальными машинами узлов. Если учетная запись Service Account не указана, используется учетная запись «default».
metadata
Ключевые/значения пар метаданных, присваиваемые экземплярам в кластере.
Ключи должны соответствовать регулярному выражению [a-zA-Z0-9-_]+ и иметь длину менее 128 байт. Эти ключи отображаются как часть URL-адреса в сервере метаданных. Кроме того, чтобы избежать неоднозначностей, ключи не должны конфликтовать с другими ключами метаданных для проекта или быть одним из четырёх зарезервированных ключей: «instance-template», «kube-env», «startup-script» и «user-data». Значения — произвольные строки, и их смысл определяется только интерпретацией изображения, выполняемого на экземпляре. Единственное ограничение — размер каждого значения должен быть меньше или равен 32 КБ.
Общая сумма всех ключей и значений должна быть меньше 512 КБ.
Объект, содержащий список пар «ключ»: «значение».
Пример: {«имя»: «ключ», «масса»: «1,3 кг», «количество»: «3»}.
image_type
Тип изображения, используемый для этого узла. Обратите внимание, что для данного типа изображения будет использоваться последняя версия.
labels
Карта меток Kubernetes (пар ключ/значение), которые будут применены к каждому узлу. Эти метки будут добавлены дополнительно к любым меткам по умолчанию, которые Kubernetes может применить к узлу. В случае конфликта ключей меток применённый набор может отличаться в зависимости от версии Kubernetes — лучше предположить, что поведение не определено, и конфликты следует избегать. Дополнительную информацию, включая использование и допустимые значения, см. на странице: http://kubernetes.io/v1.1/docs/user-guide/labels.html. Объект, содержащий список пар «ключ»: «значение».
Пример: {«имя»: «ключ», «масса»: «1,3 кг», «количество»: «3»}.
local_ssd_count
Количество локальных SSD-дисков, которые будут подключены к узлу.
Предел этого значения зависит от максимального количества дисков, доступных на машине в зоне. См.: https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits для получения дополнительной информации.
tags
Список меток экземпляров, применяемых ко всем узлам. Метки используются для идентификации допустимых источников или целей сетевых брандмауэров и задаются клиентом во время создания кластера или пула узлов. Каждая метка в списке должна соответствовать RFC1035.
preemptible
bool
    Варианты:
  • нет
  • да
Создаются ли узлы как предварительно прерываемые виртуальные машины. См.: https://cloud.google.com/compute/docs/instances/preemptible для получения дополнительной информации о предварительно прерываемых виртуальных машинах.
project
Проект Google Cloud Platform, который необходимо использовать.
scopes
обязательно
Массив используемых скоупов.
service_account_email
Необязательный адрес электронной почты учетной записи Service Account, если выбран machineaccount и пользователь не хочет использовать адрес по умолчанию.
service_account_file
Путь к файлу JSON учетной записи Service Account, если в качестве типа выбрана serviceaccount.
состояние
обязательно
    Варианты:
  • присутствует ←
  • отсутствует
Указывает, должно ли данное объекте существовать в GCP
подсеть
Имя подсети Google Compute Engine, к которой подключен кластер.
зона
обязательно
Зона развертывания кластера.

Примечания

Примечание

  • Для аутентификации можно установить 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: testObject
      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: testProject
      auth_kind: service_account
      service_account_file: /tmp/auth.pem
      scopes:
        - https://www.googleapis.com/auth/cloud-platform
      state: present

Возвращаемые значения

Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:

Ключи Возвращаемое значение Описание
addons_config
сложный
успех
Настройки различных дополнений, доступных для запуска в кластере.

http_load_balancing
сложный
успех
Настройка дополнения контроллера HTTP (L7) балансировки нагрузки, которое упрощает настройку балансировщиков HTTP для сервисов в кластере.

disabled
bool
успех
Включен ли контроллер HTTP балансировки нагрузки в кластере. При включении он запускает небольшой под в кластере, который управляет балансировщиками нагрузки.

horizontal_pod_autoscaling
сложный
успех
Настройка функции горизонтального масштабирования под, которая увеличивает или уменьшает количество реплицированных под репликации контроллера в зависимости от использования ресурсов существующих под.

disabled
bool
успех
Включена ли функция горизонтального масштабирования под в кластере. При включении она гарантирует, что в кластере работает под Heapster, который также используется службой мониторинга.

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
строка
успех
Версия программного обеспечения конечной точки мастера и kubelet, используемых в кластере при его первом создании. Версия может быть обновлена со временем.

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
сложный
успех
Информация об аутентификации для доступа к конечной точке мастера.

username
строка
успех
Имя пользователя для использования HTTP-аутентификации по протоколу Basic для конечной точки мастера.

password
строка
успех
Пароль для использования HTTP-аутентификации по протоколу Basic для конечной точки мастера. Поскольку конечная точка мастера открыта для интернета, вам следует создать надежный пароль.

cluster_ca_certificate
строка
успех
Публичный сертификат в кодировке Base64, являющийся корнем доверия для кластера.

client_certificate
строка
успех
Публичный сертификат в кодировке Base64, используемый клиентами для аутентификации на конечной точке кластера.

client_key
строка
успех
Приватный ключ в кодировке Base64, используемый клиентами для аутентификации на конечной точке кластера.

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 одновременно. Для ответов это поле будет заполнено конфигурацией узла первого пула узлов. Если не указано, используются значения по умолчанию.

machine_type
строка
успех
Имя типа машины Google Compute Engine (например,
n1-standard-1). Если не указано, используется тип машины n1-standard-1 по умолчанию.

disk_size_gb
целое число
успех
Размер диска, подключенного к каждому узлу, указанный в ГБ. Минимальный размер диска составляет 10 ГБ. Если не указано, используется размер диска по умолчанию 100 ГБ.

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, в этом случае будут добавлены необходимые области действия.

service_account
строка
успех
Учетная запись службы Google Cloud Platform, которая будет использоваться виртуальными машинами узлов. Если учетная запись службы не указана, используется учетная запись "по умолчанию".

metadata
dict
success
Ключевые пары "ключ-значение" метаданных, назначенные экземплярам в кластере.
Ключи должны соответствовать регулярному выражению [a-zA-Z0-9-_]+ и быть меньше 128 байт в длину. Они отражаются как часть URL в сервере метаданных. Кроме того, для избежания неоднозначности, ключи не должны конфликтовать с другими ключами метаданных для проекта или быть одним из четырёх зарезервированных ключей: "instance-template", "kube-env", "startup-script" и "user-data". Значения — произвольные строки, и имеют смысл только в интерпретации изображения, работающего в экземпляре. Единственное ограничение — размер каждого значения должен быть меньше или равен 32 КБ.
Общий размер всех ключей и значений должен быть меньше 512 КБ.
Объект, содержащий список пар "ключ": значение.
Пример: { "name": "отвёртка", "mass": "1.3кг", "count": "3" }.

image_type
str
success
Тип изображения, используемого для этого узла. Обратите внимание, что для данного типа изображения будет использоваться последняя версия.

labels
dict
success
Карта меток Kubernetes ("ключ-значение"), которые будут применены к каждому узлу. Они будут добавлены в дополнение к любым стандартным меткам, которые Kubernetes может применить к узлу. В случае конфликта в ключах меток, применённый набор может отличаться в зависимости от версии Kubernetes — лучше предположить, что поведение неопределено, и конфликтов следует избегать. Для получения дополнительной информации, включая использование и допустимые значения, см.: http://kubernetes.io/v1.1/docs/user-guide/labels.html Объект, содержащий список пар "ключ": значение.
Пример: { "name": "отвёртка", "mass": "1.3кг", "count": "3" }.

local_ssd_count
int
success
Количество локальных дисков SSD, которые необходимо подключить к узлу.
Предел для этого значения зависит от максимального количества дисков, доступных на машине в конкретной зоне. Для получения дополнительной информации см.: https://cloud.google.com/compute/docs/disks/ local-ssd#local_ssd_limits.

tags
list
success
Список меток экземпляров, применяемых ко всем узлам. Метки используются для определения допустимых источников или целей для сетевых брандмауэров и указываются клиентом при создании кластера или пула узлов. Каждая метка в списке должна соответствовать RFC1035.

preemptible
bool
success
Указывают ли узлы на создание экземпляров виртуальных машин как доступных для прерывания. См.: https://cloud.google.com/compute/docs/instances/preemptible для получения дополнительной информации о прерывимых виртуальных машинах.

node_ipv4_cidr_size
int
success
Размер адресного пространства на каждом узле для размещения контейнеров.
Это выделяется из диапазона container_ipv4_cidr.

services_ipv4_cidr
str
success
Диапазон IP-адресов служб Kubernetes в этом кластере в нотации CIDR (например, 1.2.3.4/29). Адреса служб обычно помещаются в последнюю /16 из диапазона container CIDR.

subnetwork
str
success
Имя подсети Google Compute Engine, к которой подключен кластер.

zone
str
success
Зона, в которой развернут кластер.



Статус

Этот модуль помечен как экспериментальный, что означает, что он не гарантирует обратной совместимости интерфейса.

Техническое обслуживание

Этот модуль помечен как сообщественный, что означает, что он поддерживается сообществом Ansible. См. Техническое обслуживание и поддержка модулей для получения дополнительной информации.

Список других модулей, которые также поддерживаются сообществом Ansible, см. здесь.

Автор

  • 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.6/modules/gcp_container_cluster_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API