Anatoliy
не jenkins случайно пользуете?
Maksym
И его использовал с кубом
Anatoliy
что по его настройке для куба можно помотреть? интересует вариант из серии - запушил код - оно обновилось.
Anatoliy
ноя так понимаю там идет vcs, registry, jenkins, k8s?
bebebe
Maksym
У jenkins-а есть интеграция с кубом, но была она немного корявой.. По стеку все верно. Можно юзать гитлаб и его регистри. Можно ci гитлаба юзать, но он ограничен по сравнению с jenkins-ом.
Maksym
В принципе у куба хорошая документация.. Задеплоить куб kubespray поможет.
Anatoliy
эм... а вот как туда kubespray подключить я пока не понимаю. для развертывания - да, без проблем. а вот что бы именно деплоить... не понимаю...
Anatoliy
посмотрите в deis
если бы он не засирал место на дисках - с удовольствием, но судя по всему там что-то странное
Maksym
Kubespray - это плейбук на ансибле для разворота куба на bare metal или виртуалках
Anatoliy
впрочем статье год, может уже пофиксили, гляну подрбнее
Anatoliy
Anatoliy
но именно разворачивать и обновлять, т.е. просто добавить новую железку и быстро ввести её в строй. но не через него же деплоить приложения в сам куб?
bebebe
helm
Anatoliy
а вот с helm я даже gogs нормально развернуть не смог, что-то он там не заработал, какие то проблемы с репами были
bebebe
попробуйте еще раз
Maksym
Дык ansible+yaml+kubectl.. Я так делал еще на 1.6.. Обновление сейчас смотрю.
Anatoliy
попробуйте еще раз
root@node1:~/yamls_dir/gogs# helm install --dry-run --debug .
[debug] Created tunnel using local port: '34237'
[debug] SERVER: "localhost:34237"
[debug] Original chart version: ""
[debug] CHART PATH: /
Error: no Chart.yaml exists in directory "/"
root@node1:~/yamls_dir/gogs# ls -al
total 44
drwxr-xr-x 4 root root 4096 Nov 26 17:12 .
drwxr-xr-x 12 root root 4096 Nov 28 14:51 ..
drwxr-xr-x 3 root root 4096 Nov 26 16:56 charts
-rwxr-xr-x 1 root root 174 Jan 1 1970 Chart.yaml
-rwxr-xr-x 1 root root 333 Jan 1 1970 .helmignore
-rwxr-xr-x 1 root root 3179 Jan 1 1970 README.md
-rwxr-xr-x 1 root root 241 Jan 1 1970 requirements.lock
-rwxr-xr-x 1 root root 154 Jan 1 1970 requirements.yaml
drwxr-xr-x 2 root root 4096 Nov 26 17:12 templates
-rwxr-xr-x 1 root root 6845 Nov 26 17:12 values.yaml
root@node1:~/yamls_dir/gogs#
bebebe
можно взять ansible-container, он умеет шипать в k8s
но это отдельная тем
Anatoliy
как так вышло? Chart.yaml в той же директории
Anatoliy
почему / идет?
bebebe
Anatoliy
Но начиналось всё отсюда: https://github.com/kubernetes/charts/tree/master/incubator/gogs
Anatoliy
Хм... а щас вроде пошло... сранно всё
Anatoliy
а можно указать свой values и свой namespace который helm должен пользовать?
Anatoliy
вот я не понимаю как это выходит:
root@node1:~/yamls_dir/gogs# helm install —name gogs -f values.yaml incubator/gogs
Error: open values.yaml: no such file or directory
root@node1:~/yamls_dir/gogs# pwd
/root/yamls_dir/gogs
root@node1:~/yamls_dir/gogs# ls -al
total 44
drwxr-xr-x 4 root root 4096 Nov 26 17:12 .
drwxr-xr-x 12 root root 4096 Nov 28 14:51 ..
drwxr-xr-x 3 root root 4096 Nov 26 16:56 charts
-rwxr-xr-x 1 root root 174 Jan 1 1970 Chart.yaml
-rwxr-xr-x 1 root root 333 Jan 1 1970 .helmignore
-rwxr-xr-x 1 root root 3179 Jan 1 1970 README.md
-rwxr-xr-x 1 root root 241 Jan 1 1970 requirements.lock
-rwxr-xr-x 1 root root 154 Jan 1 1970 requirements.yaml
drwxr-xr-x 2 root root 4096 Nov 26 17:12 templates
-rwxr-xr-x 1 root root 6845 Nov 26 17:12 values.yaml
Anatoliy
вот вообще не понимаю, бред какой то
Sergei
Anatoliy
Sergei
Anatoliy
ок, а values почему не видит?
Anatoliy
И в том что скинули вы тоже показано что должно быть -f values.yaml, но - не работает
bebebe
Anatoliy
root@node1:~/yamls_dir/gogs# helm install --name gogs -f values.yaml --namespace gogs incubator/gogs
/usr/bin/docker: Error response from daemon: Conflict. The container name "/helm" is already in use by container 1d521ca218a34f78db8c56f4b310bc77f5d7e6225c33dd24385369d399f8657f. You have to remove (or rename) that container to be able to reuse that name..
See '/usr/bin/docker run --help'.
root@node1:~/yamls_dir/gogs# docker ps | grep helm
2a226cb55953 gcr.io/kubernetes-helm/tiller@sha256:1becf867016f6e7652908518729e140845107c5344afc237718e3ed3b6ca63c7 "/tiller" 4 days ago Up 4 days k8s_tiller_tiller-deploy-5458cb4cc-v2blp_kube-system_ad508e17-d0cc-11e7-8af3-e06995c29f83_1
теперь вообще весело
Anatoliy
В общем пошел я спать, завтра уже дальше буду разбираться. но helm с такими закидонами меня совершенно не привлекает, не видеть файл который расположен в дирекотории из которой его вызывают - это надо чем-то сильно отличаться
bebebe
я бы искал причину в другом месте
Anatoliy
голый кластер, все поставлено через kubespray, что не так - просто не понимаю. всё работает везде, а helm - нет
Maksim
ДЫк скажи docker inspect 1d521ca218a34f78db8c56f4b310bc77f5d7e6225c33dd24385369d399f8657f
Maksim
и узнай что за контейнер на который ругается докер
Anatoliy
да это я уже починил, просто удалил его
Anatoliy
я не могу сделать install указав свои values, он не находит файл
Anatoliy
что-то с этим не так все
Maksim
-f values
Maksim
не?
Anatoliy
не?
выше читай, не работает
Anatoliy
Andrey
да, helm какой-то поломаный в kubespray
Andrey
ого, последний кубеспрей с istio идет, кто-нибудь пользует ? есть скришоты по latency посмотреть ?
Anatoliy
что за istio?
Sergei
Serega
Коллеги, а кто как обрабатывает логи с ингресс контроллера?
Serega
хочу слать структурированные логи с нжинкс ингресса в еластик. (остальные логи не трогаем).
Мож кто подскажет более красивый способ, кроме допиливания сайдкар контейнера к ингрессу, с соотвествующими изменениями в ингрес контроллере (что как-то геморно)
Dmitry
у меня не было такой задачи, но мне нравится для логов юзать только fluent-bit
Dmitry
он может забирать логи из разных источников, делать форвард логов и сохранять логи в разные датасторы, плюс к этому занимается парсингом и фильтрацией логов
Serega
да я вот тоже не очень понимаю, для чего GCE fluentd по умолчанию пихают, когда есть fluentbit.
filebeat от еластик тоже не плох, хоть и не имеет парсеров, в отличие от fluentbit.
Serega
на flunetbit фильтра наверное надо детальнее глянуть, может при их помощи получится отфильтровать нжинкс. спасибо
Dmitry
я делал так, парсер делал json, а фильтре выбирал какие поля мне нужны чтоб он их форвардил дальше
Роман
Есть деплоймент с тремя репликами.
strategy:
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
Я накатываю новую версию и у меня постепенно обновятся три пода: сначала создадим один новый, затем удалим один старый и так до конца.
А можно как-то так сделать, чтобы у меня сначала создались все три пода, а потом разом удалились все три старых пода? "Три" - тут условно. Их может быть и больше.
Igor
выставить maxSurge = 3?
Maksim
Роман
Похоже, другого способа нет. Надо так попробовать. Спасибо)
Igor
Роман
Maksim
Только в этом случае у тебя старые не уирают
Volodymyr
Ребяты, а кто знает, как "размазать" поды по нодам, что бы была равномерная нагрузка по CPU? а то у меня одни ноду перегруженны, другие вообще без утилизации
Maksim
оно само это делает ориентируясь на request в resources
bebebe
Andrey
В мастере ? ))
Andrey
я все еще на spray 2.2.1 и k8s 1.7.5 - только сегодня передеплаивал, был в шоке что все еще все работает как и 2 месяца назад))
Anatoliy
bebebe
bebebe
что надо сделать что бы работал?
Вам будет достаточно взять ансибл роль из галакси для хелма и запустить ее на мастере
Перед этим выпилитт ваш нерабочий хелм
Роль работает нормально.
Anatoliy
а вариант обновить ансибл и потом запустить обновление хелма, сработает?
Anatoliy
тьфу, не ансибл, kubespray
bebebe
Не подскажу
bebebe
можно попробовать сделать через reset.yml который ресетнет кластер