@kubernetes_ru

Страница 294 из 958
Dmitry
16.10.2017
08:50:50
Келси очень смешно смеется

Andrey
16.10.2017
09:17:11
и как это работает? ну тоесть смысл в том чтобы по имени сервиса обращаться и не прописывать в настройках ip адреса?
по сути сервис это виртуальная обертка над эндпоинтами, и при запросе его он возвращает один из них тут мы просто вручную эндпоинты создали (в обычном случае он по лейбелам отслеживает поды и динамически ендпоинты обновляет)

Anton
16.10.2017
09:17:55
ага, ну профит то какой? менять эндпойнт вместо конфига приложения?

Google
Anton
16.10.2017
09:18:12
прост если приложение снаружи, можно ж было прописать просто его адреса

Let Eat
16.10.2017
09:28:21
когда кластер соберется, произойдет LWW-мердж
завист от того, как клиент попросил записать. и как другой клиент читает :)

Fike
16.10.2017
09:34:50
там нет понятия коммита

Просто запрос на запись рассылается N хостам. Если ответило меньше M, координатор вернет ошибку, но вот это вот меньше M свою запись получит

Andrey
16.10.2017
09:43:19
ага, ну профит то какой? менять эндпойнт вместо конфига приложения?
мой профит в том что приложение получает один хост внутри кубера модерируемый его силами, и балансировщик из коробки, а так везде разные юзкейсы

Danich
16.10.2017
13:27:13
Привет. Подскажите, может у кого осталась ссылка на дэшбоард, который может без авторизации?

Alex Milushev
16.10.2017
13:46:36
какой способ деплоя k8s на aws сейчас считается лучшим?

Ivan
16.10.2017
13:47:22
Привет. Подскажите, может у кого осталась ссылка на дэшбоард, который может без авторизации?
привет! я знаю только этот: https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/ насчёт авторизации не уверен, не поднимал ещё

Google
Ivan
16.10.2017
13:49:50
Всем привет! Помогите пожалуйста решить проблему с ДНС в кубернете. поднял кластер, поднял куб-днс. в апи-сервере прописан сервис-днс на айпишник 10.3.0.254 куб-днс цепляется на этот айпишник своим сервисом. во все поды тыкался kebrctl logs - нигде ошибок не видать. но если тыкнуться в днс каким нибудь nslookup-ом то он не резолвит никакие поды((
копаю ДНС (( выяснилось, что куб-днс резолвит имена типа kubernetes.default.svc.cluster.local root@rasc-3732246749-h813n:/# nslookup kubernetes.default.svc.cluster.local Server: 10.3.0.254 Address: 10.3.0.254#53 Non-authoritative answer: Name: kubernetes.default.svc.cluster.local Address: 10.3.0.1 никто не знает, что надо подкрутить, чтобы резолвились поды из того же нэймспейса просто по хостнэйму или из соседнего - через имя(.)нэймспейс ?

например, если у меня есть нэймспейс web и proxy. в web есть php и memcache а в proxy есть nginx - то теоретически из php должно резолвиться memcache и nginx.proxy

bebebe
16.10.2017
13:52:18
@beatlejyse Иван, а вы упорны, как ваша экспертиза в k8s, подросла?

Ivan
16.10.2017
13:52:55
bebebe , да фиг его знает... пока на костылях)))

Ivan
16.10.2017
14:04:58
выяснилось? вроде написано тут все https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/
да, читал... как раз тут тоже написано, что Every Service defined in the cluster (including the DNS server itself) is assigned a DNS name. By default, a client Pod’s DNS search list will include the Pod’s own namespace and the cluster’s default domain. This is best illustrated by example: Assume a Service named foo in the Kubernetes namespace bar. A Pod running in namespace bar can look up this service by simply doing a DNS query for foo. A Pod running in namespace quux can look up this service by doing a DNS query for foo.bar но у меня это не работает((

Alexander
16.10.2017
14:05:19
там ниже и про диагностику написано

Ivan
16.10.2017
14:11:15
ага )) вот оно )) Backwards compatibility Previous versions of kube-dns made names of the form my-svc.my-namespace.cluster.local (the ‘svc’ level was added later). This is no longer supported ... оказывается оно больше не поддерживается. ладно, с этим разобрались)))

Тогда такой вопрос ещё есть ))) kind: Deployment metadata: name: nginx namespace: proxy spec: replicas: 1 template: metadata: labels: app: nginx spec: containers: - image: nginx:1.13.5-alpine name: nginx когда я деплою под и даю ему имя (name: nginx), то можно сделать так, чтобы этот под как-то резолвился по этому имени? например nginx.proxy.pod.cluster.local потому как у меня он сейчас резолвится только по "nginx-3238736888-t0g6b..." где эта фигня берётся из kubectl get po

т.е. он резолвится только по корявому имени, которое генерится каждый раз при деплое или апдейте

а мне надо прописать что то статичное в соседнем контейнере, чтобы он мог обращаться к нему

или я многого хочу? или стоит перечитать мануал?

Magistr
16.10.2017
14:20:01
сервис заэкспозь чз лоадбалансер

Ivan
16.10.2017
14:21:07
сервис заэкспозь чз лоадбалансер
а без этого никак? я вообще не собирался лодбалансер городить... я думал кластерным айпишником обойтись )))

Magistr
16.10.2017
14:21:25
так там встроенный ж

Ivan
16.10.2017
14:21:56
так там встроенный ж
кто встроенный? где встроенный? я туповат в этом ))) можно поподробнее)))

Magistr
16.10.2017
14:22:06
в кубе же

https://kubernetes.io/docs/concepts/services-networking/service/

сюда читать

Ivan
16.10.2017
14:22:57
ок... пошёл читать)))

Google
Pavel
16.10.2017
15:12:27
Здравия желаю, товарищи!

Есть кластер машин, требуется переехать с докер-сворма на кубик Кто подскажет, с чего начать?

Alexander
16.10.2017
15:19:30
с додкументирования и планирования

ну и была такая поделка, сам не пробовал https://github.com/kubernetes/kompose

Pavel
16.10.2017
15:20:18
ну и была такая поделка, сам не пробовал https://github.com/kubernetes/kompose
Не, переезд полный, сворма не будет совсем

Alexander
16.10.2017
15:20:36
почитайте для начала про проект

Pavel
16.10.2017
15:20:41
Подскажите хоть, как кубик устанавливается? Что куда ставить?

LonFas
16.10.2017
15:21:41
Попробуй на виртуалках его https://kubespray.io/

Ну или это https://dev-ops-notes.ru/%D1%83%D1%87%D0%B5%D0%B1%D0%BD%D0%B8%D0%BA-kubernetes/

Pavel
16.10.2017
15:27:12
более конкретный вопрос с докер свормом для разворачивания кластера необходимо было установить везде докер, на мастере проинициализировать сворм и на остальных машинах к сворму подключится Просьба пояснить, что в терминах к8с отвечает за мастер, за воркер? Какие бинарники надо устанавливать на соответствующие машины?

Mikhail
16.10.2017
16:05:55
есть kubeadm , относительно легко поднимает кластер, но все равно разбираться придется ?

Mihail
16.10.2017
16:24:45
Я кубеспреем поднимал

Dmitry
16.10.2017
17:21:15
Кто идет? https://hug-spb.timepad.ru/event/591641/

Zon
16.10.2017
17:38:08
А кто на DockerCon?:)

Dmitry
16.10.2017
17:43:14
Zon
16.10.2017
17:44:19
В рф?
Копенгаген:)

Google
Dmitry
16.10.2017
17:44:23
пфф

Paul
16.10.2017
21:39:21
чем дальше я читаю, тем меньше понимаю, какого эффекта вы хотите добится, если честно

Anton
17.10.2017
03:44:18
Daemonset nginx-ingress нужно запустить с host network. Тогда он откроет на всех нодах 80 и 443 порты. На своём железе это похоже оптимальный вариант

Владимир Калинин
17.10.2017
04:50:43
Daemonset nginx-ingress нужно запустить с host network. Тогда он откроет на всех нодах 80 и 443 порты. На своём железе это похоже оптимальный вариант
Нашел у них фичареквест довольно свежий, где чел просит убрать проверку ренджа при ручной установке портов и довольно разумно это обосновывает. Так что изменил рендж, перезапустил kubelet, прописал нужные порты, а потом вернул рендж на место. Конфиг контроллера не слетел, после ребута тоже жив, видимо пока так оставлю - понаблюдаю. А с DaemonSet я видел какойто мануал но похоже под старую версию где еще репозиторий /ingress/ был и папка /examples/ в нем, которую сейчас убрали.

Alisa
17.10.2017
05:50:12
долго думал в мтоге забил и сделал за 15 мин через fly.io

брат жив (пока)

Владимир Калинин
17.10.2017
05:54:16
долго думал в мтоге забил и сделал за 15 мин через fly.io
Интересная штука но дороговато) у меня 2кк запросов за 5 дней исчерпаются))

Alisa
17.10.2017
05:55:00
мощно)

Владимир Калинин
17.10.2017
06:32:59
А так с net host у тебя процесс сразу открывает порт на самих нодах, а демонсет следит чтобы контроллер был везде
И правда, а я чтото пропустил hostNetwork там (https://kubeapps.com/charts/stable/nginx-ingress) , думал что они совсем его убрали в пользу сторонних балансировщиков.

Ivan
17.10.2017
07:08:05
более конкретный вопрос с докер свормом для разворачивания кластера необходимо было установить везде докер, на мастере проинициализировать сворм и на остальных машинах к сворму подключится Просьба пояснить, что в терминах к8с отвечает за мастер, за воркер? Какие бинарники надо устанавливать на соответствующие машины?
все ноды могут быть одинаковыми. мастер-компоненты могут быть как вне этих нод, так и крутиться на них же средствами кубернета и переезжать с ноды на ноду при их падении. на нодах должно быть - kubelet (основной исполнитель) и kube-proxy (для заворачивания трафика между нодами). ну и докер конечно же. к мастер-компонентам относятся api-server, kube-controller-manager и sheduler. также нужен кластер БД (etcd) (может крутиться на нодах, а может стоять отдельно) и что-то, что будет управлять сеткой - flannel или calico. я для нод использую CoreOS - там почти всё уже есть (докер, фланнел). а вообще я сам ещё разбираюсь, так что если кто может уточнить/дополнить - вэлкам!

я лью ноды по PXE (использую machbox) и описываю всё в cloud-config. на данный момент у меня поднимается (автоматом, за 9,5мин) etcd на каждой ноде (в виде компонента CoreOS), flannel, kubelet. все мастер-компоненты поднимаются на одной из нод и пока прибиты к ней гвоздями. вот сейчас бьюсь с ДНС (компонент kube-dns поднимается отдельно). далее в планах настроить кластерный айпишник (один для всех нод), задеплоить мастер-компоненты кубернета в сам кластер, чтобы они переезжали по нодам и не были привязаны к какой то одной. тоже самое сделать с etcd. и прицепить к кубернету внешнюю хранилкутипа CEPH что бы не хранить ничего на нодах локально ))

bebebe
17.10.2017
07:39:43
кто же тебя нанял то

на эту авантюру

Mihail
17.10.2017
07:40:09
я делал daemonset с hostnetwork, но хоть убей, не могу найти откуда я взял пример

Владимир Калинин
17.10.2017
07:41:45
Они перепилили репозитории, там раньше было 100500 примеров а теперь всего парочка для GCE/AWS и т д. Попробую через helm

Mihail
17.10.2017
07:42:05
ага, теперь даже не упоминается что можно с daemonset

с деплоем у меня была такая проблема, что данные я мог получать только оттуда где под с нжинксом запущен, а оно мне надо, гадать где он запущен? с демонсетом проще, иди на любую немастер ноду и все

Google
vladget
17.10.2017
07:49:06
подскажите пожалуйста как равномерно "размазать" все поды определенного деплоймента по всем нодам?

vladget
17.10.2017
07:51:29
DaemonSet
То-есть через Deployment Kind никак?

Maksim
17.10.2017
07:52:06
можно поиграть с Affinity и replicas, но при добавлении/удалении ноды из кластера работаь не будет

По сути DaemonSet и есть Deployment, который запускает ровно один экзепляр pod на каждой ноде кластера. (Или ноде удовлетворяющей опр NodeSelector)

Минус только один, нету встроенного RollingUpdate механизма

Anton
17.10.2017
07:53:24
вдруг ему взбредает в голову kubelet[28382]: W1012 17:36:48.046037 28382 eviction_manager.go:331] eviction manager: attempting to reclaim nodefs kubelet[28382]: I1012 17:36:48.046053 28382 eviction_manager.go:345] eviction manager: must evict pod(s) to reclaim nodefs и начинает выгонять поды (все) kubelet[28382]: I1012 17:36:48.046263 28382 eviction_manager.go:363] eviction manager: pods ranked for eviction:
экспериментировал и даже шкейлил по 80 реплик в деплойменте, думая что у меня баг, типа этого: https://github.com/kubernetes/kubernetes/issues/52336 в 1.7 и 1.8 есть похоже проблема у cadvisor с подсчетом пространства при использовании overlay2. но в итоге оказалось что kubelet генерит /var/lib/kubelet/pods и хранит там вольюмы типа emptyDir, чего я не ожидал, раздел под /var оказался маловат. я то думал оно все по докеровскому graph path будет. контролировать расположение emptyDir можно? и какой сторейдж драйвер юзать, если не overlay2, учитывая тот issue, который пока что не исправлен в cadvisor

Минус только один, нету встроенного RollingUpdate механизма
чет устарела инфа: https://kubernetes.io/docs/tasks/manage-daemon/update-daemon-set/

Ivan
17.10.2017
07:55:46
на эту авантюру
а в чём проблема? )))

Maksim
17.10.2017
07:56:04
мм видимо в 1.8 полностью переделали на основе Deployment

Anton
17.10.2017
07:56:28
The DaemonSet rolling update feature is only supported in Kubernetes version 1.6 or later.

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