Ресурс aws_eks_clusters
Используйте ресурс aws_eks_clusters для проверки конфигурации коллекции AWS Elastic Container Service для Kubernetes.
Синтаксис
describe aws_eks_clusters do
its('names.count') { should cmp 10 }
end
Параметры
Этот ресурс не ожидает параметров.
См. также документацию AWS по кластерам EKS.
Свойства
| Свойство | Описание |
|---|---|
| arn | Amazon Resource Name (ARN) кластера. |
| name | Имя кластера. |
| endpoint | Точка входа для вашего Kubernetes API сервера. |
| status | Текущий статус кластера. |
| version | Версия Kubernetes сервера для кластера. |
| certificate_authority | Данные certificate-authority для вашего кластера. |
| subnets_count | Количество подсетей, связанных с кластером. |
| subnet_ids | Подсети, связанные с кластером. |
| security_groups_count | Количество групп безопасности, связанных с кластером. |
| security_group_ids | Группы безопасности, связанные с кросс-аккаунтовыми интерфейсами elastic network, которые используются для обеспечения связи между узлами рабочих процессов и контрольной плоскостью Kubernetes. |
| role_arn | Amazon Resource Name (ARN) роли IAM, предоставляющей разрешения для Kubernetes control plane на выполнение вызовов операций API AWS от вашего имени. |
| vpc_id | VPC, связанный с кластером. |
| created_at | Маркер времени Unix эпохи в секундах для момента создания кластера. |
| creating | Логическое значение, указывающее, находится ли кластер в состоянии CREATING. |
| active | Логическое значение, указывающее, находится ли кластер в состоянии ACTIVE. |
| failed | Логическое значение, указывающее, находится ли кластер в состоянии FAILED. |
| deleting | Логическое значение, указывающее, находится ли кластер в состоянии DELETING. |
| entries | Предоставляет доступ к исходным результатам запроса, которые можно рассматривать как массив хэшей. |
Примеры
Разрешить не более 100 кластеров EKS в аккаунте
describe aws_eks_clusters do
its('entries.count') { should be <= 100}
end
Обеспечить существование конкретного кластера по имени
describe aws_eks_clusters do
its('names') { should include('cluster-1') }
end
Обеспечить отсутствие кластеров в состоянии ошибки
describe aws_eks_clusters.where( failed: true ) do
it { should_not exist )
end
Матчи
Этот ресурс аудита InSpec имеет следующие специальные матчи. Полный список доступных матчей можно найти на нашей странице матчей.
exist
Управление будет успешно, если describe вернет хотя бы один результат.
Используйте should_not для проверки, что сущность не должна существовать.
describe aws_eks_clusters.where( <property>: <value>) do
it { should exist }
end
describe aws_eks_clusters.where( <property>: <value>) do
it { should_not exist }
end
Разрешения AWS
Вашему принципалу потребуются права eks:DescribeCluster с установленным значением Effect на Allow.
Подробную документацию можно найти по адресу Политики IAM Amazon EKS, роли и разрешения. Документация по действиям EKS находится по адресу Структура политики
© 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/aws_eks_clusters/