You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
kubectl debug $(kubectl get pods | grep -m 1 web | awk '{print $1}')
Ничего не получилось, т.к. плагин пытается подключиться напрямую к ноде, но у нас нет прямого доступа к ней, поэтому необходим параметр --port-forward. Так же мы не создавали daemon set с дебаг агентом, поэтому при каждом запуске необходимо указывать параметр --agentless:
kubectl debug --agentless --port-forward $(kubectl get pods | grep -m 1 web | awk '{print $1}')
Проверил работу приложения
curl http://127.0.0.1:8000/index.html
Проверил работу команды strace
strace -c -p1
Команда успешно выполнилась, т.к. разработчики добавили в контейнер capability SYS_PTRACE. В этом можно убедиться, если зайти на ноду, где запущен под и проверить контейнер
Подключился через gcloud на ноду нашего кластера, где запущен дебаг контейнер
gcloud compute ssh $(kubectl get pods -o wide | grep -m 1 web | awk '{print $7}') --zone "europe-north1-b"
iptables-tailer не работает, т.к. нет прав. Создал сервис аккаунт, дал ему права и запустил из под него iptables-tailer (использовал манифест из репо со сниппетами, в котором исправлены баги)
kubectl delete -f ./netperf-operator/deploy/cr.yaml
kubectl apply -f ./netperf-operator/deploy/cr.yaml
kubectl get events -A
kubectl describe pod --selector=app=netperf-operator
Теперь в событиях видны сетевые проблемы
Задание со *
Изменил манифест DaemonSet, чтобы в логах указывались имена подов, а не их лейблы (выставил значение переменной окружения POD_IDENTIFIER в name). Применил манифест и проверил логи
kubectl apply -f kubernetes-debug/extra/iptables-tailer-daemonset.yaml
kubectl delete -f ./netperf-operator/deploy/cr.yaml
kubectl apply -f ./netperf-operator/deploy/cr.yaml
kubectl get events -A --sort-by=.metadata.creationTimestamp
kubectl describe pod --selector=app=netperf-operator
В событиях вместо метки отображаются имена подов
Исправил селекторы в политике calico, применил их и запустил тест снова