Anonymous
сори за оффтоп :) а чтобы создать сервис который будет роутить на внешние айпишники мне надо сначала эндпоинт вручную создать, а потом лейблами сервис к нему приписать… или в самом сервисе есть такая спецификация, а?
OhPhaiw7
Service: spec.type=NodePort
Anonymous
не думаю что это поможет
Ivan
Всем привет! Помогите пожалуйста решить проблему с ДНС в кубернете. поднял кластер, поднял куб-днс. в апи-сервере прописан сервис-днс на айпишник 10.3.0.254 куб-днс цепляется на этот айпишник своим сервисом. во все поды тыкался kebrctl logs - нигде ошибок не видать. но если тыкнуться в днс каким нибудь nslookup-ом то он не резолвит никакие поды((
Anonymous
Service: spec.type=NodePort
я наверно имел ввиду что-то вроде этого: apiVersion: v1 kind: Endpoints metadata: name: mongodb-external subsets: - addresses: - ip: 10.240.0.12 - ip: 10.240.0.13 - ip: 10.240.0.14 ports: - name: mongo port: 27017 protocol: TCP --- apiVersion: v1 kind: Service metadata: name: mongodb-external spec: ports: - name: mongo protocol: TCP port: 27017
OhPhaiw7
👍
Dmitry
https://www.youtube.com/watch?v=5SCzN6JiKPA
Dmitry
Келси очень смешно смеется
Anonymous
и как это работает? ну тоесть смысл в том чтобы по имени сервиса обращаться и не прописывать в настройках ip адреса?
по сути сервис это виртуальная обертка над эндпоинтами, и при запросе его он возвращает один из них тут мы просто вручную эндпоинты создали (в обычном случае он по лейбелам отслеживает поды и динамически ендпоинты обновляет)
Anton
ага, ну профит то какой? менять эндпойнт вместо конфига приложения?
Anton
прост если приложение снаружи, можно ж было прописать просто его адреса
G72K
когда кластер соберется, произойдет LWW-мердж
завист от того, как клиент попросил записать. и как другой клиент читает :)
Etki
там нет понятия коммита
Etki
Просто запрос на запись рассылается N хостам. Если ответило меньше M, координатор вернет ошибку, но вот это вот меньше M свою запись получит
Anonymous
ага, ну профит то какой? менять эндпойнт вместо конфига приложения?
мой профит в том что приложение получает один хост внутри кубера модерируемый его силами, и балансировщик из коробки, а так везде разные юзкейсы
Etki
я был уверен, что мы все это время обсуждали внутрянку
Danil
Привет. Подскажите, может у кого осталась ссылка на дэшбоард, который может без авторизации?
Lex
какой способ деплоя k8s на aws сейчас считается лучшим?
Ivan
Привет. Подскажите, может у кого осталась ссылка на дэшбоард, который может без авторизации?
привет! я знаю только этот: https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/ насчёт авторизации не уверен, не поднимал ещё
Ivan
Всем привет! Помогите пожалуйста решить проблему с ДНС в кубернете. поднял кластер, поднял куб-днс. в апи-сервере прописан сервис-днс на айпишник 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 никто не знает, что надо подкрутить, чтобы резолвились поды из того же нэймспейса просто по хостнэйму или из соседнего - через имя(.)нэймспейс ?
Ivan
например, если у меня есть нэймспейс web и proxy. в web есть php и memcache а в proxy есть nginx - то теоретически из php должно резолвиться memcache и nginx.proxy
bebebe
@beatlejyse Иван, а вы упорны, как ваша экспертиза в k8s, подросла?
Ivan
bebebe , да фиг его знает... пока на костылях)))
Ivan
выяснилось? вроде написано тут все 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 но у меня это не работает((
Oleksandr
там ниже и про диагностику написано
Ivan
ага )) вот оно )) 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 ... оказывается оно больше не поддерживается. ладно, с этим разобрались)))
Ivan
Тогда такой вопрос ещё есть ))) 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
Ivan
т.е. он резолвится только по корявому имени, которое генерится каждый раз при деплое или апдейте
Ivan
а мне надо прописать что то статичное в соседнем контейнере, чтобы он мог обращаться к нему
Ivan
или я многого хочу? или стоит перечитать мануал?
Magistr
сервис заэкспозь чз лоадбалансер
Ivan
сервис заэкспозь чз лоадбалансер
а без этого никак? я вообще не собирался лодбалансер городить... я думал кластерным айпишником обойтись )))
Magistr
так там встроенный ж
Ivan
так там встроенный ж
кто встроенный? где встроенный? я туповат в этом ))) можно поподробнее)))
Magistr
в кубе же
Magistr
https://kubernetes.io/docs/concepts/services-networking/service/
Magistr
сюда читать
Ivan
ок... пошёл читать)))
Pavel
Здравия желаю, товарищи!
Pavel
Есть кластер машин, требуется переехать с докер-сворма на кубик Кто подскажет, с чего начать?
Oleksandr
с додкументирования и планирования
Oleksandr
ну и была такая поделка, сам не пробовал https://github.com/kubernetes/kompose
Pavel
ну и была такая поделка, сам не пробовал https://github.com/kubernetes/kompose
Не, переезд полный, сворма не будет совсем
Oleksandr
почитайте для начала про проект
Pavel
Подскажите хоть, как кубик устанавливается? Что куда ставить?
Dmitry
Попробуй на виртуалках его https://kubespray.io/
Dmitry
Ну или это https://dev-ops-notes.ru/%D1%83%D1%87%D0%B5%D0%B1%D0%BD%D0%B8%D0%BA-kubernetes/
Pavel
более конкретный вопрос с докер свормом для разворачивания кластера необходимо было установить везде докер, на мастере проинициализировать сворм и на остальных машинах к сворму подключится Просьба пояснить, что в терминах к8с отвечает за мастер, за воркер? Какие бинарники надо устанавливать на соответствующие машины?
Knyage
есть kubeadm , относительно легко поднимает кластер, но все равно разбираться придется 🙂
Mihail
Я кубеспреем поднимал
Dmitry
Кто идет? https://hug-spb.timepad.ru/event/591641/
Zon
А кто на DockerCon?:)
Zon
В рф?
Копенгаген:)
Dmitry
пфф
Sergey
Сергей, devops (но это не точно) в ураганном проекте по автоматизации складской логистики. Интересно все что настраивается и ремонтируется (даже если не сломалось). Из Уфы. #whois
Владимир
Кто нибудь знает как правильно балансировку сделать на bare-metal? ingress встал и nginx-ingress-controller в режиме NodePort подрубил порты 30000+, по ним на нодах все открывается. Но не могу найти как все это выкинуть на 80/443 что бы выше только DNS был. На GCE и AWS есть внешний LB а что делать если кластер на своих железках?
Владимир
имею ввиду что выше сразу ns сервера регистратора
Владимир
И я хочу что бы на всех нодах ingress-controller работал на 80/443
Владимир
есть параметр что бы сразу изменить рендж nodeport, но вроде как это не bestpractice, https://github.com/kubernetes/kubernetes/issues/11690 Но как тогда правильно делать в моей конфигурации? Отдельную железку на балансировку?
Logan
чем дальше я читаю, тем меньше понимаю, какого эффекта вы хотите добится, если честно
Владимир
Daemonset nginx-ingress нужно запустить с host network. Тогда он откроет на всех нодах 80 и 443 порты. На своём железе это похоже оптимальный вариант
Нашел у них фичареквест довольно свежий, где чел просит убрать проверку ренджа при ручной установке портов и довольно разумно это обосновывает. Так что изменил рендж, перезапустил kubelet, прописал нужные порты, а потом вернул рендж на место. Конфиг контроллера не слетел, после ребута тоже жив, видимо пока так оставлю - понаблюдаю. А с DaemonSet я видел какойто мануал но похоже под старую версию где еще репозиторий /ingress/ был и папка /examples/ в нем, которую сейчас убрали.
Anonymous
брат жив (пока)
Владимир
долго думал в мтоге забил и сделал за 15 мин через fly.io
Интересная штука но дороговато) у меня 2кк запросов за 5 дней исчерпаются))
Anonymous
мощно)
Anonymous