google.cloud.gcp_container_cluster_info – Сбор информации о кластере GCP
Примечание
Этот плагин входит в состав коллекции google.cloud (версия 1.0.1).
Для его установки используйте: ansible-galaxy collection install google.cloud.
Для использования в книге задач укажите: google.cloud.gcp_container_cluster_info.
Обзор
- Сбор информации о кластере GCP
Требования
Ниже приведены требования, необходимые на хосте, на котором выполняется этот модуль.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| auth_kind строка / обязательно |
| Тип используемых учетных данных. |
| env_type строка | Указывает, в какой среде Ansible вы выполняете этот модуль. Не устанавливайте это значение, если вы не знаете, что делаете. Это изменяет только строку User Agent для всех запросов к API. | |
| location строка / обязательно | Расположение, где развернут кластер. псевдонимы: region, zone | |
| project строка | Проект Google Cloud Platform для использования. | |
| scopes список / элементы=строка | Массив используемых областей доступа | |
| service_account_contents jsonarg | Содержимое файла JSON учетной записи службы, либо в виде словаря, либо как строка JSON, которая его представляет. | |
| service_account_email строка | Дополнительный адрес электронной почты учетной записи службы, если выбран machineaccount, и пользователь не хочет использовать адрес по умолчанию. | |
| service_account_file путь | Путь к файлу JSON учетной записи службы, если тип service_account выбран как тип. |
Примечания
Примечание
- для аутентификации вы можете установить service_account_file, используя переменную среды
gcp_service_account_file. - для аутентификации вы можете установить service_account_contents, используя переменную среды
GCP_SERVICE_ACCOUNT_CONTENTS. - Для аутентификации вы можете установить service_account_email, используя переменную среды
GCP_SERVICE_ACCOUNT_EMAIL. - Для аутентификации вы можете установить auth_kind, используя переменную среды
GCP_AUTH_KIND. - Для аутентификации вы можете установить scopes, используя переменную среды
GCP_SCOPES. - Значения переменных среды будут использоваться только в том случае, если значения в книге задач не заданы.
- Параметры service_account_email и service_account_file взаимоисключающие.
Примеры
- name: get info on a cluster
gcp_container_cluster_info:
location: us-central1-a
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
Возвращаемые значения
Общие возвращаемые значения описаны в здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание | |||
|---|---|---|---|---|---|
| resources complex | всегда | Список ресурсов | |||
| addonsConfig complex | успешно | Настройки различных плагинов, доступных для запуска в кластере. | |||
| horizontalPodAutoscaling complex | успешно | Настройка функции горизонтального масштабирования Pods, которая увеличивает или уменьшает количество реплик Pods контроллера репликации на основе использования ресурсов существующих Pods. | |||
| disabled boolean | успешно | Включена ли функция горизонтального масштабирования Pods в кластере. При включении она гарантирует, что в кластере запущен Pod Heapster, который также используется службой мониторинга Cloud. | |||
| httpLoadBalancing complex | успешно | Настройка плагина контроллера балансировки нагрузки HTTP (L7), который упрощает настройку балансировщиков HTTP для служб в кластере. | |||
| disabled boolean | успешно | Включён ли контроллер балансировки нагрузки HTTP в кластере. При включении он запускает небольшой Pod в кластере, который управляет балансировщиками. | |||
| networkPolicyConfig complex | успешно | Настройка NetworkPolicy. Это отслеживает только включение/выключение плагина на Master, а не включение NetworkPolicy на узлах. | |||
| disabled boolean | успешно | Включена ли NetworkPolicy для этого кластера. | |||
| binaryAuthorization complex | успешно | Настройка функции BinaryAuthorization. | |||
| enabled boolean | успешно | Если включено, все контейнерные образы будут валидироваться Binary Authorization. | |||
| clusterIpv4Cidr string | успешно | Диапазон IP-адресов контейнерных Pods в этом кластере в нотации CIDR (например, 10.96.0.0/14). Оставьте пустым, чтобы автоматически выбрать один, или укажите блок /14 в 10.0.0.0/8. | |||
| conditions complex | успешно | Условия, которые привели к текущему состоянию кластера. | |||
| code string | успешно | Представление условия для машины. | |||
| message string | успешно | Представление условия для пользователя. | |||
| createTime string | успешно | Время создания кластера в формате RFC3339. | |||
| currentMasterVersion string | успешно | Текущая версия программного обеспечения мастер-узла. | |||
| currentNodeCount integer | успешно | Количество узлов в кластере в настоящее время. | |||
| currentNodeVersion string | успешно | Текущая версия программного обеспечения узлов. Если узлы находятся на разных версиях из-за обновления, это отражает минимальную версию среди всех узлов. | |||
| defaultMaxPodsConstraint complex | успешно | Предельное ограничение на максимальное количество Pods, которое может выполняться одновременно на узле в пуле узлов этого кластера. Действует только если кластер создан с поддержкой IP Alias. | |||
| maxPodsPerNode string | успешно | Ограничение, устанавливаемое на максимальное количество Pods на узел. | |||
| description string | успешно | Необязательное описание этого кластера. | |||
| enableTpu boolean | успешно | (Необязательно) Включить ли ресурсы Cloud TPU в этом кластере. См. официальную документацию - https://cloud.google.com/tpu/docs/kubernetes-engine-setup . | |||
| endpoint string | успешно | IP-адрес мастер-узла этого кластера. К мастер-узлу можно получить доступ из интернета по адресу https://имя_пользователя:пароль@адрес_узла/ . См. свойство masterAuth этого ресурса для получения информации о имени пользователя и пароле. | |||
| expireTime string | успешно | Время, когда кластер будет автоматически удален в формате RFC3339. | |||
| initialClusterVersion string | успешно | Версия программного обеспечения мастер-узла и kubelet, используемых в кластере при его первом создании. Версия может быть обновлена со временем. | |||
| initialNodeCount integer | успешно | Количество узлов для создания в этом кластере. Необходимо убедиться, что квота ресурсов Compute Engine достаточна для этого числа экземпляров. Также необходимы квоты на брандмауэр и маршрутизацию. Для запросов это поле должно использоваться только вместо объекта "nodePool", так как эти настройки (вместе с "nodeConfig") будут использованы для создания объекта "NodePool" с автоматически сгенерированным именем. Не используйте одновременно это поле и nodePool. Это поле устарело. Используйте nodePool.initial_node_count вместо него. | |||
| ipAllocationPolicy complex | успешно | Настройка управления выделением IP-адресов в кластере. | |||
| clusterIpv4CidrBlock string | успешно | Диапазон IP-адресов для Pods кластера. Если это поле установлено, то cluster.cluster_ipv4_cidr должно быть оставлено пустым. Это поле применимо только если useIpAliases имеет значение true. Установите пустое значение для выбора диапазона с размерами по умолчанию. Установите /netmask (например, /14) для выбора диапазона с указанным маской сети. | |||
| clusterSecondaryRangeName string | успешно | Имя вторичного диапазона, который будет использоваться для блока CIDR кластера. Вторичный диапазон будет использоваться для IP-адресов Pods. Это имя должно соответствовать существующему вторичному диапазону, связанному с подсетью кластера. | |||
| createSubnetwork boolean | успешно | Будет ли автоматически создана новая подсеть для кластера. | |||
| nodeIpv4CidrBlock string | успешно | Диапазон IP-адресов экземпляров в этом кластере. Это применимо только если createSubnetwork имеет значение true. Установите пустое значение для выбора диапазона с размерами по умолчанию. Установите /netmask (например, /14) для выбора диапазона с указанным маской сети. | |||
| servicesIpv4CidrBlock string | успешно | Диапазон IP-адресов служб в этом кластере. Если пусто, диапазон будет автоматически выбран с размерами по умолчанию. Это поле применимо только если useIpAliases имеет значение true. Установите пустое значение для выбора диапазона с размерами по умолчанию. Установите /netmask (например, /14) для выбора диапазона с указанным маской сети. | |||
| servicesSecondaryRangeName string | успешно | Имя вторичного диапазона, который будет использоваться для блока CIDR служб. Вторичный диапазон будет использоваться для ClusterIPs служб. Это имя должно соответствовать существующему вторичному диапазону, связанному с подсетью кластера. | |||
| subnetworkName string | успешно | Пользовательское имя подсети, которое будет использоваться, если createSubnetwork имеет значение true. Если это поле пустое, то для новой подсети будет выбрано автоматическое имя. | |||
| tpuIpv4CidrBlock string | success | Диапазон IP-адресов облачных TPUs в этом кластере. Если не указан, диапазон будет автоматически выбран с размером по умолчанию. Это поле применимо только при useIpAliases равном true. Если не указан, диапазон будет использовать размер по умолчанию. Установите значение в формате /netmask (например, /14), чтобы выбрать диапазон с определённой маской сети. | |||
| useIpAliases boolean | success | Использовать ли псевдонимы IP-адресов для IP-адресов под на кластере. | |||
| labelFingerprint string | success | Отпечаток метки набора меток для этого кластера. | |||
| legacyAbac complex | success | Настройка для режима авторизации ABAC legacy. | |||
| enabled boolean | success | Включен ли модуль авторизации ABAC для этого кластера. При включении, идентификаторы в системе, включая учетные записи служб, узлы и контроллеры, будут иметь статически предоставленные разрешения помимо тех, которые предоставлены настройками RBAC или IAM. | |||
| location string | success | Расположение, где развернут кластер. | |||
| locations list / elements=string | success | Список зон Google Compute Engine, в которых должны размещаться узлы кластера. | |||
| loggingService string | success | Услуга ведения журналов, которую должен использовать кластер для записи журналов. В настоящее время доступны следующие варианты: logging.googleapis.com — служба Google Cloud Logging. none — журналы из кластера не будут экспортированы. Если оставлено пустым, будет использоваться logging.googleapis.com. | |||
| masterAuth complex | success | Информация об аутентификации для доступа к мастер-точке. | |||
| clientCertificate string | success | Публичный сертификат в кодировке Base64, используемый клиентами для аутентификации на конечной точке кластера. | |||
| clientCertificateConfig complex | success | Настройка для аутентификации с помощью клиентского сертификата в кластере. Для кластеров до версии v1.12, если настройка не указана, клиентский сертификат выдан. | |||
| issueClientCertificate boolean | success | Выдать клиентский сертификат. | |||
| clientKey string | success | Приватный ключ в кодировке Base64, используемый клиентами для аутентификации на конечной точке кластера. | |||
| clusterCaCertificate string | success | Публичный сертификат в кодировке Base64, являющийся корнем доверия для кластера. | |||
| password string | success | Пароль для использования при аутентификации по протоколу HTTP Basic на мастер-точке. Поскольку мастер-точка открыта для интернета, необходимо создать надёжный пароль с длиной не менее 16 символов. | |||
| username string | success | Имя пользователя для использования при аутентификации по протоколу HTTP Basic на мастер-точке. | |||
| masterAuthorizedNetworksConfig complex | success | Настройки для управления тем, как распределяются IP-адреса в кластере. | |||
| cidrBlocks complex | success | Определите до 50 внешних сетей, которые могут получить доступ к Kubernetes master через HTTPS. | |||
| cidrBlock string | success | Блок, указанный в CIDR-нотации. | |||
| displayName string | success | Необязательное поле, используемое для идентификации cidr-блоков. | |||
| enabled boolean | success | Включены ли авторизованные сети master. | |||
| monitoringService string | success | Служба мониторинга, которую должен использовать кластер для записи метрик. В настоящее время доступны следующие варианты: monitoring.googleapis.com — служба Google Cloud Monitoring. none — метрики из кластера не будут экспортированы. Если оставлено пустым, будет использоваться monitoring.googleapis.com. | |||
| name string | success | Название этого кластера. Название должно быть уникальным в рамках данного проекта и расположения, и может содержать до 40 символов. Допускаются только строчные буквы, цифры и дефисы. Название должно начинаться с буквы и заканчиваться цифрой или буквой. | |||
| network string | success | Имя сети Google Compute Engine, к которой подключен кластер. Если не указано, будет использована сеть по умолчанию. | |||
| networkPolicy complex | success | Параметры настройки функции NetworkPolicy. | |||
| enabled boolean | success | Включена ли политика сети для кластера. | |||
| provider string | success | Выбранный поставщик политики сети. | |||
| nodeConfig complex | success | Параметры, используемые при создании узлов кластера. Для запросов это поле должно использоваться вместо объекта "nodePool", так как эта конфигурация (вместе с "initialNodeCount") будет использована для создания объекта "NodePool" с автоматически сгенерированным именем. Не используйте это и nodePool одновременно. Для ответов это поле будет заполнено конфигурацией узла первого пула узлов. Если не указано, используются значения по умолчанию. | |||
| accelerators complex | success | Список аппаратных ускорителей, которые должны быть подключены к каждому узлу. См. https://cloud.google.com/compute/docs/gpus для получения дополнительной информации о поддержке графических процессоров. | |||
| acceleratorCount string | success | Количество карт ускорителей, доступных экземпляру. | |||
| acceleratorType string | success | Имя ресурса типа ускорителя. | |||
| diskSizeGb integer | success | Размер диска, подключенного к каждому узлу, указанный в ГБ. Минимальный размер диска составляет 10 ГБ. Если не указан, используется размер диска по умолчанию — 100 ГБ. | |||
| diskType string | success | Тип диска, подключенного к каждому узлу (например, 'pd-standard' или 'pd-ssd'). Если не указан, используется тип диска по умолчанию 'pd-standard'. | |||
| imageType string | success | Тип образа, который нужно использовать для этого узла. Обратите внимание, что для данного типа образа будет использоваться последняя его версия. | |||
| labels dictionary | success | Словарь меток Kubernetes (пар ключ/значение), которые будут применены к каждому узлу. Эти метки будут добавлены в дополнение к любым меткам по умолчанию, которые Kubernetes может применять к узлу. В случае конфликта ключей меток, применённый набор может отличаться в зависимости от версии Kubernetes — лучше всего считать поведение неопределённым и избегать конфликтов. Для получения дополнительной информации, включая использование и допустимые значения, см.: http://kubernetes.io/v1.1/docs/user-guide/labels.html Объект, содержащий список пар «ключ»: значение. Пример: { "name": "ключ", "mass": "1.3кг", "count": "3" }. | |||
| localSsdCount integer | success | Количество локальных дисков SSD, которые необходимо подключить к узлу. Предел для этого значения зависит от максимального количества дисков, доступных на машине в зоне. Подробнее см.: https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits. | |||
| machineType string | success | Имя типа виртуальной машины Google Compute Engine (например, n1-standard-1). Если не указано, используется тип виртуальной машины по умолчанию n1-standard-1. | |||
| metadata dictionary | success | Ключевые пары метаданных, назначаемые экземплярам в кластере. Ключи должны соответствовать регулярному выражению [a-zA-Z0-9-_]+ и иметь длину менее 128 байт. Они отображаются как часть URL в сервере метаданных. Кроме того, чтобы избежать неоднозначности, ключи не должны конфликтовать с другими ключами метаданных для проекта или быть одним из четырёх зарезервированных ключей: "instance-template", "kube-env", "startup-script" и "user-data". Значения — это свободные строки, и их значение интерпретируется только исполняемым в экземпляре образом. Единственное ограничение на них заключается в том, что размер каждого значения должен быть меньше или равен 32 КБ. Общая сумма размеров всех ключей и значений должна быть меньше 512 КБ. Объект, содержащий список пар «ключ»: «значение». Пример: { "name": "ключ", "mass": "1.3кг", "count": "3" }. | |||
| minCpuPlatform string | success | Минимальная платформа процессора, которая должна использоваться этим экземпляром. Экземпляр может быть запланирован на указанной или более новой платформе процессора. | |||
| oauthScopes list / elements=string | 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 boolean | success | Указывается ли, что узлы создаются как преемственные виртуальные машины. Подробнее см.: https://cloud.google.com/compute/docs/instances/preemptible. | |||
| serviceAccount string | success | Учётная запись службы Google Cloud Platform, которая будет использоваться виртуальными машинами узлов. Если учётная запись службы не указана, используется учётная запись «по умолчанию». | |||
| shieldedInstanceConfig complex | success | Параметры защищённого экземпляра. | |||
| enableIntegrityMonitoring boolean | success | Определяет, включено ли мониторинг целостности для экземпляра. Включает мониторинг и аутентификацию целостности загрузки экземпляра. Аутентификация выполняется по отношению к базовому принципу целостности. Этот базовый принцип изначально получен из неявно надёжного загрузочного образа при создании экземпляра. | |||
| enableSecureBoot boolean | success | Определяет, включен ли Secure Boot для экземпляра. Secure Boot помогает гарантировать, что система запускает только подлинное программное обеспечение, проверяя цифровую подпись всех загрузочных компонентов и останавливая процесс загрузки, если проверка подписи завершается неудачно. | |||
| tags list / elements=string | success | Список меток экземпляра, применённых ко всем узлам. Метки используются для идентификации допустимых источников или целей для сетевых брандмауэров и указываются клиентом при создании кластера или пула узлов. Каждая метка в списке должна соответствовать RFC1035. | |||
| taints complex | success | Список пометок Kubernetes, которые должны применяться к каждому узлу. Дополнительную информацию, включая использование и допустимые значения, см. в: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ . | |||
| effect string | success | Эффект для метки. | |||
| key string | success | Ключ для метки. | |||
| value string | success | Значение для метки. | |||
| nodeIpv4CidrSize integer | success | Размер адресного пространства на каждом узле для размещения контейнеров. Это выделяется из диапазона container_ipv4_cidr. | |||
| nodePools complex | success | Пулы узлов, принадлежащие этому кластеру. | |||
| name string | success | Имя пула узлов. | |||
| privateClusterConfig complex | success | Конфигурация для частного кластера. | |||
| enablePrivateEndpoint boolean | success | Используется ли внутренний IP-адрес мастера в качестве конечной точки кластера. | |||
| enablePrivateNodes boolean | success | Используются ли узлы только с внутренними IP-адресами. Если включено, всем узлам назначаются только частные адреса RFC 1918, и они взаимодействуют с мастером через частную сеть. | |||
| masterIpv4CidrBlock string | success | Диапазон IP-адресов в формате CIDR, используемый для размещения сетевого интерфейса хостируемого мастера. Этот диапазон используется для назначения внутренних IP-адресов мастеру или набору мастеров, а также для IP-адреса виртуального балансировщика. Этот диапазон не должен пересекаться с другими диапазонами, используемыми в сети кластера. | |||
| privateEndpoint string | success | Внутренний IP-адрес конечной точки мастера этого кластера. | |||
| publicEndpoint string | success | Внешний IP-адрес конечной точки мастера этого кластера. | |||
| resourceLabels dictionary | success | Метки ресурсов кластера, используемые для аннотации любых связанных ресурсов Google Compute Engine. | |||
| servicesIpv4Cidr string | success | Диапазон IP-адресов служб Kubernetes в этом кластере в формате CIDR (например, 1.2.3.4/29). Адреса служб обычно размещаются в последней /16 из диапазона container CIDR. | |||
| status string | success | Текущий статус этого кластера. | |||
| statusMessage string | success | Дополнительная информация о текущем статусе этого кластера, если доступна. | |||
| subnetwork string | success | Имя подсети Google Compute Engine, к которой подключён кластер. | |||
| tpuIpv4CidrBlock string | success | Диапазон IP-адресов Cloud TPUs в этом кластере в формате CIDR (например, `1.2.3.4/29`). | |||
Авторы
- 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.10/collections/google/cloud/gcp_container_cluster_info_module.html