Стадия жизненного цикла модуля: General Availability
Как запустить kube-bench в кластере?
-
Зайдите внутрь пода Deckhouse:
d8 k -n d8-system exec -ti svc/deckhouse-leader -c deckhouse -- bash -
Выберите, на каком узле запустить kube-bench.
-
Запуск на случайном узле:
curl -s https://raw.githubusercontent.com/aquasecurity/kube-bench/main/job.yaml | d8 k create -f - -
Запуск на конкретном узле, например на control-plane:
curl -s https://raw.githubusercontent.com/aquasecurity/kube-bench/main/job.yaml | d8 k apply -f - --dry-run=client -o json | jq '.spec.template.spec.tolerations=[{"operator": "Exists"}] | .spec.template.spec.nodeSelector={"node-role.kubernetes.io/control-plane": ""}' | d8 k create -f -
-
-
Проверьте результат выполнения:
d8 k logs job.batch/kube-bench
В Deckhouse установлен срок хранения логов — 7 дней. Однако, в соответствии с требованиями безопасности указанными в kube-bench, логи должны храниться не менее 30 дней. Используйте отдельное хранилище для логов, если вам необходимо хранить логи более 7 дней.
Как собрать информацию для отладки?
-
Соберите диагностический архив утилитой
d8, перенаправив вывод (stdout) в файл:d8 system collect-debug-info > deckhouse-debug-$(date +"%Y_%m_%d").tar.gz -
Отправьте полученный архив команде Deckhouse для дальнейшего расследования.
Флаг
--excludeисключает указанные элементы из архива. Пример:
d8 system collect-debug-info --exclude=queue global-values > deckhouse-debug-$(date +"%Y_%m_%d").tar.gz
Флаг
--list-excludeвыводит список доступных для исключения элементов. Пример:
d8 system collect-debug-info --list-exclude
Ниже перечислены сведения, формируемые при выполнении архива. Названия в колонке «Файл в архиве» соответствуют элементам верхнего уровня внутри итогового архива tar.gz. Отдельные чувствительные значения (например, kubeRBACProxyCA и registry.dockercfg) исключаются из выборки.
| Категория | Собираемые данные | Файл в архиве |
|---|---|---|
| Deckhouse | Состояние очереди Deckhouse | queue |
Значения Deckhouse (кроме kubeRBACProxyCA и registry.dockercfg) |
global-values |
|
Версия текущего пода deckhouse |
deckhouse-version |
|
Все объекты DeckhouseRelease |
deckhouse-releases |
|
| Логи подов Deckhouse | deckhouse-logs |
|
| Манифесты контроллеров и подов из всех пространств имён Deckhouse | d8-all |
|
| Объекты кластера | NodeGroup |
node-groups |
NodeGroupConfiguration |
node-group-configuration |
|
Node |
nodes |
|
Machine |
machines |
|
Instance |
instances |
|
StaticInstance |
staticinstances |
|
MachineDeployment |
cloud-machine-deployment, static-machine-deployment |
|
ClusterAuthorizationRule |
cluster-authorization-rules |
|
AuthorizationRule |
authorization-rules |
|
ModuleConfig |
module-configs |
|
| События (все пространства имён) | events |
|
| Модули и их состояния | Список включённых модулей | deckhouse-enabled-modules |
Объекты ModuleSource в кластере |
deckhouse-module-sources |
|
Объекты ModulePullOverride в кластере |
deckhouse-module-pull-overrides |
|
Модули в режиме maintenance |
deckhouse-maintenance-modules |
|
| Логи и манифесты контроллеров | Логи machine-controller-manager |
mcm-logs |
Логи cloud-controller-manager |
ccm-logs |
|
Логи csi-controller |
csi-controller-logs |
|
Логи cluster-autoscaler |
cluster-autoscaler-logs |
|
| Логи VPA admission controller | vpa-admission-controller-logs |
|
| Логи VPA recommender | vpa-recommender-logs |
|
| Логи VPA updater | vpa-updater-logs |
|
YAML capi-controller-manager |
capi-controller-manager |
|
YAML caps-controller-manager |
caps-controller-manager |
|
YAML machine-controller-manager |
machine-controller-manager |
|
| Мониторинг и алерты | Логи Prometheus | prometheus-logs |
| Активные (горящие) уведомления в Prometheus | alerts |
|
Поды не в состоянии Running (кроме Completed и Evicted) |
bad-pods |
|
Список Audit Policy |
audit-policy |
|
| Сеть | Все объекты в пространстве имён d8-istio |
d8-istio-resources |
Все кастомные ресурсы istio |
d8-istio-custom-resources |
|
Конфигурация Envoy для istio |
d8-istio-envoy-config |
|
Логи istio |
d8-istio-system-logs |
|
Логи istio ingress gateway |
d8-istio-ingress-logs |
|
Логи istio users |
d8-istio-users-logs |
|
Состояние соединения Cilium (cilium health status) |
cilium-health-status |
|
Как отлаживать проблемы в подах с помощью ephemeral containers?
Выполните следующую команду:
d8 k -n <namespace_name> debug -it <pod_name> --image=ubuntu <container_name>
Подробнее можно почитать в официальной документации.
Как отлаживать проблемы на узлах с помощью ephemeral containers?
Выполните следующую команду:
d8 k debug node/mynode -it --image=ubuntu
Подробнее можно почитать в официальной документации.