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
при этом в конфиг мапе это работаает
Grisha
Grisha
Именно это и работает
G72K
Grisha
https://www.consul.io/docs/platform/k8s/dns.html
Grisha
Вот отсюда взял пример
Grisha
Ещё вопрос, сервисы всегда маршрутизируются через кубер сервер? Или они как-то привязываются к Воркеру например?
Grisha
Вот например я поднимаю любой сервис, он физически где поднимается?
Etki
это просто редирект пакетов с виртуального айпи на реальный айпи нужного пода на любой ноде
Grisha
я к тому что мне нужно чтобы он маршрутизировался только сервером кубера?
G72K
Etki
Grisha
он не должен быть заасайнен на всех нодах?
Grisha
http://prntscr.com/leq6qr
Grisha
вот)
Etki
это просто правило в iptables или что там новое завезли на всех нодах
Grisha
Etki
там нет никакого центрального сервера, проксирующего это
Grisha
правило в iptables где? на мастер ноде?
Grisha
у кого это правило записано? на какой ноде?
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
я же когда его создаю я создаю его башем)
Grisha
а я через edit пытался скормить) еще думаю как замечательно что можно юзать баш прям в yaml
Grisha
Grisha
предположим что сервис поднялся на ip 1.1.1.1 , все ноды в кластере должны уметь его маршрутизировать?
Etki
нет, я не говорю загадками
Etki
да
G72K
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 кубера и уже внутри выдергивать
G72K
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
Etki
Grisha
headless service я пока даже не знаю что это(
Vadim
G72K
Grisha
это же POC
Grisha
я пока только курю все это дело
Grisha
создать сервис перед едплоем это не сложно,просто последовательность для CD в gitlab CI)
Grisha
Vadim
Grisha
ты имеешь ввиду что отдастся ip подов?
G72K
Я хочу что б куб эти переменные вообще в контейнеры не заносил
G72K
G72K
У всех сегодня был хороший день, что новичкам помогают? Или наоборот настолтко хреновый, что хоть что-то хорошее сделать хочется?