Andrey
kubectl get pod | grep nginx | grep ingress
kubectl logs $nginx-ingress-pod | grep $hostname
Pavel G
Pavel G
Pavel G
Можно получать от всех подлы сразу? Или надо по одному опрашивать?
Pavel G
Плюс для такого запроса нужен kubectl )
Andrey
подскажите способ(ы) подсоединять внешний сервер, находящийся в одной приватной сети с кластером, ко внутренним сервисам в cluster.local.
На данный момент мне предлагается:
а) пробросить маршрут через: ip route add 10.96.0.0/12 via <IP адрес ноды кластера>
б) добавить в /etc/resolv.conf: nameserver 10.96.0.10
Это работает, но мне не нравится такой костылизм.
Sergey
Andrey
надо работать с сервисами внутри кластера и общаться с сервисом через svc.namespace.cluster.local
Andrey
если вдаваться в детали, есть продукт-монолит, котрый по частям перевозят в кубер. В будущем всё это будет вариться внутри кубера и проблем не будет. В промежуточный период надо несмигрированной части продукта общаться со смигрированной, которая уже в кубере.
Etki
Andrey
сервис для чего?
Andrey
так, для dns нарыл решение через dnsmasq: https://blog.heptio.com/configuring-your-linux-host-to-resolve-a-local-kubernetes-clusters-service-urls-a8c7bdb212a7
для роутинга наверное такое простое решение не получится
Sergey
а то выглядит со стороны как будто вы хотите соединить из разных куб-кластеров в вебе и в локалке один и тот же сервис))
Andrey
есть два приложения, одно в кубе, другое нет. Мне их надо связать так, чтоб приложение, которое не в кубе, сразу обращалось по svc.namespace.cluster.local. Вроде же расписал выше.
Anonymous
Andrey
да, именно так
Andrey
просто это приложение потом будет в кубе, но девелоперы его уже сейчас пишут так, как будто оно там
Andrey
и оно рассчитывает на сервис дискавери и прямой доступ в сеть кубера
Andrey
а поскольку переходный период затягивается, нужно относительно надёжное решение, а не тупой маршрут через IP адрес одной ноды кластера
Anonymous
не представляю как они его пишут, по завету 12-факторов, оно должно с пол-пинка и там и там заводиться, лишь конфиг должен изменяться
Andrey
это древнее энтерпрайзнутое говно мамонта, там не всё так быстро
Andrey
самые простые вещи типа ui перевезли, а ядро ещё нет, и ещё не скоро
Anonymous
hi guys у вас можно запостить предложение о контракте👍 ?
Sergey
Sergey
Dimujin
С ceph замучался, не могу его поднять на centos7
Если есть проверенное решение, поделитесь ссылочкой.
Уже все варианты перепробовал...
Dimujin
Ceph поднимал на виртуалках.
Сейчас буду пробовать в докере запускать
Siarhei
Dimujin
закончилось както так
ceph-deploy purgedata c7gfs02 c7gfs03 c7vmw04 c7vmw05 c7vmw06
ceph-deploy forgetkeys
ceph-deploy purge c7gfs02 c7gfs03 c7vmw05 c7vmw06 c7vmw04
ceph-deploy purge $(hostname -s)
ceph-deploy purgedata $(hostname -s)
sudo rm -rf /etc/ceph/*
sudo rm -rf /var/lib/ceph/*/*
sudo rm -rf /var/log/ceph/*
sudo rm -rf /var/run/ceph/*
Sergey
ceph в докере
да вы оптимист
Dimujin
да? опять потерянное время?
ставил эту версию, не пошла
ceph-deploy install --release mimic
Gunslinger
всем привет, а по Helm тоже сюда можно вопросы задавать?
Sergey
Pavel G
Pavel G
Sergey
Pavel G
Andrey
Sergey
Minio конкурент ceph’a
а лол, рук для кубера
я себе для петпроджектов ищу сторэдж обьектный шобы под композ поставить
Lex
спс, посмотрю
Там правда больше про дев. Прод как правильно сказали через сервисы экспозить.
Pavel G
Lex
Pavel G
Lex
Бесшовный remote dev env на кубере для микросервисов, и не только.
Gunslinger
вопрос такой: пробую сварить коктейль из kafka в kubernetes (локально в minikube) через Helm согласно этой инструкции https://github.com/kubernetes/charts/tree/master/incubator/kafka
Версия без external access работает вполне успешно
Но как только меняю в values.yaml в разделе exposed на enabled: true и стартую (в новом неймспейсе этот chart) то начинается веселье. под с кафкой уходит в Init:CrashLoopBackOff
Понимаю что кейс довольно специфический, но вдруг кто-то сталкивался
Pavel G
Anton
Gunslinger
Pavel G
Valerii
Всем привет.
Вопрос про rollback deployment'ов: скажем у меня в deployment'е постоянно указан образ app:latest и для обновления сервиса мне нужно по сути просто спулить новый образ.
Если я хочу откатиться, то откуда кубер возьмёт предыдущий образ, если он точно такой же app:latest? Или принято прямо по версиям выкатывать?
Плюс в самом deployment'е стоит imagePullPolicy: Always. Насколько принято так делать и в чём минус Always тут в вышеописанном сценарии?
Спасибо.
Pavel G
Pavel G
Valerii
Pavel G
Valerii
Ещё вопрос по ingess'ам: есть ли возможность выставлять наружу сервис через clusterip, а не nodeport в стандартном ingress'е на GKE? Перехожу с Rancher/Cattle и там аналогичная возможность есть, т.е. микросервисы открывают только свои порты в их локальную 10.42.0.0/16 сеть и далее ingress Rancher'а выставляет их наружу, не открывая и не занимая никаких дополнительных портов на хосте/ноде. При этом на load balancer'е cloud provider'а (AWS) указаны только 80 и 443 порты.
Valerii
Вручную, пока так удобнее, но думаю над вариантами.
Адище какой. У меня пока сделано так: на dev окружение автоматом выкатывается образ dev:latest, который собирается из master ветки. Далее в нужный момент я отрезаю release/* ветку и из неё автоматом собирается release:latest, который автоматом выкатывается на staging. Далее есть ручной таск, который берёт образ release:latest, перетэгивает его на prod:latest и это вручную деплоится в prod. Таким образом prod защищён от автодеплоя release:latest :)
Pavel G
Pavel G
Похоже на адище)
Pavel G
Когда готовы апгрейд делать, открываю в гуе и ставлю новую версию и начинается ролаут, по инстанс
Anton
Anton
простая практика - оперется на систему контроля версий. на tag, на commit hash, что там удобнее
Salem
Pavel G
Stanislav
Stanislav
Но я сделал в кластере свой локальный балансер, и GCLB смотрит только на его нодепорт.
Stanislav
Там в GCP удобство в том, что ты через именованные порты связываешь это и куда оно там в очередной раз выставится - тебя не греет
Stanislav
Самое сложное было в выявлении и автоматизации таргетирования на нодепулы
Anton
Stanislav
А в чем небезопасность порта? В том, что голый сервис? Я вот нжинксом внутри кластера прикрыл и балансер на него приземлял. Это позволило избежать проблемы асинхронного лага между окончанием реконфигурации GCLB и реальным эффектом от изменений. Правлю только внутрикластерный балансер часто.
Valerii
Valerii
--confirm-upgrade, -c Confirm that the upgrade was success and delete old containers
Valerii
--rollback, -r Rollback to the previous deployed version
Stanislav
Реализация открытости нодепортов в GKE устроена следующим образом. Там сеть Calico, ставится iptables правило которое заруливает это на нужный под.
Stanislav
Связность порта и пода полностью автоматически на плечах кубера