Anonymous
сорри я по тдевятиански не очень
Да, я так и не придумал, как на этом чудо-девайсе т9 отрубить
Anonymous
мы тинькофф за энтерпрайз считаем?
А что ты хочешь считать за энтерпрайс ?
Denis
Народ поделитесь рецептом, как mongodb готовите в k8s, с простейшей конфигурацией replicaset ? Кроме Helm конечно
Й
А че с хельмом не так-то?
Andrey
Слишком много проблем с ним.
Andrey
Мы передали генерацию YAML'ов из шаблонов на аутсорс в Индию, где круглосуточная бригада сертифицированных специалистов оперативно правит каждый деплой.
Denis
Слишком много проблем с ним.
Плюсую. Полгода назад когда осваивал все это дело, послушал некоторых людей и в итоге весь CI построил на Helm и Gitlab интегрированый с k8s. В итоге сейчас плююсь от этого всего. хочу потихоньку слезать с него на простейший способ с kubectl
G72K
Господа, а не поделится ли кто файлами деплоя для netdata под кубер ?
Монтируйте папки хоста в с префиксом /host в контейнере
‌‌‎D
ребят, я создал три хелм чарта через helm create app1 app2 app3. задеплоил одну ветку в неймспейс созданный с названием ветки. теперь делаю чекаут на другую ветку и делаю снова деплой, он создает неймспейс но деплойментов и подов нет
‌‌‎D
ветка гита типа feature/ci-cd, feature/test-ci-cd эти две ветки как две разные неймспейсы
‌‌‎D
деплой типа helm upgrade —install —namespace ….
‌‌‎D
цель заключается в том, чтобы мы с командой могли создавать свои фича ветки, и сразу смогли посмотреть свои работы через кластер, это также удобно при code review, перед тем как сделать merge request ты смотришь и код и приложение
V
цель заключается в том, чтобы мы с командой могли создавать свои фича ветки, и сразу смогли посмотреть свои работы через кластер, это также удобно при code review, перед тем как сделать merge request ты смотришь и код и приложение
helm list сделай для начала. --debug --dry-run, у helm ведь. свое. пространство имён и в твоём случае может сделать лучше один helm chart м зависимости и при создании давать имя и таким образом будет работать. у тебя что-ли в каждой ветке свой chart?
V
цель заключается в том, чтобы мы с командой могли создавать свои фича ветки, и сразу смогли посмотреть свои работы через кластер, это также удобно при code review, перед тем как сделать merge request ты смотришь и код и приложение
helm list сделай для начала. --debug --dry-run, у helm ведь. свое. пространство имён и в твоём случае может сделать лучше один helm chart м зависимости и при создании давать имя и таким образом будет работать. у тебя что-ли в каждой ветке свой chart?
Andrey
всем привет, кто копался с kubespray подскажите. Пытаюсь через scale.yml добавить ноду к etcd на этапе create etcd cert dir падает с ошибкой fatal: [node3]: FAILED! => {"changed": false, "gid": 0, "group": "root", "mode": "0755", "msg": "chown failed: failed to look up user kube", "owner": "root", "path": "/etc/ssl/etcd/ssl", "secontext": "unconfined_u:object_r:cert_t:s0", "size": 6, "state": "directory", "uid": 0} скорее всего это из-за того что он не создал предварительно юзера kube. Но ошибки я такой не встретил выше. Вопрос можно ли через scale добавлять ноду в etcd?
Denis
А можно поподробнее? Мы запилили на дженкинсе + kubectl, в принципе все работает, но хочется плюшек и поэтому как раз смотрим на gitlab+helm.
Мне не устраивает его архитектура. Это по факту клиент-сервер. Сервер находится в k8s,рендерит темплейты и загоняет их в k8s. Переоодически ловлю всякие приколюхи непонятные при деплое.
Denis
А можно поподробнее? Мы запилили на дженкинсе + kubectl, в принципе все работает, но хочется плюшек и поэтому как раз смотрим на gitlab+helm.
Вообще все что нужно можно запилить через CI с kubectl. Просто Helm упрощает этот процесс и все
V
мне в helm не устраивает только что при удалении он не удаляет pv и pvc
Denis
мне в helm не устраивает только что при удалении он не удаляет pv и pvc
У меня кстать сносил, поэтому новый storageClass с политикой Retain
tod
каких плюшек хочется?
В первую очередь хочется чтобы CI проверял что все поднялось и откатывал если нет. Можно, наверное, и простым kubectl такое сделать, но это дюже сложно выглядит.
G72K
что ты имеешь ввиду под “не умереть “ ?
Описывал тут по тегу # helmговно
Alexander
вдогонку к #helmговно при апгрейде, если при этом появились новые штуки, например новый сервис. Но сам апгрейд завершился с ошибкой в другом месте. То этот новый сервис создастся. Правим косяк в другом месте, делаем еще раз апгрейд, и получаем ошибку вида "сервис такой-то не найден". Он есть, но helm его не видит. Фиксится ручным удалением этого сервиса. Багрепорт такой у них есть, и он вроде пофикшен еще в январе был. Но чет не срослось у меня.
Denis
Мммм, я пока глубоко не копал, но разве helm install --wait не про это?
Насколько понимаю Helm будет ожидать пока все ресурсы из твоих спецификаций поднимутся, и только после это обьявить об успешном деплое. Без этого префикса helm просто после запуска сразу закончит работу
tod
Насколько понимаю Helm будет ожидать пока все ресурсы из твоих спецификаций поднимутся, и только после это обьявить об успешном деплое. Без этого префикса helm просто после запуска сразу закончит работу
Собственно этого и хочется. Сейчас у меня дженкинс через kubectl выплюнул деплой в кубер и отрапортавал что все хорошо. А упало оно там потом или нет - кто его знает:)
Siarhei
Так а у меня кубект чекает статус роллаута, если ктото из взаимосвязанных упал(не взлетел) делаю ундо роллаут но это конечно еще тот костыль в дженкинсе
tod
Я примерно о таком-же костыле и думал, но вроде как в gitlab+helm это все "изкаробки", поэтому и смотрю туда.
Rainbow
У меня откат это запуск pipeline ci прошлой версии. Чем лучше undo в кубере?
Serega
Собственно этого и хочется. Сейчас у меня дженкинс через kubectl выплюнул деплой в кубер и отрапортавал что все хорошо. А упало оно там потом или нет - кто его знает:)
ну так добавить еще один шаг проверки, что все задеплоилось, не? kubectl describe deploy и смотреть чтобы было 0 unavailable. Как пример.
Serega
деплоим ансиблом, все устраивает.
Victor
helm upgrade --force иногда упрощает задачу
‌‌‎D
helm list сделай для начала. --debug --dry-run, у helm ведь. свое. пространство имён и в твоём случае может сделать лучше один helm chart м зависимости и при создании давать имя и таким образом будет работать. у тебя что-ли в каждой ветке свой chart?
у меня три папки сгенеренные командой helm create два приложения фронта, один бэка каждый этот чарт запускаю отдельно командой helm upgrade —install там же сразу указываю —namespace=feature/ci-cd вот этот feature/ci-cd передается в переменной окружения gitlab-runner $CI_COMMIT_REF_SLUG в helm list почему то он показывает namespace feature/ci-cd хотя я создал другую ветку, и он должен уже ее задеплоить через kubectl get namespaces неймспейс для новой ветки создан
bebebe
это просто coming out day какой-то по генерации и запихиванию древовидных структур в k8s
‌‌‎D
как правильно готовить kuber?
Ivan
Берёшь горсть машин, заправляешь соусом из kubeadm и ansible
Mikhail [azalio]
как правильно готовить kuber?
Просто готовить. Потом поймёшь как правильно
‌‌‎D
ну вот) я собственно это и делаю))
‌‌‎D
щас пытаюсь понять где я добавил не ту специю, или передержал на огне
Andrey
Берёшь горсть машин, заправляешь соусом из kubeadm и ansible
Или можно шкрябать по ним кубспреем
Mikhail [azalio]
Я ставлю кубеадм и сравниваю с ним свою инсталляцию :)
Ivan
Или можно шкрябать по ним кубспреем
Главное чтоб потом обои не отклеивались
Sergei
я смотрю тут любят kubeadm? у меня с ним одна непонятка. в сертификатах etcd и api-server'ов сложены айпишники всех мастер нод. если я потом хочу добавить еще одну мастер ноду или поменять одну на другую, то как? ведь kubeadm выписывает сертификаты только в команде kubeadm init, которую уже потом не запустить. с kubespray в этом плане нет проблем, он сам перевыписывает сертификаты.
Mikhail [azalio]
Я им пользуюсь только для сравнений :)
‌‌‎D
подождите разве kubeadm не идет по дефолту? я считал что ставишь ли ты kubespray или нет, kubeadm все равно есть?
Sergei
В kubespray есть режим с kubeadm, но он пока отключен по дефолту
‌‌‎D
короче, надо побольше закопаться в документацию и тд))
‌‌‎D
я уже 4 недели не кодил, чтобы поставить кластер)
Andrey
Подскажите: kubectl get node -o wide есть INTERNAL-IP и EXTERNAL-IP. На что они влияют? каким образом определяются? Часть нод с external ip <none>, часть с internal <none>. При этом на серверах лишь внешние ip
Andrey
логично. всё, дошло, у меня endpoint для ingress как раз те же ip, что в external-ip висят. спасибо :)
Alisher
Приветствую, коллеги. Я правильно понял, loadbalancer используется только если поддерживается провайдером? И в случае с локальным кластером, поднятом на своем железе, доступ к контейнерам возможен только через nodeport?
Stanislav
через ingress можно ещё
Stanislav
Только его надо поставить
Alisher
matallb
Не гуглится
Dmitry
А с м ингрес в этом плане отличается от сервиса? Так же нужен external IP или nodePort
Dmitry
Упс, metallb
Alisher
Упс, metallb
Спасибо
Dmitry
Если нет BGP, он просто может повесить IP на одну из нод (и перевесить в случае сбоя)
Alisher
А можно контейнер просто к бридж интерфейсу подрубить?
Dmitry
Скорее host network (хотя есть CNI делающие bridge)
Alisher
Буду копать
ᛃᛟᚺᚾ ᚠᚨcᛖᛚᛖᛊᛊ ᛞᛟᛖ
слушайте, а как вообще с дешбордами работать в к8с? у меня есть дефолтный, но он не показывает все объекты, пытаюсь понять как его обновить и чем не понимаю на что
ᛃᛟᚺᚾ ᚠᚨcᛖᛚᛖᛊᛊ ᛞᛟᛖ
ставил я его вот так kubectl apply -f https:// raw. githubusercontent .com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml
‌‌‎D
в дэшборде слева namespace select есть
ᛃᛟᚺᚾ ᚠᚨcᛖᛚᛖᛊᛊ ᛞᛟᛖ