Andrey
О чём-то крупном не слышал.
Vadim
помимо OCP где еще это будет?
пакеты вроде для всех крупных дистрибутивов есть
Vadim
podman в OCP только в новом инсталлере используется, остальное - статик поды на rio
Vadim
c 4.0
Kirill
а ок
Kirill
тогда боюсь в enterprise нескоро придет
Vladimir
Придёт в ent с четвёртой версией OCP
⁠Maxim
https://kubernetes.io/docs/reference/command-line-tools-reference/kube-apiserver/
Roman
Всем привет! Кто нибудь уже пользовался kong-ingress-controller ?
Stas
Andrey
В Nginx Ingress Controller тоже теперь lua во все поля.
Andrey
Не скрыться от него.
Andrey
#prometheus подскажите, а в этом prometheus-operator, там никак нельзя в ServiceMonitor указать сервис по имени, а не через label selector? Service discovery конечно хорошо, но блин..
Олег
подскажите, какое из хранилищ будет понадежнее и проще в обслуживании Hadoop или Ceph
Семён
GlusterFS ) А надёжнее Ceph. Про хадуп не скажу
Семён
а вообще - всё - как всегда - зависит от целей
A
всем привет. кто-нибудь юзает gluster с k8s? как ощущения? выходит же сложная система с гластером и Heketi?
Я юзаю, пока полёт нормальный, но и окружение пока экспериментальное. Но было несколько вещей при использовании: создавал пробный раздел и потом видимо его как-то не так удалил, а раздел в гластере не высвободился и хрен знает как его от туда удалить руками, ещё один момент, что нода кластера изменила имя и здесь тоже развалилось, пришлось пересоздаваться с нуля с зачисткой и полным развертыванием топологии заново
Alexander N.
Коллеги, не обновляйте calico до 3.3.2, релиз ломает работу dind.
Alexander N.
https://github.com/projectcalico/calico/issues/2334
Sergey
https://github.com/projectcalico/calico/issues/2334
а на 1.13 та же проблема?
Alexander N.
а на 1.13 та же проблема?
да, на 1.13 тоже ошибка
Anton
отлаживать пробовали, там в чем загвоздка? маскарадинг из бриджа в dind не работает?
Alexander N.
отлаживать пробовали, там в чем загвоздка? маскарадинг из бриджа в dind не работает?
Нет тестового кластера особенно играться, поэтому откатил до 3.1.4, проблема ушла
Alexander N.
Но поведение совсем дурное, к примеру фронты со своим npm стабильно собираются, проблем никаких, питоновские тесты с pip и pytest тоже работают, а вот сборка питоновского проекта наглухо виснет на этапе pip install ...
Anton
мне прост кажется что тут понять почему именно трафик не идет вполне в ваших силах
Alexander N.
мне прост кажется что тут понять почему именно трафик не идет вполне в ваших силах
как таковой проблемы с прохождением траффика не было замечено. К примеру сборка затыкалась на Collecting pipenv==2018.7.1 Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443). Но, если зайти в контейнер с раннером, и руками скачать этот пакет - все нормально. Хосты резолвятся, пакеты качаются
Andrei
The Deployment "app1-push-worker" is invalid: spec.selector: Invalid value: v1.LabelSelector{MatchLabels:map[string]string{"app":"app1-push-worker", "tier":"app1-push-worker"}, MatchExpressions:[]v1.LabelSelectorRequirement(nil)}: field is immutable я новичек подскажите что нет так? ниже часть описания apiVersion: apps/v1 kind: Deployment metadata: namespace: test name: app1-push-worker spec: selector: matchLabels: app: app1-push-worker tier: app1-push-worker template: metadata: labels: app: app1-push-worker tier: app1-push-worker spec:
Andrei
kubectl apply -f первый раз резвернул ок , сейчас ток добавил пару переменных в env
Anton
мне кажется написано все в отлупе из api
Anton
сделай kubectl get -o yaml deployment test сравни
Alexander N.
Очень похоже на неправильный MTU
да, тоже была мысль, думаю тестовый кластер собрать, да попробовать его пошатать в разные стороны
G72K
У меня 3.3.1 работает все ОК
G72K
Хотяяяя, я как до 3.3.1 обновил с тех пор dind поды не перезапускал :)
blkmrkt
фухх, обновился. Спасибо Ранчеру за апгрейд одной кнопкой
G72K
Вобщем, пока не уснул план такой, как посплю может пойму что хуйню сморозил: - на нодах для кублетов и kube-proxy сделать нормальный L7 балансер до аписервер - развешивать финалайзеры на всех endpoints, удалять их только когда нода выходит из NotReady или ее удаляют , это сохранит записи в ингресе. Сам ингресс хелсчекит поды и подвешенные записи не будут мешать, если под жив на самом деле - "зависшие" из-за финалайзера ендпоинты будут мешать общаться внутри кластера, надо L7 балансер внутри подов сайдкаром (но без istio, кажется были менее инвазивные штуковины на енвое)
Проблема вкратце: если все кублеты не могут говорить с аписервером то весь кластер накрывается жопой. Можете сами попробовать, остановите все кублеты :) контейнеры запущены, сеть работает, но куб контроллерам неймётся и они все разваливают из-за статуса NotReady ноды. Решение вкратце: publishNotReadyAddresses: true на всех-всех сервисах, тогда на ендпоинты останутся "здоровыми" и ни ingress контроллер ни kube-proxy их не выпилит. Побочные эффекты: по-настоящему "notReady" поды станут всем видны. Решение: хелсчеки ендпоинтов с клиентской стороны , это значит L3/L7 балансер сайдкаром во всех подах и скорее всего envoy на ingress
Anton
Ребята дилетантский вопрос про мониторинг (только осваиваю прометеус). Есть деплоймент, с ни же сервис. Есть ендпоинт до метрик куда ходит пром. Тут все ясно. Что делать прому когда подов больше одного? Метрики у каждого свои, значит он должен понимать количество подов? Или там иначе все?
Anton
аннотацию вещай не на сервис, а на поды
не понятно. аннотация в деплойменте?
Anton
не понятно. аннотация в деплойменте?
да, ведь из него в итоге нагенерятся поды. prom умеет дискаверить поды так же с аннотацией, как и сервисы
Anton
а, понял, спасибо
G72K
для какой ситуации ты рассматривает эту тему с лежащими kubelet?
Я в этой куб заварушке только из-за веры, что эта сложная штуковина может лечь , но с уже запущенными приложениями ничего не будет и куб можно поднимать из пепла без спешки.
Pavel
Всем привет. Подскажите, пожалуйста, где можно почитать о "бест-практис" разворачивания кубо-кластера? Сколько мастер-нод для скольких воркеров, какие тачки по конфигу лучше использовать и вот это вот всё.
Puma
Всем привет. Подскажите, пожалуйста, где можно почитать о "бест-практис" разворачивания кубо-кластера? Сколько мастер-нод для скольких воркеров, какие тачки по конфигу лучше использовать и вот это вот всё.
кубеспрей, три мастера вроде всегда ок , воркеры зависят от того сколько ты запускаешь всего в кубере, такчки тоже зависят от запускаемых приложений
yolkov
Я в этой куб заварушке только из-за веры, что эта сложная штуковина может лечь , но с уже запущенными приложениями ничего не будет и куб можно поднимать из пепла без спешки.
Ты можешь выкрутить таймауты определения ноды недоступной в небеса, только если реально нода упадет то поды мертвые придется как то выпиливать
yolkov
На ингресе это можно частично настроить проверкой живости апстримов. А вот внутрикластерное взаимодействие хрен знает как
yolkov
Либо демон сторонний который проверит что нода реально упала и через апи убьет все поды
Anonymous
а как мне открыть во вне mongodb replicaset ? https://github.com/helm/charts/tree/master/stable/mongodb-replicaset нашел целый тред: https://github.com/helm/charts/issues/1569
G72K
Ты можешь выкрутить таймауты определения ноды недоступной в небеса, только если реально нода упадет то поды мертвые придется как то выпиливать
Хочу что б кластер все равно старался самовылечиться , так что задирать нотреди таймауты не хочется
yolkov
Через envoy сайдкаром похоже
Раньше в нгинксе это можно было, сейчас с луа хрен знает
yolkov
Хочу что б кластер все равно старался самовылечиться , так что задирать нотреди таймауты не хочется
Он сделает то что у него настроено. Вариант увеличить таймауты и сторонний демон определения живости сервера мне кажется подходит
G72K
Сторонний демон это путь вникуда
Pavel
Говноnginx
А у nginx-ingress-controller есть параметр, сколько ждать если apiserver не доступен, прежде чем выпиливать endpoint-ы
Pavel
На сколько я помню
Pavel
Только я не уверен, что этот параметр работает)
G72K
А у nginx-ingress-controller есть параметр, сколько ждать если apiserver не доступен, прежде чем выпиливать endpoint-ы
У меня проблема была в том, что аписервер как раз был доступен :) а вот если недоступен я б ожидал что б он не дёргался и ничего не делал, nginx правда после таймаута просто самовыпиливается?
yolkov
Сделай авторизацию по статическим токенам и не парся про сертификаты
G72K
Дело не в залатывани протечек, никогда не знаешь, где сломается.
yolkov
это норм поведение что если кубелет не доступен то надо выводить ноду, у тебя была проблема с мониторингом, ты не заметил истечения сертов. Тут либо настроить мониторинг либо костылять
G72K
Надо строить корабль который впринципе живуч и сложнопотопляем. Просто вдумайтесь , какой то Go процесс на каждой ноде, который вообще никак не включен в цепочку событий по обработке запросов может выпилить весь кластер , если вдруг не сможет обновить поле статуса в одном [на самом деле никому не нужном] ямле
Pavel
У меня проблема была в том, что аписервер как раз был доступен :) а вот если недоступен я б ожидал что б он не дёргался и ничего не делал, nginx правда после таймаута просто самовыпиливается?
Да. Причём я натыкался на то, что выпиливался примерно сразу. Недоступен один из аписерверов -> ingress-controller ходит в него по внутреннему адресу (session affinity, да) -> ingress-controller обнуляет все endpoint-ы
yolkov
Мощно повысим секьюрити вдобавок, ага
тут выбор либо удобно и не париться либо более секьюрно, хотя это спорно
Vadim
Ложная дихотомия, конечно. Да и аписервер много от чего может сломаться, все случаи не предусмотришь - а соломки подстелить надо
G72K
это норм поведение что если кубелет не доступен то надо выводить ноду, у тебя была проблема с мониторингом, ты не заметил истечения сертов. Тут либо настроить мониторинг либо костылять
Конечно норм. Но статус ноды это только индикатор здоровья приложений. При возможности постучаться в приложение, зачем использовать какие то сторонние сигналы?
Etki
Умершие приложения != умершая нода
G72K
это норм поведение что если кубелет не доступен то надо выводить ноду, у тебя была проблема с мониторингом, ты не заметил истечения сертов. Тут либо настроить мониторинг либо костылять
Дело не в мониторинге или моих косяках. Я хочу устранить класс проблем и вернуться в состояние "куб может лежать, приложения будут работать"
yolkov
Умершие приложения != умершая нода
тут мы про наоборот говорим)