Как запустить kube-bench в кластере?
Вначале необходимо зайти внутрь Pod’а Deckhouse:
kubectl -n d8-system exec -ti deploy/deckhouse -- bash
Далее, необходимо выбрать, на каком узле запустить kube-bench.
-
Запуск на случайном узле:
curl -s https://raw.githubusercontent.com/aquasecurity/kube-bench/main/job.yaml | kubectl create -f -
-
Запуск на конкретном узле, например на control-plane:
curl -s https://raw.githubusercontent.com/aquasecurity/kube-bench/main/job.yaml | yq r - -j | jq '.spec.template.spec.tolerations=[{"operator": "Exists"}] | .spec.template.spec.nodeSelector={"node-role.kubernetes.io/control-plane": ""}' | kubectl create -f -
Далее можно проверить результат выполнения:
kubectl logs job.batch/kube-bench
Как собрать информацию для отладки?
Мы всегда рады помочь пользователям с расследованием сложных проблем. Пожалуйста, выполните следующие шаги, чтобы мы смогли вам помочь:
-
Выполните следующую команду, чтобы собрать необходимые данные:
kubectl -n d8-system exec deploy/deckhouse -c deckhouse \ -- deckhouse-controller collect-debug-info \ > deckhouse-debug-$(date +"%Y_%m_%d").tar.gz
-
Отправьте получившийся архив команде Deckhouse для дальнейшего расследования.
Данные, которые будут собраны:
- состояние очереди Deckhouse
- Deckhouse values (без каких-либо конфиденциальных данных)
- список включенных модулей
events
из всех пространств имен- манифесты controller’ов и pod’ов manifests из всех пространств имен Deckhouse
- все объекты
nodegroups
- все объекты
nodes
- все объекты
machines
- Данные о текущей версии пода deckhouse
- все объекты
deckhousereleases
- логи Deckhouse
- логи machine controller manager
- логи cloud controller manager
- логи cluster autoscaler
- логи Vertical Pod Autoscaler admission controller
- логи Vertical Pod Autoscaler recommender
- логи Vertical Pod Autoscaler updater
- логи Prometheus
- метрики terraform-state-exporter
- все горящие уведомления в Prometheus
Как отлаживать проблемы в Pod’ах при помощи ephemeral containers?
Выполните следующую команду:
kubectl -n <namespace_name> debug -it <pod_name> --image=ubuntu <container_name>
Подробнее можно почитать в официальной документации.
Как отлаживать проблемы на узлах при помощи ephemeral containers?
Выполните следующую команду:
kubectl debug node/mynode -it --image=ubuntu
Подробнее можно почитать в официальной документации.