Spec-Zone.ru › Ansible 2.7

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
- / обязательно
    Варианты:
  • machineaccount
  • serviceaccount
  • application
Тип используемых учетных данных.
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
  • none
Служба ведения журналов, которую должен использовать кластер для записи журналов. В настоящее время доступны следующие варианты: 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
  • 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. Для ответов этот параметр будет заполнен конфигурацией узла первого пула узлов. Если не указано, будут использоваться значения по умолчанию.
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
    Варианты:
  • no
  • yes
Определяет, создаются ли узлы в виде преемлемых виртуальных машин. См.: 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
-
    Варианты:
  • present ←
  • absent
Нужно ли данному объекту существовать в 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

Spec-Zone.ru

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