Anton
А так с net host у тебя процесс сразу открывает порт на самих нодах, а демонсет следит чтобы контроллер был везде
Ivan
я лью ноды по PXE (использую machbox) и описываю всё в cloud-config. на данный момент у меня поднимается (автоматом, за 9,5мин) etcd на каждой ноде (в виде компонента CoreOS), flannel, kubelet.
все мастер-компоненты поднимаются на одной из нод и пока прибиты к ней гвоздями.
вот сейчас бьюсь с ДНС (компонент kube-dns поднимается отдельно).
далее в планах настроить кластерный айпишник (один для всех нод), задеплоить мастер-компоненты кубернета в сам кластер, чтобы они переезжали по нодам и не были привязаны к какой то одной. тоже самое сделать с etcd.
и прицепить к кубернету внешнюю хранилкутипа CEPH что бы не хранить ничего на нодах локально ))
bebebe
кто же тебя нанял то
bebebe
на эту авантюру
Mihail
Владимир
Они перепилили репозитории, там раньше было 100500 примеров а теперь всего парочка для GCE/AWS и т д. Попробую через helm
Mihail
ага, теперь даже не упоминается что можно с daemonset
Mihail
с деплоем у меня была такая проблема, что данные я мог получать только оттуда где под с нжинксом запущен, а оно мне надо, гадать где он запущен? с демонсетом проще, иди на любую немастер ноду и все
Volodymyr
подскажите пожалуйста как равномерно "размазать" все поды определенного деплоймента по всем нодам?
Maksim
Volodymyr
DaemonSet
То-есть через Deployment Kind никак?
Maksim
можно поиграть с Affinity и replicas, но при добавлении/удалении ноды из кластера работаь не будет
Maksim
По сути DaemonSet и есть Deployment, который запускает ровно один экзепляр pod на каждой ноде кластера. (Или ноде удовлетворяющей опр NodeSelector)
Maksim
Минус только один, нету встроенного RollingUpdate механизма
Maksim
мм видимо в 1.8 полностью переделали на основе Deployment
Anton
The DaemonSet rolling update feature is only supported in Kubernetes version 1.6 or later.
Maksim
раньше оно был на rc
Zon
Кубер будет нативно сворм заменять
Maksim
ессено, учитывая что туда влили кучу бабла гугл и ред хат
Maksim
за одно с ibm и ещё парочкой компаний
Oleg
При локальной разработке использую docker-compose. Как локально разрабатывать с кубером?
Ivan
точно так же. просто потом образы едут в кубер
Oleg
Есть вариант развернуть реальный кубер удаленно, но дебажить свои сервисы локально?
Ivan
https://kubernetes.io/docs/concepts/services-networking/service/
так... читаю...
DNS
For example, if you have a Service called "my-service" in Kubernetes Namespace "my-ns" a DNS record for "my-service.my-ns" is created. Pods which exist in the "my-ns" Namespace should be able to find it by simply doing a name lookup for "my-service". Pods which exist in other Namespaces must qualify the name as "my-service.my-ns". The result of these name lookups is the cluster IP.
вот это у меня не работает.
сервисы по длинному имени (kubernetes.default.svc.cluster.local) резолвятся, а поды по вышеописанной схеме - нет((
как это починить?
Magistr
Maksim
Zon
Logan
Logan
щьто????
Zon
Вот что :)
Zon
Kubernetes становится все популярнее, и сегодня Docker Inc анонсировали поддержку использования Kubernetes в качестве оркестратора наряду с ранее используемым Swarm в Docker platform.
https://goo.gl/MrRFY2
Zon
И слайд выше я постил
Ivan
А должны? Я вот читаю и не вижу что должны
странно,.. может я этот текст неправильно понимаю?
я вот это имею ввиду:
например, если у вас есть служба «my-service» в пространстве имен kubernetes «my-ns», создается запись dns для «my-service.my-ns». pods, которые существуют в пространстве имен «my-ns», должны быть в состоянии найти его, просто выполнив поиск имени для «my-service». которые существуют в других пространствах имен, должны иметь название «my-service.my-ns». результатом этих поисков имен является кластер ip.
Oleg
пользовал кто https://kubernetes.io/docs/tasks/debug-application-cluster/local-debugging/ ?
Ivan
У тебя сервис по лейблам смотрит на поды, сервис имеет запись и адрес. Если тебе нужно ходить из подов другого приложения в этот сервис, то сервис будет резолвится по service_name.namespace. Посмотри внутри подов /etc/resolf.conf в разных ns.
Алексей
Ivan
Ivan
вот я хочу понять. это устаревшая тема или у меня что-то поломано
Алексей
Logan
Ivan
да, и так тоже не работает.
я вчера находил в документации, что это больше не поддерживается...
а тут написано, что должно работать. видимо документация не согласована
Magistr
Ivan
service_name.namespace.cluster.local
попробуй
вообще для второго пода, к которому не нужен доступ снаружи, а нужен только из соседнего пода логично было бы вообще не создавать привязки к сервису. в голом докере это работает - под резолвится по имени пода и всё ок.
в старой версии кубера это работало (которая поднималась два года назад). а сейчас, в 1.6.1 у меня какие то траблы.
Ivan
сдохнет у тебя под, ты пойдешь изменять конфиг подключения?
Ivan
Вот от судя и сервисы.
Алексей
Ivan
покажи как неработает
в деплойменте поднимается один под
spec:
hostname: nginx
containers:
- image: nginx:1.13.5-alpine
name: nginx
и точно так же второй (пхп)
из пода пхп не резолвится нгинкс
резолвится только по имени пода (типа "nginx-3238736888-t0g6b")
хотя я ему в конфиге явно указываю name: nginx - вот по этому имени он и должен резолвиться... наверное)))... по крайней мере два года назад так работало
Anton
так для этого сервис создать нужно
Magistr
Anton
Ivan
только вот мне кажется, тут можно обойтись без сервиса....
но если нет - то ок. я готорв создавать сервисы для всех подов...
только ведь и с сервисами та же херня
Алексей
А нафига тебе php и nginx в разных подах?
Засунь их в один под, и пусть по localhost общаются
Ivan
Ivan
Ivan
вообще микросервисная архитектура подразумевает более одного контейнера и они между собой должны как то общаться...
Алексей
да нафиг тут сервис не нужен. Тут нужно просто деплоймент сделать с одним подом и двумя контейнерами
Ivan
Ivan
по имени - болт
Ivan
по айпишнику или имени пода - они при редеплое меняются
Алексей
из пода к поду через сервис. Из контейнера пода к контейнеру того же пода по 127.0.0.1
Magistr
Ivan
root@rasc-3732246749-h813n:/# nslookup nginx-svc
Server: 10.3.0.254
Address: 10.3.0.254#53
** server can't find nginx-svc: SERVFAIL
Ivan
root@rasc-3732246749-h813n:/# nslookup nginx-svc.cluster.local
Server: 10.3.0.254
Address: 10.3.0.254#53
** server can't find nginx-svc.cluster.local: NXDOMAIN
Алексей
nginx-svc.NAMESPACE.cluster.local:
Ivan
root@rasc-3732246749-h813n:/# nslookup nginx-svc.nginx.cluster.local
Server: 10.3.0.254
Address: 10.3.0.254#53
** server can't find nginx-svc.nginx.cluster.local: NXDOMAIN
Ivan
root@rasc-3732246749-h813n:/# nslookup nginx-svc.nginx.svc.cluster.local
Server: 10.3.0.254
Address: 10.3.0.254#53
Name: nginx-svc.nginx.svc.cluster.local
Address: 10.3.222.29
Алексей
kubectl -n nginx get svc
Ivan
вот такой длинный вариант корявый работает. остальные - нет
Knyage
почему корявый?
Ivan
отлучусь на 30 мин )))
Knyage
так и формирует днс кубер внутри себя
Magistr
так а у тебя nginx и пых в разных неймспейсах ?
Knyage
*имясервиса*.*имяспейса*.svc\pod.domain.local