Ресурс google_container_node_pool
Синтаксис
Используется google_container_node_pool для проверки ресурса Google NodePool.
Ресурс бета-версии
Для этого ресурса доступны поля бета-версии. Для получения этих полей, добавьте beta: true в конструктор ресурса.
Примеры
describe google_container_node_pool(project: 'chef-gcp-inspec', location: 'europe-west2-a', cluster_name: 'gcp-inspec-kube-cluster', nodepool_name: 'inspec-gcp-regional-node-pool') do
it { should exist }
its('initial_node_count') { should eq '1'}
end
describe google_container_node_pool(project: 'chef-gcp-inspec', location: 'europe-west2-a', cluster_name: 'gcp-inspec-kube-cluster', nodepool_name: 'nonexistent') do
it { should_not exist }
end
Проверка, что пул узлов GCP контейнера находится в определённом состоянии, например, «RUNNING»
describe google_container_node_pool(project: 'chef-inspec-gcp', locations: 'europe-west2-a', cluster_name: 'inspec-gcp-kube-cluster', nodepool_name: 'inspec-gcp-kube-node-pool') do
its('status') { should eq 'RUNNING' }
end
Проверка размера диска пула узлов GCP контейнера в ГБ
describe google_container_node_pool(project: 'chef-inspec-gcp', locations: 'europe-west2-a', cluster_name: 'inspec-gcp-kube-cluster', nodepool_name: 'inspec-gcp-kube-node-pool') do
its('config.disk_size_gb'){should eq 100}
end
Проверка типа машины пула узлов GCP контейнера
describe google_container_node_pool(project: 'chef-inspec-gcp', locations: 'europe-west2-a', cluster_name: 'inspec-gcp-kube-cluster', nodepool_name: 'inspec-gcp-kube-node-pool') do
its('config.machine_type'){should eq "n1-standard-1"}
end
Проверка типа образа узла пула узлов GCP контейнера
describe google_container_node_pool(project: 'chef-inspec-gcp', locations: 'europe-west2-a', cluster_name: 'inspec-gcp-kube-cluster', nodepool_name: 'inspec-gcp-kube-node-pool') do
its('config.image_type'){should eq "COS"}
end
Проверка начального количества узлов пула узлов GCP контейнера
describe google_container_node_pool(project: 'chef-inspec-gcp', locations: 'europe-west2-a', cluster_name: 'inspec-gcp-kube-cluster', nodepool_name: 'inspec-gcp-kube-node-pool') do
its('initial_node_count'){should eq 3}
end
Свойства
Свойства, к которым можно обратиться от ресурса google_container_node_pool:
name- Имя пула узлов.
config- Конфигурация узлов пула.
-
machine_type: Название типа машины Google Compute Engine (например, n1-standard-1). Если не указано, используется тип машины по умолчанию n1-standard-1. -
disk_size_gb: Размер диска, подключённого к каждому узлу, указанный в ГБ. Минимальный размер диска составляет 10 ГБ. Если не указано, используется размер диска по умолчанию 100 ГБ. -
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, в этом случае будут добавлены их необходимые области. -
service_account: Учётная запись службы Google Cloud Platform, которую будут использовать виртуальные машины узлов. Если учётная запись службы не указана, используется учётная запись службы «по умолчанию». -
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: Список аппаратных ускорителей, которые должны быть подключены к каждому узлу-
accelerator_count: Количество карт ускорителей, доступных экземпляру. -
accelerator_type: Имя ресурса типа ускорителя.
-
-
disk_type: Тип диска, подключённого к каждому узлу (например, «pd-standard» или «pd-ssd»). Если не указано, по умолчанию используется тип диска «pd-standard» -
min_cpu_platform: Минимальная платформа ЦП, которая должна использоваться этим экземпляром. Экземпляр может быть размещён на указанной или более новой платформе ЦП. -
taints: Список меток kubernetes, которые будут применяться к каждому узлу.-
key: Ключ для метки. -
value: Значение для метки. -
effect: Эффект для метки.
-
initial_node_count- Начальное количество узлов для пула. Вам необходимо убедиться, что ваш квота ресурсов Compute Engine достаточна для этого количества экземпляров. Вам также необходимо иметь доступную квоту для брандмауэра и маршрутов.
status- Состояние узлов в этом экземпляре пула.
status_message- Дополнительная информация о текущем состоянии этого экземпляра пула узлов.
version- Версия Kubernetes этого узла.
autoscaling- Конфигурация масштабирования для этого NodePool. Масштабирование включено только в том случае, если имеется корректная конфигурация.
-
enabled: Включено ли автоматическое масштабирование для этого пула узлов. -
min_node_count: Минимальное количество узлов в NodePool. Должно быть >= 1 и <= maxNodeCount. -
max_node_count: Максимальное количество узлов в NodePool. Должно быть >= minNodeCount. Должен быть достаточный лимит для увеличения кластера.
management- Конфигурация управления для этого NodePool.
-
auto_upgrade: Флаг, указывающий, включено ли автоматическое обновление узлов для пула узлов. При включении автоматическое обновление узлов помогает поддерживать узлы в вашем пуле узлов в актуальном состоянии с последней версией Kubernetes. -
auto_repair: Флаг, указывающий, включено ли автоматическое исправление узлов для пула узлов. Если включено, узлы в этом пуле узлов будут отслеживаться, и если они не пройдут проверки работоспособности слишком много раз, будет запущена автоматическая процедура восстановления. -
upgrade_options: Указывает параметры автоматического обновления для пула узлов.-
auto_upgrade_start_time: Это поле устанавливается при начале обновлений с приблизительным временем начала обновлений в формате RFC3339. -
description: Это поле устанавливается при начале обновлений с описанием обновления.
-
max_pods_constraint- Ограничение на максимальное количество поддосов, которые могут выполняться одновременно на узле в пуле узлов.
-
max_pods_per_node: Ограничение, накладываемое на максимальное количество поддосов на узел.
conditions- Условия, которые привели к текущему состоянию пула узлов.
-
code: Представление условия, удобное для машин. Возможные значения:- UNKNOWN
- GCE_STOCKOUT
- GKE_SERVICE_ACCOUNT_DELETED
- GCE_QUOTA_EXCEEDED
- SET_BY_OPERATOR
pod_ipv4_cidr_size- Размер блока CIDR поддосов на узел в этом пуле узлов.
cluster- Кластер, к которому относится этот пул узлов.
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_node_pool/