Spec-Zone.ru › Chef 18

Ресурс google_container_node_pool

[редактировать на GitHub]

Синтаксис

Используется для проверки ресурса 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 : Набор областей видимости 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, в этом случае будут добавлены необходимые области видимости.

  • service_account : Учетная запись службы Google Cloud Platform, которая будет использоваться виртуальными машинами узлов. Если учетная запись службы не указана, используется учетная запись службы «по умолчанию».

  • metadata : Пара ключи/значения метаданных, назначенные экземплярам в кластере. Ключи должны соответствовать регулярному выражению [a-zA-Z0-9-_]+ и иметь длину менее 128 байт. Они отображаются как часть URL-адреса в сервере метаданных. Кроме того, чтобы избежать неоднозначности, ключи не должны совпадать с другими ключами метаданных для проекта или быть одним из четырёх зарезервированных ключей: «instance-template», «kube-env», «startup-script» и «user-data». Значения представляют собой свободные строки и имеют значение только в интерпретации изображения, работающего в экземпляре. Единственное ограничение, накладываемое на них, заключается в том, что размер каждого значения должен быть меньше или равен 32 КБ. Общий размер всех ключей и значений должен быть меньше 512 КБ. Объект, содержащий список пар «ключ»: значение. Пример: { «имя»: «ключ», «масса»: «1,3 кг», «количество»: «3» }.

  • image_type : Тип образа для этого узла. Обратите внимание, что для данного типа образа будет использоваться последняя версия.

  • labels : Карта меток Kubernetes (пар ключ/значение), которые будут применены к каждому узлу. Они будут добавлены дополнительно к любым меткам по умолчанию, которые Kubernetes может применить к узлу. В случае конфликта в ключах меток применённый набор может отличаться в зависимости от версии Kubernetes – лучше предположить, что поведение не определено, и следует избегать конфликтов. Для получения дополнительной информации, включая использование и допустимые значения, см.: http://kubernetes.io/v1.1/docs/user-guide/labels.html Объект, содержащий список пар «ключ»: значение. Пример: { «имя»: «ключ», «масса»: «1,3 кг», «количество»: «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 Kubernetes Engine API.

© 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/

Spec-Zone.ru

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