M
Кто настраивал доступ для пользователей к дашу с правами только на определенные неймспейсы?
M
Как это сделать проще? Не заставлять же юзеров каждый раз копировать трехстрочный токен или загружать kubeconfig
Max
Коллеги, где обычно принято держать helm чарты? Вместе с приложением или в отдельной репе?
Хз как принято, но мы пришли к тому что хелмы инфраструктурных сервисов в одной репе. Хелмы приложений в своих репах приложений.
sherzod
Ребят, подскажите. Фигня какая-то с gcloud-ом. Не получается смапить никак поддомен на отдельный сервис. Все время редиректит на default-backend. Можно ли где нибудь посмотреть лог событий матчинга?
sherzod
в логах пода ингресса
о, интересно.. спасибо а как на него выйти? в get pods только мои не служебные поды в describe ingress вроде на под нет ссылок
Andrey
он скорее всего в служебном неймспейсе, kube-system например
sherzod
там его тоже не вижу.. мне кажется в glcoud используется какой-то внешний по отношению к куберу балансер
Serega
ясно дело что внешний, но обычно с внешнего балансера направляют трафик на ингресс контролер, а в нем уже можно любой мапинг сделать.
sherzod
ну вот ingress у меня есть kubectl get ingress даёт мне список я делаю describe нужного ingress там никаких ссылок на pod нет. так и должно быть?
sherzod
когда ставил minkube там действительно был контейнер с nginx-ом, а здесь что-то его не вижу, ни в каких неймспейсах
Serega
смотрите другие сущености, не только ингрес. ing,svc,ds,deploy,po
sherzod
смотрите другие сущености, не только ингрес. ing,svc,ds,deploy,po
вижу dns-* поды, видимо это и есть сам игресс, то есть набор правил. попробую посмотреть там логи
sherzod
какой ингрес вы используете?
не понял вопрос.. вот я пытаюсь понять что он из себя представляет) kubectl get ingress my-ingress apiVersion: extensions/v1beta1 kind: Ingress metadata: spec: rules:
sherzod
я использую google-cloud. У него там какие-то свои сущности поверх kubernetes что меня, как новичка запутывает))
Vladimir
гугловый ингресс контоллер не доступен напрямую
sherzod
Если попытаться сузить задачку, в веб-интерфейсе есть пункт сетевые сервисы, там есть балансировщик нагрузки, у него какой-то гугловый ИД. Мне нужно получить доступ к логам вот этого балансировщика нагрузки
Vladimir
вроде в describe ingress-а он должен вывести привязался он к loadbalancer-у или нет
Alik
не понял вопрос.. вот я пытаюсь понять что он из себя представляет) kubectl get ingress my-ingress apiVersion: extensions/v1beta1 kind: Ingress metadata: spec: rules:
в gcloud по умолчанию используется gce-ingress, он сейчас в стадии бета. я тоже пробовал начать с него, и получил кучу проблем. в том числе похожую на вашу. все они решились переходом на nginx-ingress
sherzod
понял, спасибо, ребят, да вообще в планах есть поставить его
Serega
с чего это вдруг по умолчанию? по умолчанию там никакого ингреса нет
AB 🇨🇾 🍉
ГАйз, контейнеры в сети общаются по айпишникам вида 192.168.217.1 а dns резолвит имена на 10.100.1.1 Как пофиксить?
Serega
ингресса нет, а ингресс контроллер есть
не знаю что вы вкладывает в этот термин, но ничего связаного с ингресом в GKE кластере по умолчанию нет. Далее сам что надо то и деплоишь. Возможно, на этапе создания кластера можно кастомно что-то задать, не вдавался в детали.
sherzod
возможно имеют в виду его тип (контроллера) потому что при создании балансировщика нагрузки через интерфейс он выбирать ничего не предлагает
Igor
ингресс контроллер в GKE создается по умолчанию. как раз при создании кластера его можно отключать, если есть желание юзать свой
sherzod
а как его логи посмотреть кто-нить знает?))
Mikhail [azalio]
ГАйз, контейнеры в сети общаются по айпишникам вида 192.168.217.1 а dns резолвит имена на 10.100.1.1 Как пофиксить?
Тут нечего фиксить. На хост машине через нат днс пробрасывается на нужный ip
Vladimir
а как его логи посмотреть кто-нить знает?))
судя по всему никак, или смотри describe ingress неработающих правил или смотри статус в «Discovery & load balancing» gke
Anonymous
Packt раздает бесплатно сутки Kubernetes Cookbook. https://www.packtpub.com/packt/offers/free-learning Не знаю насколько хорошая не читал, но мож кому полезной будет
Vadim
Всем привет. Не сильно разбираюсь в k8s, поставил deis (на своих железных серверах с 1 внешним ip на каждом сервере), когда деплою веб приложение не могу к нему достучаться по 80 порту. deis сам деплоит router я так понимаю там nginx который внутрь должен проксировать запросы. Меня смущает - external-ip - pending: Так и должно быть ? kubectl get svc --namespace=deis | grep LoadBalancer NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE deis-router LoadBalancer 10.110.160.169 <pending> 80:30219/TCP,443:32497/TCP,2222:32246/TCP,9090:30516/TCP 2d При этом по порту 30219 сайт открывается. Куда посмотреть ?
Vladimir
посмотреть провайдит ли deis LoadBalancer для bare metall инсталляции kubernetes или нет
Vadim
смотрю тут https://github.com/deis/router#front-facing-load-balancer Front-facing load balancer Depending on what distribution of Kubernetes you use and where you host it, installation of the router may automatically include an external (to Kubernetes) load balancer or similar mechanism for routing inbound traffic from beyond the cluster into the cluster to the router(s). For example, kube-aws and Google Container Engine both do this. On some other platforms-- Vagrant or bare metal, for instance-- this must either be accomplished manually or does not apply at all. Получается мне надо поставить что-то типа ingress-nginx перед этим роутером ? Или как лучше ?
Vladimir
или ingress-controller или поставить балансировщик например nginx, который будет апстримить nodeport-ы или еще как-нибудь
Vadim
спасибо, сейчас почитаю
Vladimir
вообще было бы интересно услышать отзывы корифеев 🙂 , кто как предпочитает заворачивать трафик в k8s bare metall на продакшене
AB 🇨🇾 🍉
Тут нечего фиксить. На хост машине через нат днс пробрасывается на нужный ip
не совсем понял, как это сделать И это не плохо, что для куба нужно какие-то изменения на хосте делать?
Vladimir
ГАйз, контейнеры в сети общаются по айпишникам вида 192.168.217.1 а dns резолвит имена на 10.100.1.1 Как пофиксить?
у нод свои собственные адреса у подов свои собственные подсети у сервисов своя собственная виртуальная сеть непонятно, что ты хочешь пофиксить?
AB 🇨🇾 🍉
мне нужно чтобы пода каким-то образом видела подсеть сервисов Те пода front-fwe324r234-wrqe могла ходить на сервис app, а не только на поды типа app-fesfwe-fewr
Vladimir
насколько я знаю, если не применены сетевые политики, то внутри кластера все доступно друг другу
Vladimir
ну это конечно зависит от способа инсталяции
AB 🇨🇾 🍉
в Calico по умолчанию почему-то не ходит
Vladimir
с Calico не работал )))
AB 🇨🇾 🍉
:) flannel у меня периодический падал6 как и wavenet.. пришлось тестить calico
AB 🇨🇾 🍉
А задача посылать реквесты с nginx через upstram на сервис типа app:3000 Как это делать через сеть подов-хз, а у сервисов есть нормальные dns имена
AB 🇨🇾 🍉
:) это да
AB 🇨🇾 🍉
а зачем нужен ingress если можно просто LoadBalancer и nodePort
Konstantin
Alexey B https://carlosbecker.com/posts/k8s-sandbox-costs/ возможно поэтому
Konstantin
у меня глупый вопрос: есть kops, helm, вот это всё. я развернул кластер в амазоне, есть сервис с LoadBalancer. А как домен повесить на этот адрес? Ну чтобы не руками в route53, а автоматизированно
AB 🇨🇾 🍉
Alexey B https://carlosbecker.com/posts/k8s-sandbox-costs/ возможно поэтому
так они там используют AWS Elastic LoadBalancers costs almost $20/mo А можно встроенный лоадбалансер юзать. И там невероне специфика AWS по прайсу за используемое cpu
AB 🇨🇾 🍉
в итоге прочитал несколько статей и по цене (усилия и ресурсы) и ingress + Nginx Ingress Controller и LoadBalancer + nginx service по-моему примерно одинаковы
Serega
у меня глупый вопрос: есть kops, helm, вот это всё. я развернул кластер в амазоне, есть сервис с LoadBalancer. А как домен повесить на этот адрес? Ну чтобы не руками в route53, а автоматизированно
https://github.com/kubernetes/kops/tree/master/addons/route53-mapper только как по мне это оверинженеринг. Если вы не создаете и удаляете 100500 доменов на день
CrusaderX
Есть днс-контроллеры
sherzod
грёбаный google-cloud там тупо надо было порт куберсервиса прописать в файрволе
sherzod
и логи я нашёл, но они так и говорят обращение на такой-то поддомен, перенаправляю на дефолтный бекенд))) ппц нахрен такой лог нужен
sherzod
для логов gcloud logging команда есть оказывается просто жесть какая-то
Max
Видел тут когото из Зелика. Коллеги, присоединяйтесь https://www.meetup.com/ru-RU/Zelenograd-Dev-Meetup/events/246962387/
Max
Организаторы просили обязательно зарегаться на ивенте, если собираетесь
Vitalii
Ребят, в офф доке пишут > For etcd, kube-apiserver, kube-controller-manager, and kube-scheduler, we recommend that you run these as containers, so you need an image to be built. и при этом предлагают мне скачать докер образ hyperkube. Хотя я скачал архив с серверными бинарниками в котором есть каждый бинарник из списка выше + hyperkube. Так как лучше запускать эти службы: через hyperkube или для каждого скачать свой докер образ или вообще голыми бинарниками запускать?
Igor
в подах ранить все компоненты кубера очень удобно имхо. кроме кублета, конечно
Igor
главное - заюзать все новые фичи кубера, позволяющие приоретизировать системные поды
Vitalii
в подах ранить все компоненты кубера очень удобно имхо. кроме кублета, конечно
это как описано тут https://kubernetes.io/docs/getting-started-guides/scratch/#bootstrapping-the-cluster ?
Vitalii
Типа kubelet, kube-proxy, docker запускаются как дсистемные демоны, а все остальное - создать файлики подов и скорить kubelet ?
Vitalii
В какой папке рекомендуется хранить манифесты для kubelet?
Igor
прокся тоже в поде
Vitalii
но они рекомендуют запускать ее вне контейнера… почему?
Igor
проще посмотреть на уже существующие средства для автоматического деплоя и в итоге заюзать их, если ,конечно, цель - не страдать)
Igor
они - кто?
Vitalii
цель как раз пострадать и запустить кубернетис руками по пунктикам))