A
Не прав. Только из вне к подам нельзя
Хорошо, спасибо, буду иметь в виду
Grisha
Вечер в хату
Grisha
ребзя, пожскажите, как такое реализовать?
Grisha
spec: containers: - env: - name: IP value: $(kubectl get svc some_service -o jsonpath='{.spec.clusterIP}')
Grisha
у меня передается plain text в env
Grisha
а мне надо передать ip сервиса внутрь пода
Grisha
cat <<EOF | kubectl apply -f - apiVersion: v1 kind: ConfigMap metadata: labels: addonmanager.kubernetes.io/mode: EnsureExists name: kube-dns namespace: kube-system data: stubDomains: | {"consul": ["$(kubectl get svc consul-dns -o jsonpath='{.spec.clusterIP}')"]} EOF
Grisha
при этом в конфиг мапе это работаает
Vadim
ребзя, пожскажите, как такое реализовать?
кастомный эндпоинт с выдергиванием этого сервиса через API
G72K
при этом в конфиг мапе это работаает
В конфиг мапе если что и работает, то точно не это :)
Grisha
Именно это и работает
Grisha
https://www.consul.io/docs/platform/k8s/dns.html
Grisha
Вот отсюда взял пример
Grisha
Ещё вопрос, сервисы всегда маршрутизируются через кубер сервер? Или они как-то привязываются к Воркеру например?
Grisha
Вот например я поднимаю любой сервис, он физически где поднимается?
Etki
это просто редирект пакетов с виртуального айпи на реальный айпи нужного пода на любой ноде
Grisha
я к тому что мне нужно чтобы он маршрутизировался только сервером кубера?
Grisha
он не должен быть заасайнен на всех нодах?
Grisha
http://prntscr.com/leq6qr
Grisha
вот)
Etki
это просто правило в iptables или что там новое завезли на всех нодах
Etki
там нет никакого центрального сервера, проксирующего это
Grisha
правило в iptables где? на мастер ноде?
Grisha
у кого это правило записано? на какой ноде?
Etki
на всех нодах
Etki
как правило iptables, разрешающее виртуальный айпи, вообще может быть на другой ноде?
Grisha
1.1.1.1 -> 192.168.1.1
Grisha
ip 1.1.1.1 не маршрутизируется же на все ноды сразу
G72K
не знаю)
Проверил доку, да строка. Вы как деплой создаете? Надо тоже через cat <<EOF чтобы как в конфиг мапе сработало
Grisha
ааааа
Grisha
точно
Grisha
вот я гоню)
Grisha
я же когда его создаю я создаю его башем)
Etki
ip 1.1.1.1 не маршрутизируется же на все ноды сразу
ноды вообще не контекста, он маршрутизирует на один из подов
Grisha
а я через edit пытался скормить) еще думаю как замечательно что можно юзать баш прям в yaml
Grisha
предположим что сервис поднялся на ip 1.1.1.1 , все ноды в кластере должны уметь его маршрутизировать?
Etki
нет, я не говорю загадками
Etki
да
Grisha
: :r !kubectl get .. а можно полный пример синтаксиса?
Grisha
в то я не понимаю что из этого смайл) а что синтаксис)
Grisha
я планирую это все еще и в helm запхать
G72K
Можно попробовать :r !whoami и дальше разобраться :)
G72K
В хелме баша точно нет
Grisha
IP=:r !whoami
Grisha
value: :r !whoami
Grisha
так не работает
Grisha
мне просто важно внутрь пода передать внешний ip service через который можно на pod попасть
Grisha
не хотелось бы внутрь пода отдавать креды для доступа к api кубера и уже внутри выдергивать
Grisha
ping git-depl.default.svc.cluster.local PING git-depl.default.svc.cluster.local (10.105.84.30): 56 data bytes
Grisha
ну в принципе подходящий вариант
Grisha
можно сделать pre_start hook
Grisha
headless service я пока даже не знаю что это(
G72K
ping git-depl.default.svc.cluster.local PING git-depl.default.svc.cluster.local (10.105.84.30): 56 data bytes
Не надо деплоить в default :) вообще неймспейсы надо шинковать как можно мельче
Grisha
это же POC
Grisha
я пока только курю все это дело
G72K
они и так уже там
Сервис может после деплоймента создать ся
Etki
headless service я пока даже не знаю что это(
есть гугл https://kubernetes.io/docs/concepts/services-networking/service/#headless-services dns сразу отдаст все конечные айпишники вместо виртуального
Vadim
Сервис может после деплоймента создать ся
тогда entrypoint будет сложный, чтоподелать
G72K
я пока только курю все это дело
Оно потом незаметно хоп и в продакшн
Grisha
создать сервис перед едплоем это не сложно,просто последовательность для CD в gitlab CI)
G72K
тогда entrypoint будет сложный, чтоподелать
Когда они уже эти переменные окружения уберут? Не 2014 год на дворе, linked containers давно издохли
Etki
есть конечно, но мне пока эта статья не о чем не сказала
> dns сразу отдаст все конечные айпишники вместо виртуального
Vadim
Grisha
ты имеешь ввиду что отдастся ip подов?
G72K
Я хочу что б куб эти переменные вообще в контейнеры не заносил
G72K
У всех сегодня был хороший день, что новичкам помогают? Или наоборот настолтко хреновый, что хоть что-то хорошее сделать хочется?
Etki
В статье написано :)
там сложна и на английском