Spec-Zone.ru › Ansible 2.8

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
    Варианты:
  • no
  • yes
Включена ли функция автоматического масштабирования горизонтальных под в кластере. При включении она гарантирует, что в кластере работает под Heapster, который также используется службой Cloud Monitoring.
http_load_balancing
-
Настройка плагина контроллера балансировки нагрузки HTTP (L7), который упрощает настройку балансировщиков нагрузки HTTP для служб в кластере.
disabled
boolean
    Варианты:
  • no
  • yes
Включен ли контроллер балансировки HTTP-нагрузки в кластере. При включении он запускает небольшой контейнер в кластере, который управляет балансировщиками нагрузки.
auth_kind
string / обязательно
    Варианты:
  • application
  • machineaccount
  • serviceaccount
Тип используемых учетных данных.
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
- / обязательно
добавлено в 2.8
Расположение, где развернут кластер.

псевдонимы: зона
logging_service
-
    Варианты:
  • logging.googleapis.com
  • none
Служба ведения журналов, которую должен использовать кластер для записи журналов. В настоящее время доступны следующие варианты: logging.googleapis.com - служба Google Cloud Logging.
none - журналы из кластера не будут экспортированы.
Если поле оставлено пустым, будет использоваться logging.googleapis.com.
master_auth
-
Информация об аутентификации для доступа к конечному пункту мастер-узла.
password
-
Пароль для использования при аутентификации по протоколу HTTP с использованием основных данных для конечной точки мастер-узла. Поскольку конечная точка мастер-узла доступна из Интернета, следует создать надежный пароль.
username
-
Имя пользователя для использования при аутентификации по протоколу HTTP с использованием основных данных для конечной точки мастер-узла.
monitoring_service
-
    Варианты:
  • monitoring.googleapis.com
  • none
Служба мониторинга, которую должен использовать кластер для записи метрик.
В настоящее время доступны следующие варианты: monitoring.googleapis.com - служба Google Cloud Monitoring.
none - метрики из кластера не будут экспортированы.
Если поле оставлено пустым, будет использоваться monitoring.googleapis.com.
name
-
Имя этого кластера. Имя должно быть уникальным для этого проекта и местоположения, и может содержать до 40 символов. Должно содержать только строчные буквы, цифры и дефисы. Должно начинаться с буквы и заканчиваться цифрой или буквой.
network
-
Имя сети Google Compute Engine, к которой подключен кластер. Если не указано, будет использоваться сеть по умолчанию.
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-стандартный-1). Если не указано, используется тип машины по умолчанию n1-стандартный-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
-
Набор облачных 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, в которых будут добавлены необходимые области.
предоставляемый
boolean
    Варианты:
  • нет
  • да
Указывает, создаются ли узлы как виртуальные машины с возможностью прерывания. См.: https://cloud.google.com/compute/docs/instances/preemptible для получения дополнительной информации о виртуальных машинах с возможностью прерывания.
service_account
-
Учетная запись сервиса Google Cloud Platform, которая будет использоваться виртуальными машинами узлов. Если учетная запись сервиса не указана, используется учетная запись сервиса "по умолчанию".
метки
-
Список меток экземпляров, применяемых ко всем узлам. Метки используются для идентификации допустимых источников или целей для сетевых брандмауэров и задаются клиентом при создании кластера или пула узлов. Каждая метка в списке должна соответствовать RFC1035.
private_cluster_config
-
добавлен в 2.8
Настройка для частного кластера.
enable_private_endpoint
boolean
    Варианты:
  • нет
  • да
Указывает, используется ли внутренний IP-адрес мастера в качестве конечной точки кластера.
enable_private_nodes
boolean
    Варианты:
  • нет
  • да
Указывает, имеют ли узлы только внутренние IP-адреса. При включении всем узлам назначаются только частные адреса RFC 1918, и они взаимодействуют с мастером через частную сеть.
master_ipv4_cidr_block
-
Диапазон IP-адресов в нотации CIDR, который необходимо использовать для размещённой мастер-сети. Этот диапазон будет использоваться для назначения внутренних IP-адресов мастеру или набору мастеров, а также для VIP-адреса ILB. Этот диапазон не должен пересекаться с другими диапазонами, используемыми в сети кластера.
project
строка
Проект Google Cloud Platform, который необходимо использовать.
scopes
список
Массив используемых областей.
service_account_contents
строка
Строка, представляющая содержимое файла JSON учетной записи сервиса.
Это не должно передаваться в качестве словаря, а как строка, содержащая точное содержимое файла json учетной записи сервиса (валидный JSON).
service_account_email
строка
Дополнительный адрес электронной почты учетной записи сервиса, если выбран machineaccount и пользователь не хочет использовать адрес по умолчанию.
service_account_file
путь
Путь к файлу JSON учетной записи сервиса, если тип serviceaccount выбран как тип.
состояние
-
    Варианты:
  • present ←
  • отсутствует
Указывает, должен ли данный объект существовать в GCP
подсеть
-
Имя подсети Google Compute Engine, к которой подключен кластер.

Примечания

Примечание

  • Для аутентификации вы можете задать service_account_file с помощью переменной среды GCP_SERVICE_ACCOUNT_FILE.
  • Для аутентификации вы можете задать service_account_email с помощью переменной среды GCP_SERVICE_ACCOUNT_EMAIL.
  • Для аутентификации вы можете задать service_account_contents с помощью переменной среды GCP_SERVICE_ACCOUNT_CONTENTS.
  • Для аутентификации вы можете задать auth_kind с помощью переменной среды GCP_AUTH_KIND.
  • Для аутентификации вы можете задать scopes с помощью переменной среды GCP_SCOPES.
  • Значения переменных среды будут использоваться только в том случае, если значения в сценарии не заданы.
  • Параметры service_account_email и service_account_file взаимоисключающие.

Примеры

- name: create a cluster
  gcp_container_cluster:
    name: my-cluster
    initial_node_count: 2
    master_auth:
      username: cluster_admin
      password: my-secret-password
    node_config:
      machine_type: n1-standard-4
      disk_size_gb: 500
    location: us-central1-a
    project: test_project
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"
    state: present

Значения возврата

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

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

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

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

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

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

clusterIpv4Cidr
строка
успех
Диапазон IP-адресов контейнерных под в этом кластере в нотации CIDR (например, 10.96.0.0/14). Оставьте пустым, чтобы выбрать его автоматически, или укажите блок /14 в 10.0.0.0/8.

createTime
строка
успех
Время создания кластера в формате RFC3339.

currentMasterVersion
строка
успех
Текущая версия программного обеспечения конечной точки мастер.

currentNodeCount
целое число
успех
Количество узлов в настоящее время в кластере.

currentNodeVersion
строка
успех
Текущая версия программных компонентов узлов. Если в настоящее время они имеют несколько версий из-за процесса обновления, это отражает минимальную версию всех узлов.

description
строка
успех
Необязательное описание этого кластера.

endpoint
строка
успех
IP-адрес конечной точки мастер этого кластера.
Доступ к конечной точке можно получить из интернета по адресу https://имя_пользователя:пароль@конечная_точка/ Смотрите свойство masterAuth этого ресурса для получения информации об имени пользователя и пароле.

expireTime
строка
успех
Время, когда кластер будет автоматически удален в формате RFC3339.

initialClusterVersion
строка
успех
Версия программного обеспечения конечной точки мастер и kubelet, используемые в кластере при его первом создании. Версия может быть обновлена со временем.

initialNodeCount
целое число
успех
Количество узлов для создания в этом кластере. Вы должны убедиться, что квота ресурсов Compute Engine достаточна для этого количества экземпляров. Также должны быть доступны квоты на брандмауэр и маршруты. Для запросов это поле следует использовать только вместо объекта "nodePool", так как эта конфигурация (наряду с "nodeConfig") будет использоваться для создания объекта "NodePool" с автоматически сгенерированным именем. Не используйте его и nodePool одновременно.

location
строка
успех
Расположение, где развернут кластер.

loggingService
строка
успех
Служба ведения журнала, которую должен использовать кластер для записи журналов. Доступные варианты: logging.googleapis.com - служба Google Cloud Logging.
none - журналы из кластера не будут экспортироваться.
Если оставлено пустым, будет использоваться logging.googleapis.com.

masterAuth
сложный
успех
Данные аутентификации для доступа к конечной точке мастер.

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

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

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

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

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

monitoringService
строка
успех
Служба мониторинга, которую должен использовать кластер для записи метрик.
Доступные варианты: monitoring.googleapis.com - служба Google Cloud Monitoring.
none - метрики из кластера не будут экспортироваться.
Если оставлено пустым, будет использоваться monitoring.googleapis.com.

name
строка
успех
Имя этого кластера. Имя должно быть уникальным в рамках этого проекта и расположения, и может содержать до 40 символов. Должно состоять только из строчных букв, цифр и дефисов. Должно начинаться с буквы. Должно заканчиваться цифрой или буквой.

network
строка
успех
Имя сети Google Compute Engine, к которой подключен кластер. Если не указано, будет использоваться сеть по умолчанию.

nodeConfig
сложный
успех
Параметры, используемые при создании узлов кластера.
Для запросов это поле следует использовать только вместо объекта "nodePool", так как эта конфигурация (наряду с "initialNodeCount") будет использоваться для создания объекта "NodePool" с автоматически сгенерированным именем. Не используйте его и nodePool одновременно. Для ответов это поле будет заполнено конфигурацией узла первого пула узлов. Если не указано, используются значения по умолчанию.

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

imageType
строка
успех
Тип образа для использования для этого узла. Обратите внимание, что для данного типа образа будет использоваться последняя версия.

labels
словарь
успех
Карта меток Kubernetes (пар ключ/значение), которые будут применяться к каждому узлу. Они будут добавлены дополнительно к любым меткам по умолчанию, которые Kubernetes может применить к узлу. В случае конфликта ключей меток примененный набор может отличаться в зависимости от версии Kubernetes — лучше всего предполагать, что поведение неопределенно, и конфликты следует избегать. Дополнительную информацию, включая использование и допустимые значения, см.: http://kubernetes.io/v1.1/docs/user-guide/labels.html Объект, содержащий список пар "ключ": значение.
Пример: { "имя": "ключ", "масса": "1.3кг", "счет": "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
словарь
success
Ключевые пары "ключ/значение", присваиваемые экземплярам в кластере.
Ключи должны соответствовать регулярному выражению [a-zA-Z0-9-_]+ и иметь длину менее 128 байт. Они отражаются в качестве части URL-адреса в сервере метаданных. Кроме того, для избежания неоднозначностей, ключи не должны совпадать с другими ключами метаданных для проекта или быть одним из четырёх зарезервированных ключей: "instance-template", "kube-env", "startup-script" и "user-data". Значения представляют собой свободные строки и имеют смысл только в том виде, как их интерпретирует образ, работающий в экземпляре. Единственное ограничение, наложенное на них, состоит в том, что размер каждого значения должен быть меньше или равен 32 КБ.
Общая сумма размеров всех ключей и значений должна быть меньше 512 КБ.
Объект, содержащий список пар "ключ": значение.
Пример: { "name": "ключ", "mass": "1.3кг", "count": "3" }.

oauthScopes
список
success
Набор областей действия 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
булево
success
Определяет, создаются ли узлы как преемственные виртуальные машины. Смотрите: https://cloud.google.com/compute/docs/instances/preemptible для получения дополнительной информации о преемственных виртуальных машинах.

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

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

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

privateClusterConfig
сложное
success
Настройка для частного кластера.

enablePrivateEndpoint
булево
success
Определяет, используется ли внутренний IP-адрес мастера в качестве конечной точки кластера.

enablePrivateNodes
булево
success
Определяет, имеют ли узлы только внутренние IP-адреса. Если включено, всем узлам назначаются только частные адреса RFC 1918, и они взаимодействуют с мастером через частную сеть.

masterIpv4CidrBlock
строка
success
Диапазон IP-адресов в формате CIDR, используемый для размещения сетевого пространства мастера. Этот диапазон будет использован для назначения внутренних IP-адресов мастер-узлу или группе мастер-узлов, а также для VIP-адреса ILB. Этот диапазон не должен пересекаться с другими диапазонами, используемыми в сети кластера.

privateEndpoint
строка
success
Внутренний IP-адрес конечной точки мастера этого кластера.

publicEndpoint
строка
success
Внешний IP-адрес конечной точки мастера этого кластера.

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

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



Статус

  • Данный модуль не гарантирует обратной совместимости интерфейса. [бета]
  • Этот модуль поддерживается сообществом 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.8/modules/gcp_container_cluster_module.html

Spec-Zone.ru

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