Ресурс google_container_regional_cluster
Синтаксис
Используется google_container_regional_cluster для проверки ресурса Google RegionalCluster.
Примеры
describe google_container_regional_cluster(project: 'chef-gcp-inspec', location: 'europe-west2', name: 'inspec-gcp-regional-cluster') do
it { should exist }
its('initial_node_count') { should eq '1'}
its('location') { should eq 'europe-west2'}
end
describe google_container_regional_cluster(project: 'chef-gcp-inspec', location: 'europe-west2', name: 'nonexistent') do
it { should_not exist }
end
Свойства
Свойства, доступные для ресурса google_container_regional_cluster:
name- Имя этого кластера. Имя должно быть уникальным в рамках этого проекта и расположения, и может содержать до 40 символов. Допускаются только строчные буквы, цифры и дефисы. Имя должно начинаться с буквы и заканчиваться цифрой или буквой.
description- Необязательное описание этого кластера.
initial_node_count- Количество узлов, которые нужно создать в этом кластере. Вы должны убедиться, что квота ресурсов Compute Engine достаточна для этого количества экземпляров. Вы также должны иметь доступные квоты на брандмауэр и маршрутизацию. Для запросов это поле должно использоваться только вместо объекта «nodePool», так как эта конфигурация (вместе с «nodeConfig») будет использоваться для создания объекта «NodePool» с автоматически сгенерированным именем. Не используйте это поле и nodePool одновременно. Это поле устарело. Пожалуйста, используйте вместо него nodePool.initial_node_count.
node_config- Параметры, используемые при создании узлов кластера. Для запросов это поле должно использоваться только вместо объекта «nodePool», так как эта конфигурация (вместе с «initialNodeCount») будет использоваться для создания объекта «NodePool» с автоматически сгенерированным именем. Не используйте это поле и nodePool одновременно. Для ответов это поле будет заполнено конфигурацией узлов первого пула узлов. Если не указано, используются значения по умолчанию.
machine_type- Имя типа виртуальной машины Google Compute Engine (например, n1-standard-1). Если не указано, используется тип виртуальной машины по умолчанию n1-standard-1.
disk_size_gb- Размер диска, подключенного к каждому узлу, указанный в ГБ. Минимальный размер диска составляет 10 ГБ. Если не указано, используется размер диска по умолчанию 100 ГБ.
oauth_scopes- Набор областей доступа Google API, которые будут доступны на всех виртуальных машинах узлов в рамках учетной записи «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, которая будет использоваться виртуальными машинами узлов. Если учетная запись службы не указана, используется учетная запись службы «default».
metadata- Ключ/значение метаданных, назначенные экземплярам в кластере. Ключи должны соответствовать регулярному выражению [a-zA-Z0-9-_]+ и иметь длину менее 128 байт. Они отображаются как часть URL-адреса в сервере метаданных. Кроме того, для избежания неоднозначности ключи не должны конфликтовать с другими ключами метаданных для проекта или совпадать с четырьмя зарезервированными ключами: «instance-template», «kube-env», «startup-script» и «user-data». Значения — это строки произвольного формата, и они имеют смысл только в интерпретации изображения, выполняемого в экземпляре. Единственное ограничение заключается в том, что размер каждого значения должен быть меньше или равен 32 КБ. Общий размер всех ключей и значений должен быть меньше 512 КБ. Объект, содержащий список пар «ключ»: «значение». Пример: { «name»: «ключ», «mass»: «1.3кг», «count»: «3» }
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.
tags- Список меток экземпляра, применяемых ко всем узлам. Метки используются для идентификации допустимых источников или целей для сетевых брандмауэров и задаются клиентом во время создания кластера или пула узлов. Каждая метка в списке должна соответствовать RFC1035.
preemptible- Создаются ли узлы как преемственные виртуальные машины. Дополнительную информацию о преемственных виртуальных машинах см. на странице: https://cloud.google.com/compute/docs/instances/preemptible.
accelerators- Список аппаратных ускорителей, которые нужно подключить к каждому узлу. Дополнительную информацию об ускорителях графических процессоров см. на странице https://cloud.google.com/compute/docs/gpus.
accelerator_count- Количество карт ускорителей, доступных экземпляру.
accelerator_type- Идентификатор ресурса типа ускорителя.
disk_type- Тип диска, подключаемого к каждому узлу (например, «pd-standard» или «pd-ssd»). Если не указано, используется тип диска по умолчанию «pd-standard».
min_cpu_platform- Минимальная платформа процессора, которая должна использоваться этим экземпляром. Экземпляр может быть запланирован на указанную или более новую платформу процессора.
taints- Список меток Kubernetes, применяемых к каждому узлу. Дополнительную информацию, включая использование и допустимые значения, см. на странице: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
key- Ключ метки
value- Значение метки
effect- Эффект метки
master_auth- Информация об аутентификации для доступа к конечному пункту назначения мастера.
username- Имя пользователя, которое нужно использовать для аутентификации по протоколу HTTP Basic на конечном пункте назначения мастера.
password- Пароль, который нужно использовать для аутентификации по протоколу HTTP Basic на конечном пункте назначения мастера. Так как конечный пункт назначения мастера доступен в Интернете, вы должны создать надежный пароль с длиной не менее 16 символов.
client_certificate_config- Настройка аутентификации по клиенту с сертификатом в кластере. Для кластеров до версии 1.12, если конфигурация не указана, выдан сертификат клиента.
issue_client_certificate- Выдать сертификат клиента.
cluster_ca_certificate- Базово-кодированный открытый сертификат, являющийся корнем доверия для кластера.
client_certificate- Базово-кодированный открытый сертификат, используемый клиентами для аутентификации в конечном пункте назначения кластера.
client_key- Базово-кодированный закрытый ключ, используемый клиентами для аутентификации в конечном пункте назначения кластера.
logging_service- Служба протоколирования, которую кластер должен использовать для записи журналов. Доступные варианты: logging.googleapis.com — служба Google Cloud Logging. none — журналы не будут экспортированы из кластера. Если оставлено пустым, будет использоваться logging.googleapis.com.
monitoring_service- Служба мониторинга, которую кластер должен использовать для записи метрик. Доступные варианты: monitoring.googleapis.com — служба Google Cloud Monitoring. none — метрики не будут экспортированы из кластера. Если оставлено пустым, будет использоваться monitoring.googleapis.com.
network- Имя сети Google Compute Engine, к которой подключен кластер. Если не указано, будет использоваться сеть по умолчанию.
private_cluster_config- Конфигурация для частного кластера.
enable_private_nodes- Узлы имеют только внутренние IP-адреса. Если включено, все узлы получают только частные адреса RFC 1918 и взаимодействуют с мастером через частную сеть.
enable_private_endpoint- Используется ли внутренний IP-адрес мастера как конечный пункт назначения кластера.
master_ipv4_cidr_block- Диапазон IP-адресов в нотации CIDR для использования в размещенной сети мастера. Этот диапазон будет использоваться для назначения внутренних IP-адресов мастеру или группе мастеров, а также для VIP-адреса ILB. Этот диапазон не должен пересекаться с другими диапазонами, используемыми в сети кластера.
private_endpoint- Внутренний IP-адрес конечного пункта назначения мастера этого кластера.
public_endpoint- Внешний IP-адрес конечного пункта назначения мастера этого кластера.
cluster_ipv4_cidr- Диапазон IP-адресов контейнерных под в этом кластере в нотации CIDR (например, 10.96.0.0/14). Оставьте пустым, чтобы автоматически выбрать один, или укажите блок /14 в 10.0.0.0/8.
enable_tpu- (Необязательно) Включить ресурсы Cloud TPU в этом кластере. См. официальную документацию — https://cloud.google.com/tpu/docs/kubernetes-engine-setup
tpu_ipv4_cidr_block- Диапазон IP-адресов Cloud TPUs в этом кластере в нотации CIDR (например,
1.2.3.4/29). addons_config- Конфигурации для различных плагинов, доступных для запуска в кластере.
http_load_balancing- Настройка плагина контроллера балансировки нагрузки HTTP (L7), который упрощает настройку балансировщиков нагрузки HTTP для служб в кластере.
disabled- Включен ли контроллер балансировки нагрузки HTTP в кластере. При включении он запускает небольшой pod в кластере, который управляет балансировщиками нагрузки.
horizontal_pod_autoscaling- Настройка функции горизонтального масштабирования под, которая увеличивает или уменьшает количество реплицированных под, имеющихся у контроллера репликации, на основе использования ресурсов существующих под.
disabled- Включена ли функция горизонтального масштабирования под в кластере. При включении она гарантирует, что в кластере запущен pod Heapster, который также используется службой Google Cloud Monitoring.
kubernetes_dashboard- Настройка Kubernetes Dashboard. Этот плагин устарел и будет отключен в версии 1.15. Рекомендуется использовать консоль Google Cloud для управления и мониторинга ваших Kubernetes-кластеров, рабочих нагрузок и приложений.
disabled- Включен ли Kubernetes Dashboard для этого кластера.
network_policy_config
- Настройка NetworkPolicy. Этот параметр отслеживает только включен ли плагин на Master, а не включена ли политика сети для узлов.
disabled- Включена ли политика NetworkPolicy для данного кластера.
subnetwork- Имя подсети Google Compute Engine, к которой подключен кластер.
locations- Список зон Google Compute Engine, в которых должны находиться узлы кластера.
resource_labels- Метки ресурсов для кластера, используемые для аннотирования связанных ресурсов Google Compute Engine.
label_fingerprint- Отпечаток набора меток для данного кластера.
legacy_abac- Настройка режима авторизации ABAC legacy.
enabled- Включен ли ABAC-авторизатор для данного кластера. При включении, идентификаторам в системе, включая учетные записи сервисов, узлы и контроллеры, будут статически предоставлены разрешения, которые выходят за рамки тех, которые предоставляются конфигурацией RBAC или IAM.
network_policy- Настройки для функции NetworkPolicy.
provider- Выбранный поставщик политики сети.
enabled- Включена ли политика сети в кластере.
default_max_pods_constraint- Установленное ограничение на максимальное количество поддонов, которые могут быть запущены одновременно на узле в пуле узлов данного кластера. Учитывается только если кластер создан с поддержкой IP Alias.
max_pods_per_node- Ограничение, применяемое к максимальному количеству поддонов на узел.
ip_allocation_policy- Настройка для управления выделением IP-адресов в кластере.
use_ip_aliases- Используются ли alias IP для IP-адресов поддонов в кластере.
create_subnetwork- Создается ли автоматически новая подсеть для кластера.
subnetwork_name- Пользовательское имя подсети, используемое, если createSubnetwork установлено в true. Если это поле пустое, то для новой подсети будет выбрано имя автоматически.
cluster_secondary_range_name- Имя вторичного диапазона, используемого для блока CIDR кластера. Вторичный диапазон будет использоваться для адресов IP поддонов. Он должен быть существующим вторичным диапазоном, связанным с подсетью кластера.
services_secondary_range_name- Имя вторичного диапазона, используемого в качестве блока CIDR для сервисов. Вторичный диапазон будет использоваться для адресов service ClusterIPs. Он должен быть существующим вторичным диапазоном, связанным с подсетью кластера.
cluster_ipv4_cidr_block- Диапазон IP-адресов для IP-адресов поддонов кластера. Если это поле задано, то cluster.cluster_ipv4_cidr должно быть пустым. Это поле применимо только при useIpAliases=true. Установите пустым, чтобы получить диапазон с размером по умолчанию. Установите /netmask (например, /14), чтобы получить диапазон с указанной маской сети.
node_ipv4_cidr_block- Диапазон IP-адресов IP-адресов экземпляров в этом кластере. Это применимо только если createSubnetwork=true. Установите пустым, чтобы получить диапазон с размером по умолчанию. Установите /netmask (например, /14), чтобы получить диапазон с указанной маской сети.
services_ipv4_cidr_block- Диапазон IP-адресов сервисов в этом кластере. Если пустое, диапазон будет автоматически выбран с размером по умолчанию. Это поле применимо только при useIpAliases=true. Установите пустым, чтобы получить диапазон с размером по умолчанию. Установите /netmask (например, /14), чтобы получить диапазон с указанной маской сети.
tpu_ipv4_cidr_block- Диапазон IP-адресов Cloud TPUs в этом кластере. Если не указано, диапазон будет автоматически выбран с размером по умолчанию. Это поле применимо только при useIpAliases=true. Если не указано, диапазон будет использовать размер по умолчанию. Установите /netmask (например, /14), чтобы получить диапазон с указанной маской сети.
endpoint- IP-адрес конечной точки мастера кластера. К конечной точке можно получить доступ из интернета по адресу https://имя_пользователя:пароль@конечная_точка/. См. свойство masterAuth этого ресурса для получения информации об имени пользователя и пароле.
initial_cluster_version- Версия программного обеспечения конечной точки мастера и kubelets, используемых в кластере при его первоначальном создании. Версия может быть обновлена со временем.
current_master_version- Текущая версия программного обеспечения конечной точки мастера.
current_node_version- Текущая версия программных компонентов узла. Если они в настоящее время находятся на нескольких версиях, потому что они находятся в процессе обновления, это отражает минимальную версию всех узлов.
create_time- Время создания кластера в формате RFC3339.
status- Текущий статус данного кластера.
status_message- Дополнительная информация о текущем состоянии кластера, если доступна.
node_ipv4_cidr_size- Размер адресного пространства на каждом узле для размещения контейнеров. Он выделяется из диапазона container_ipv4_cidr.
services_ipv4_cidr- Диапазон IP-адресов Kubernetes-сервисов в данном кластере в формате CIDR (например, 1.2.3.4/29). Адреса сервисов обычно располагаются в последней /16 из диапазона контейнеров.
current_node_count- Количество узлов в кластере.
expire_time- Время автоматического удаления кластера в формате RFC3339.
conditions- Условий, которые привели к текущему состоянию кластера.
code- Представление условия в удобном для машинного чтения формате.
message- Представление условия в удобном для человека формате.
master_authorized_networks_config- Настройка для управления выделением IP-адресов в кластере.
enabled- Включена ли авторизация master-сети.
cidr_blocks- Определите до 50 внешних сетей, которые могут получить доступ к Kubernetes-мастеру через HTTPS.
display_name- Необязательное поле, используемое для идентификации блоков CIDR.
cidr_block- Блок, указанный в формате CIDR.
location- Место развертывания кластера.
Разрешения GCP
Убедитесь, что API Kubernetes Engine включен для текущего проекта.
© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/inspec/resources/google_container_regional_cluster/