
Ivan
17.10.2017
12:19:30
нет, тоже самое.
search не добавляется

Maksim
17.10.2017
12:20:13
что ты сделал?

Ivan
17.10.2017
12:20:22
о! а в соседнем поде есть:
kubectl -n rasc exec -it rasc-mc-3979153417-5sj00 bash
memcache@rasc-mc-3979153417-5sj00:/$ cat /etc/resolv.conf
nameserver 10.3.0.254
search rasc.svc.cluster.local svc.cluster.local cluster.local
options ndots:5

Maksim
17.10.2017
12:20:24
resolv изменяется в момент создания пода кублетом

Google

Ivan
17.10.2017
12:20:38

Maksim
17.10.2017
12:20:41
если под не пересоздавался то там ничего не появится
значит смотри кублет, который создал данный под
мб его нужно рестартануть (он не подтягивает настройки сам)

Ivan
17.10.2017
12:22:31
нет, всё норм. в соседнем поде есть сёрч. а в тот я назначал резолв кастомный при деплое... можно не обращать на него внимание

Maksim
17.10.2017
12:37:36
?

Zon
17.10.2017
12:38:05

Paul
17.10.2017
12:40:44
как на эту тему шутила Ольга Павлова, когда у нее ЛитРес книжку украл - действительно, а зачем добру пропадать?

Maksim
17.10.2017
12:42:02

Ivan
17.10.2017
12:42:41
?
kubectl -n rasc exec -it rasc-mc-3979153417-5sj00 bash
memcache@rasc-mc-3979153417-5sj00:/$ cat /etc/resolv.conf
nameserver 10.3.0.254
search rasc.svc.cluster.local svc.cluster.local cluster.local
options ndots:5

Maksim
17.10.2017
12:43:15
А что nslookup дает?
ну судя по записи my-svc утебя должно работать

Google

Ivan
17.10.2017
12:46:50
у меня в этом контейнере нет нслукапа(((
и поставить нельзя - он стартует от непривелигированного юзера

bebebe
17.10.2017
12:47:21
kubectl cp

Ivan
17.10.2017
12:47:29
memcache@rasc-mc-3979153417-5sj00:/$ ping rasc
ping: rasc: Temporary failure in name resolution
memcache@rasc-mc-3979153417-5sj00:/$ ping rasc.rasc.pod.cluster.local
ping: rasc.rasc.pod.cluster.local: No address associated with hostname
а вот так резолвит:
memcache@rasc-mc-3979153417-5sj00:/$ ping rasc-svc.rasc.svc.cluster.local
PING rasc-svc.rasc.svc.cluster.local (10.3.186.23) 56(84) bytes of data.
From 10.1.29.1 (10.1.29.1) icmp_seq=1 Packet filtered
From 10.1.29.1 (10.1.29.1) icmp_seq=2 Packet filtered
но почему то шлёт на шлюз

Maksim
17.10.2017
12:57:50
rasc-svc.rasc
rasc.rasc
Стоп ты ищишь под?
так у пода другое имя
у тебя должно работать ping rasc-svc
потому как у под вот такое имя
pod-ip-address.my-namespace.pod.cluster.local
ну или через аннотации

Ivan
17.10.2017
13:18:53
у тебя должно работать ping rasc-svc
memcache@rasc-mc-3979153417-5sj00:/$ ping rasc.rasc
ping: rasc.rasc: Name or service not known
PING rasc-svc.rasc.svc.cluster.local (10.3.186.23) 56(84) bytes of data.
From 10.1.29.1 (10.1.29.1) icmp_seq=1 Packet filtered
From 10.1.29.1 (10.1.29.1) icmp_seq=2 Packet filtered
и оно работает

Maksim
17.10.2017
13:19:30
напиши ping rasc-svc.rasc
и всё заработает

Ivan
17.10.2017
13:20:47
memcache@rasc-mc-3979153417-5sj00:/$ ping rasc-svc.rasc
PING rasc-svc.rasc.svc.cluster.local (10.3.186.23) 56(84) bytes of data.
From 10.1.29.1 (10.1.29.1) icmp_seq=1 Packet filtered
From 10.1.29.1 (10.1.29.1) icmp_seq=2 Packet filtered

Maksim
17.10.2017
13:20:53
Никогда не заморачивался, связь между подами всегда делал через сервис, потому что он статичный, а поды динамичные + сервис обеспечивает отказоустойчивость, если под больше одного

Google

Maksim
17.10.2017
13:20:57
https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pods
Ну вот короткие имена работают)

Ivan
17.10.2017
13:21:15
да, это читал

Maksim
17.10.2017
13:21:34
у тебя под то не rasc, а rasc-mc-3979153417-5sj00

Ivan
17.10.2017
13:22:09

Maksim
17.10.2017
13:22:23
Нет, имя пода не статичное
оно будет статично в statefull сете

Ivan
17.10.2017
13:22:47
не совсем))

Maksim
17.10.2017
13:22:53
а ещё есть Alies-)

Ivan
17.10.2017
13:23:16
имя пода, которое отображается в kubectl get all —all-namespaces
это одно имя
а я имею ввиду ДНС имя пода, которое можно задавать вручную в деплойменте :
spec:
containers:
- image: registry.company.ru/b2b/rasc
name: rasc
и вот по этому ДНС имени под должен резолвиться без всяких сервисов
по крайней мере раньше так было
а теперь видимо эту возможность убрали
не знаю, зачем. но я прихожу к выводу, что настроить, чтобы это сейчас у меня заработало нельзя

Maksim
17.10.2017
13:25:58
Это имя контейнера в ПОДЕ
ни какого отношения к имени пода это не имеет
Это не ДНС
Можно)

Ivan
17.10.2017
13:26:42
так... хорошо....
а как контейнерам внутри одного пода общаться между собой?

Google

Maksim
17.10.2017
13:27:02
https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/

Ivan
17.10.2017
13:27:02
я видимо неправильно выразился... терминология у меня пока хромает

Maksim
17.10.2017
13:27:18
внутри пода они общаются через 127.0.0.1
Если это контейнеры одного пода
пример kube-dns три контейнера один под

Ivan
17.10.2017
13:27:58

Maksim
17.10.2017
13:28:16
А как вы их в один под поместите тогда?
один упадёт с ошибкой
и под будет в стоятянии ErrCrashloop

Ivan
17.10.2017
13:28:48
точно? что то я не уверен
надо попробовать

SmilingPanda
17.10.2017
13:29:24

Ivan
17.10.2017
13:29:28
тогда видимо нет смысла поднимать два контейнера одним деплойментом

Maksim
17.10.2017
13:29:30
контейнеры создаваемые в одном поде создаётся в рамках одного и того же linux ns
Так контейнера или пода?

Ivan
17.10.2017
13:29:58
а разным деплойментам можно указывать такое статичное имя, по которым они будут резолвиться?

Maksim
17.10.2017
13:30:39
Деплоймент это вообще внутренняя сущность кубера, которая не существует на практике)
она лишь декларирует как создать реплика сет
а реплика сет следит, что бы нужно число подов с определёнными параметрами всегда работало

Ivan
17.10.2017
13:31:41
Так контейнера или пода?
эмм...
тогда вернёмся к конфигу)))
spec:
containers:
- image: registry.company.ru/b2b/rasc
name: rasc
это имя контейнера внутри пода , так?
а есть имя пода внутри деплоймента?
и может ли их (подов) быть несколько в одном деплойменте?

Google

Maksim
17.10.2017
13:31:49
имя под это deploy-rs-salt
Нет
Имя пода формируется как deploy-rs-salt
нет под один. А вот контейнеров в поде может быть много
(хотя там кажись вские init появились)
Читать это
https://kubernetes.io/docs/concepts/workloads/pods/pod/

Ivan
17.10.2017
13:34:04
т.е. один деплоймент = один под. а в поде несколько контейнеров, которые не могут пересекаться по портам... я правильно понял?

Maksim
17.10.2017
13:34:49
Да ибо сеть и storage у тих контейнеров один
https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#using-statefulsets
Это то же читать

Ivan
17.10.2017
13:36:18
получается, мне не подходит вариант с одним подом. т.е. я вынужден разворачивать свои контейнеры разными деплойментами.
а у подов в деплойментах нет статических имён и для общения между ними придётся каждому делать сервисы и общаться через них, так?

Maksim
17.10.2017
13:37:05
Если ты работаешь через деплои то так

Ivan
17.10.2017
13:37:20
ок

Maksim
17.10.2017
13:37:23
Есть StatefullSet где как раз имя пода статично

Ivan
17.10.2017
13:38:03
ну ок
получается ДНС у меня работает правильно
просто я хотел от него странного )))

Maksim
17.10.2017
13:43:59
Посмотри на StatefullSet, но имхо тебе оно не надо, оно надо для всяких зверинцев и кассандр

Алексей
17.10.2017
13:46:26