@kubernetes_ru

Страница 296 из 958
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
что ты сделал?
kubectl -n rasc delete rasc-3732246749-h813n

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
ах ты ж боже ты мой, какие пупсы
При этом внутри это настраивается через kubeadm, на базе LinuxKit

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

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
внутри пода они общаются через 127.0.0.1
да ладно!? а если у них порты совпадают?

Maksim
17.10.2017
13:28:16
А как вы их в один под поместите тогда?

один упадёт с ошибкой

и под будет в стоятянии ErrCrashloop

Ivan
17.10.2017
13:28:48
точно? что то я не уверен

надо попробовать

SmilingPanda
17.10.2017
13:29:24
100 серверов с одним приложением? 100 приложений? все сервера хочешь в один кластер загнать?
100 серверов с олним приложением но из разных веток гита, т.к. Разные команды будут каждая на своём заниматься и разные настройки у каждого сервака тож общие но у каждого в своей гит ветке

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, но имхо тебе оно не надо, оно надо для всяких зверинцев и кассандр

Страница 296 из 958