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 |
| Включена ли функция автоматического масштабирования горизонтальных под в кластере. При включении она гарантирует, что в кластере работает под Heapster, который также используется службой Cloud Monitoring. | ||
| http_load_balancing - | Настройка плагина контроллера балансировки нагрузки HTTP (L7), который упрощает настройку балансировщиков нагрузки HTTP для служб в кластере. | |||
| disabled boolean |
| Включен ли контроллер балансировки HTTP-нагрузки в кластере. При включении он запускает небольшой контейнер в кластере, который управляет балансировщиками нагрузки. | ||
| auth_kind string / обязательно |
| Тип используемых учетных данных. | ||
| 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 - служба Google Cloud Logging. none - журналы из кластера не будут экспортированы. Если поле оставлено пустым, будет использоваться logging.googleapis.com. | ||
| master_auth - | Информация об аутентификации для доступа к конечному пункту мастер-узла. | |||
| password - | Пароль для использования при аутентификации по протоколу HTTP с использованием основных данных для конечной точки мастер-узла. Поскольку конечная точка мастер-узла доступна из Интернета, следует создать надежный пароль. | |||
| username - | Имя пользователя для использования при аутентификации по протоколу HTTP с использованием основных данных для конечной точки мастер-узла. | |||
| monitoring_service - |
| Служба мониторинга, которую должен использовать кластер для записи метрик. В настоящее время доступны следующие варианты: 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 выбран как тип. | |||
| состояние - |
| Указывает, должен ли данный объект существовать в 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