Alexey
Dmitrii
https://docs.projectcalico.org/v2.0/usage/configuration/
Смотрю на параметр DefaultEndpointToHostAction. Хочу уточнить у знающих людей: надо ли мне понимать его документацию как "calico по умолчанию блокирует весь трафик по направлению от пода к хосту"?
Nick
Коллеги, чтот затупил с k8s.
Создал сервисы grafana и influxdb в namespace kube-system.
Хочу в grafan’e прописать data source -> influxdb, но туплю по какому dns имени обратится.
Konstntn
Etki
Nick
Хм а public hosted zone влияет на это? Хотя я и через паблик пробовал…
Konstntn
cluster.local - это по умолчанию. При развёртывании сетевого стека может быть изменено. Попробуй резолвить с хоста dig @kube-dns-ip svc.cluster.local
Konstntn
Что возвращает kubectl get --all-namespaces pod kube-dns -o yaml?
Nick
с этим проще) а то dig нигде не стоит)
Nick
kubectl get --all-namespaces pod -o yaml -l k8s-app=kube-dns
вот так выдаст портянку. Из интересного
spec:
containers:
- args:
- --domain=cluster.local.
- --dns-port=10053
- --config-dir=/kube-dns-config
- --v=2
Nick
Nick
я с мастера проверяю или тоже может не канать?
Konstntn
cat /etc/resolv.conf на мастере
Nick
domain us-east-2.compute.internal
search us-east-2.compute.internal
nameserver 172.20.0.2
Konstntn
Не канает. Та команда dig, что я кинул выше, будет работать. Надо переопределять ip dns-серверов. Тогда будет работать
Nick
хм…как-то это явно из доков не вычитал, что ns работаето только pod<->pod. Думал оно прозрачно для всего кластера.
Ок, спс. Буду тыкаться изнутри пода
Konstntn
Nick
@kgubaev Посмотрел resolv.conf на нодах, такой же как на мастере
Nick
Что в принципе по моей идеи)) должно быть правильно, чтобы они друг друга по dns видели
Nick
но это никак не помогло проблеме =/ х3 чет не то с DNS внутри чтоле…
Nick
в графану же через прокси заходит - значит как-то оно работает
Konstntn
Если из подов резолвится, то не в DNS проблема
Nick
Nick
вообще в resolv.conf этот адрес 172.20.0.2 не пойму откуда. Может из-за этого проблема.
Konstntn
Это Amazon прописывает. В подах другие dns. Они не имеют отношения к dns хоста
Nick
Дык в подах в resolv.conf тоже самое
Konstntn
Понял. У тебя --net=host используется. Тогда он не изолирует сетевой стек, а запускает под на стеке хоста
Nick
это где такое?
Konstntn
spec:
hostNetwork: true
https://github.com/kubernetes/kubernetes/issues/56934
Nick
Для этого этот параметр надо явно указать при деплойменте сервиса.
Nick
я такое специально не прописывал, но сейчас проверю
Nick
Нет. Конфиг нода минимальный.
Nick
Вроде кластер то пустой, только сделаный и конфиги все дефолтные. Поидеи графану каждые первый ставит…
Konstntn
Дык в подах в resolv.conf тоже самое
Должно быть что-то такое
$ kubectl exec -it gitlab-gitlab-runner-7584cf57fc-f94ks -- cat /etc/resolv.conf
nameserver 10.96.0.10a
search default.svc.cluster.local svc.cluster.local cluster.local lan
options ndots:5
Nick
сделал несколько тестовых POD в дефолтом namespace - они работают. Может с настройкой Service или Deployment что-то не то =/
Nick
@kgubaev удалил и перенес все в новый namespace. Там все заработало в виде monitoring-influxdb.monitoring.svc
Nick
Не все конечно))) но графана бд от influxdb по dns подцепила)
Nick
Еще заметил багу раз через раз при выполенении kubectl exec -it busybox — bash вылетает по таймауту с “ read: connection reset by peer”
Konstntn
Nick
Вот не знаю. Вроде в дашборде перезагрузок нет. =/
Silver 👻
kubectl get pods и посмотри колонку restarts
Silver 👻
Всем привет
Nick
Да я понимаю. Два рестарта на 20-30 ошибок - не похоже что связано.
Nick
Если вдруг кто логи чата читает. Для помощь в разборках с DNS можно почитать вот такую доку
https://kubernetes.io/docs/tasks/administer-cluster/dns-debugging-resolution/
Александр
Denis
Добрый день! Наверное много раз уже данный вопрос поднимался в этом чате... Подскажите, чем мониторите кластер k8s ? Помимо prometheus operator, конечно
Denis
Andor
Некропостеры
Dmitrii
Александр
Silver 👻
100% я не первый, но все же - что использовать в качестве ingress лоадбалансера (прокси) на своем железе?
Stanislav
Silver 👻
Просто proxy_pass на нодепорт?
Stanislav
Нет, nginx-ingress
Stanislav
ставить надо
Silver 👻
Хм... Почему бы и не nginx, как простой proxy_pass... Попробую. Спасибо за мысль.
Stanislav
Silver 👻
У меня внутри есть nginx, в котором есть кучка логики. Нет смысла городить огород из ingress и правил. Все уже внутри.
По идее должно получиться нормально.
Andor
очень прикольно читать про "простой proxy_pass" имея в соседней вкладке браузера открытый шаблон конфига nginx-ingress
Silver 👻
Это для дева в офисе. Тут не критично использовать узкозаточенное.
Silver 👻
Andor
Что "это"?
科斯
я немного не понял причем тут ингресс. вопрос же про использование nginx в роли внешнего балансировщика при service.type=LoadBalancer, так ведь? просто ингресс это ингресс, а балансировщик он немного снаружи и к ингрессу непонятно каким боком
科斯
ну и да, насколько я помню использование в роли LoadBalancer своего nginx не предусмотрено, оно только с облаками дружит. но можно свой nginx поставить перед ингрессом для того чтобы не отваливался ингресс при смене айпишника. это наверняка можно провернуть
Silver 👻
Вот я про свой Nginx и говорю в связке с NodePort. Должно помочь. В проде будет внешний LB.
Stanislav
Кто знает как в Helm подсасывать переменные из bash, за исключением передавать их как аргументы? Чтото типа {{ env $ZALUPA }}
Anonymous
{{.Env.ZALUPA}} так вроде, но это неточно
Stanislav
Anonymous
или так {{.Values.env.ZALUPA}}
Stanislav
Ни то ни другое, ни env ни Env, не работает(
科斯
{{.Env.ZALUPA}} так вроде, но это неточно
не могу промолчать и не сказать что это не так чтобы правильно. лучше —set, ну или из файликов добавлять, тоже вполне удобно. а по теме нет, не использовал, не знаю
Anonymous
.Values.ContainerSpec.Env.ZALUPA
Stanislav
.Values.ContainerSpec.Env.ZALUPA
Это, насколько я понимаю переменная внутри контейнера, а мне нужна переменная окружения откуда я запускаю helm install.