Petrukhin
А какой контроллер?
но еще одна закономерность, при удаление deploymenta из non-Canary,который принимает http все запросы получают 503
Dmytro
По крайней мере до 1.6 включительно так работало
𝚔𝚟𝚊𝚙𝚜
да ну? - я могу задеплоить StatefulSet - он создаст PVC, затем удалить StatefulSet - PVC останется жить, затем если я захочу задеплоить этот же StatefulSet он подхватит старый volume
Lucky SB
nginx
Надо в логи контроллерв смотреть. У меня бывало, что он писал будто не может найти подходящий ингресс для кенери.
Dmytro
Это если в тот же кластер
Dmytro
А заимпортировать pvc в новый и чтобы стейтфулсет из того же хелмчарта их подхватил - у меня не выходило
Petrukhin
а canary 1-6
Dmytro
Но может быть есть какая-то магия
𝚔𝚟𝚊𝚙𝚜
Возможно helm каждый раз генерит новые имена для StatefulSet'а / volume, потому и не подхватывал в моём случае - они вполне подхватываются, даже через helm (редерю чарт на стороне клиента)
Solyar
Друзья, никто не сталкивался с тем что в контейнере glusterfs не стартует glusterd.service ?
Dmytro
А что происходило?
новый PVC и PV генерировались
𝚔𝚟𝚊𝚙𝚜
новый PVC и PV генерировались
теоретически они бы не могли генериться, т.к. PersistentVolumeClaimTemplate всегда генерит PVC вида: %volumename%-%statefulsetname%-%replicaid%
Dmytro
а вот при переезде в другой надежда что бекап PVC и PV и рестор их в новый кластер - стейтфулсет их подхватит, так ен сработало
Lucky SB
а canary 1-6
Я с кенери игрался, у меня вме ингрессы в однос нс были.
Alexander
там все айпишники, бэкапится он норм, но как восстанавливать?
Балансер работает с Target Group AWS. Если Кубер "вспомнит" ее id и добавит туда хостов после восстановления, то все должно срастить.
Lucky SB
Попробй удалить игрес с кеенри и создать. И посмотреть что в логах сксжет про него
Dmytro
теоретически они бы не могли генериться, т.к. PersistentVolumeClaimTemplate всегда генерит PVC вида: %volumename%-%statefulsetname%-%replicaid%
я так навскидку не вспомню, это было 2 года назад но так и так пробовал - не заводилось, только через редактирование новых PV и подстановку туда старых EBS volume id
𝚔𝚟𝚊𝚙𝚜
я так навскидку не вспомню, это было 2 года назад но так и так пробовал - не заводилось, только через редактирование новых PV и подстановку туда старых EBS volume id
полагаю что у вас менялся releasename, или неймспейс, что угодно, но что-то по любому должно отличаться иначе statefulset просто не сможет создать PVC с таким же именем в том же неймспейсе и не подхватить старый
Petrukhin
Я с кенери игрался, у меня вме ингрессы в однос нс были.
как бы логика вроде работает, но проблемы при удаление деплоя старого релиза, и там ОГРОМЕННЫЙ helm, который создает namespace, секреты для приложения,
𝚔𝚟𝚊𝚙𝚜
менялось имя кластера, неймспейс и релиз были такие же
я просто не понимаю, каким образом он создаст новый PVC если уже есть такой-же с тем же именем
Petrukhin
ну я делаю replica=0
Petrukhin
блин, может именно в этом и проблема, при replica=0 он не трогает ingress-backend
Alexander
Если она описана в metadata или spec то вспомнит, если в status - то нет
Ну ручкам прописать нужный id как крайний вариант )
𝚔𝚟𝚊𝚙𝚜
Ну ручкам прописать нужный id как крайний вариант )
в status не пропишешь, в том то и дело
𝚔𝚟𝚊𝚙𝚜
вернее можно, но сложно, т.е. это не kubectl apply -f
Dmytro
но пытался с двумя коллегами на несколких кластерах - не выходило
Dmytro
может в 1.5-1.6 был баг какой-то
𝚔𝚟𝚊𝚙𝚜
ладно, что было то прошло)
krakazyabra
Всем привет! Подскажите, при использовании prometheus-operator через helm, можно добавлять сервисмониторы, не прописывая их в customs.yaml?
Mikhail [azalio]
Всем привет! Подскажите, при использовании prometheus-operator через helm, можно добавлять сервисмониторы, не прописывая их в customs.yaml?
Ну ведь сервис мониторы это просто объект, вы можете его создавать как угодно и через что угодно. Или вас интересует только через helm и шаблон оператора?
krakazyabra
Ну ведь сервис мониторы это просто объект, вы можете его создавать как угодно и через что угодно. Или вас интересует только через helm и шаблон оператора?
да, у меня сейчас опрератор через хельм работает, новые мониторы добавляю через описание их в разделе prometheus.additionalServiceMonitors. а как-то можно просто создать кастомный ServiceMonitor, чтобы он автоматом добавлялся?
krakazyabra
насколько я понял, при деплое не через хельм, именно по такому принципу и добавляются новые таргеты в пром
Mikhail [azalio]
А, не, у меня helm template, а сервис мониторы отдельно для проектов добавляются.
Mikhail [azalio]
через helm template?
Ну беру и делаю шаблоны, потом apply
krakazyabra
Ну беру и делаю шаблоны, потом apply
понял. а если кто-то из команды захочет добавить свою аппликуху к мониторингу, он сможет сам написать монитор и запплаить его, или же надо дергать оунера оператора?
Aleksey
https://youtu.be/yGKI5JoKMUY
муншоты живы ? офигеть.
𝚔𝚟𝚊𝚙𝚜
𝚔𝚟𝚊𝚙𝚜
https://youtu.be/hoqsUCw6bmM
Aleksey
В смысле?)
Интел как то в 2012 кажется приходил к нам и пиарил их. С 2012 года я ничего больше про них не слышал
Aleksey
https://youtu.be/hoqsUCw6bmM
Да я знаю что это просто пропали для меня из медийного поля
𝚔𝚟𝚊𝚙𝚜
просто видео красивое скинул
Vadim
https://youtu.be/hoqsUCw6bmM
Вебхостинг ASMR еще нужен
Paruyr
добрый вечер кто-нибудь использует трефик как daemonset с открытыми на хосте портами мимо кубера? есть проблемы с этим?
Aleksey
https://youtu.be/hoqsUCw6bmM
руки мыть дважды ? что делать если уронил в масло что то грязное ? менять ?
𝚔𝚟𝚊𝚙𝚜
руки мыть дважды ? что делать если уронил в масло что то грязное ? менять ?
Масло само по себе плохой расстворитель, собственно это основная причина почему не спирт/дистиллированная вода/что-то ещё
Aleksey
https://youtu.be/yGKI5JoKMUY
ну а в целом интересно спасибо. придётся ещё раз смотреть на линстор
Eduard
??
https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
Alexander
понял. а если кто-то из команды захочет добавить свою аппликуху к мониторингу, он сможет сам написать монитор и запплаить его, или же надо дергать оунера оператора?
Тебе надо понять общую концепцию операторов. Их не надо дергать. Они следят за кастомными ресурсами, которые создаются/изменяются любым образом.
G72K
Я наверное уже всех достал. Но я снова пишу о pod security policy. Вдруг кто-то тоже с этой проблемой боертся. Если вкратце: проблема в том, что после включения PodSecurityPolicy (который прописывается в параметрах kube-apiserver) под kube-apiserver не поднимается, точнее сам под поднимается и запускается успешно в докере, но как под kubernetes'а не регистрируется в системе и его не видно в выводе kubectl. Так вот, оказалось что оно работает только если привязывать к системной группе system:authenticated. А именно вместо сервисаккаунта нужно роль забиндить к группе: apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: psp-allow-all roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: psp-allow-all subjects: - kind: Group apiGroup: rbac.authorization.k8s.io name: system:authenticated Статический под kube-apiserver поднялся. Победа. Работает только с этой группой, с system:serviceaccounts тоже не работало. Резюмируя. Если хотим включить PodSecurutyPolicy, то для статических подов плоскости управления (которые запускаются из /etc/kubernetes/manifests) да и вообще для всех подов из неймспейса kube-system надо создавать политики PodSecurityPolicy (которые им разрашают делать то что они делают, например hostnetwork, hostPorts, priveleged и т.д.), создавать кластерную роль и биндить ее на уровне неймспейса kube-system на группу system:authenticated. И наверное правильно это делать еще до включения плагина PodSecurutyPolicy, иначе при перезапуске любого важного пода плоскости управления он может просто не подняться из-за политик. Вроде логично это, но я чет не сразу допер.
Не обязательно system:authenticated, можно в аудит логи посмотреть как кублет ходит в аписервер и дать только ему/его группе.
Alexander
Нельзя взять и поменять ноду для nginx ingress в выходной: Successfully assigned ingress/nginx-ingress-controller-6c495f6ff9-4grkn to ip-10-0-2-142.us-east-2.compute.internal Back-off pulling image "quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.25.0" Error: ImagePullBackOff Error: ErrImagePull Failed to pull image "quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.25.0": rpc error: code = Unknown desc = context canceled Successfully pulled image "quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.25.0" Created container Started container Liveness probe failed: HTTP probe failed with statuscode: 500
Vladylena
Подскажите в чем может быть проблема... AKS, Jenkins outside cluster. Пытаюсь ранить Jenkins jobs на jnlp-slave, для этого настроила Jenkins-Kubernetes plug-in. Под поднимается, но на jenkins статус pod-а offline. В логах pod-a - unknown client name. Как профиксить?
Slach
какой нибудь dns lookup не пашет ну и jenkins обновить https://issues.jenkins-ci.org/browse/JENKINS-48470
Max
Привет. В кубе подам можно как-то задать приоритет? Я имею ввиду не QoS класс / limits / requests, а именно приоритет, равно как если бы я сделал renice
Max
https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/ ?
имелось ввиду приоритезация для планировщика в ОС
Max
по процессору
Alex
типа nice?
Max
Alex
да-да
по-идее в рамках докера такое можно сделать через добавление CAP_SYS_NICE - тогда контейнер сможет сам выставлять niceness
Alex
https://unofficial-kubernetes.readthedocs.io/en/latest/concepts/policy/container-capabilities/
Alex
и дальше наверное просто в entrypoint можно указать nice
Alex
вроде звучит похоже на то, что глобально
Alex
https://docs.docker.com/engine/reference/run/#/runtime-privilege-and-linux-capabilities >When the operator executes docker run --privileged, Docker will enable access to all devices on the host as well as set some configuration in AppArmor or SELinux to allow the container nearly all the same access to the host as processes running outside containers on the host. Additional information about running with --privileged is available on the Docker Blog.
Maxim
Никто не знает как передать с ingress в laravel, чтобы laravel работал строил ссылки через ssl? if ($this->app->environment('production')) { $url->forceScheme('https'); } Не всегда выручает