@kubernetes_ru

Страница 706 из 958
Andrey
25.07.2018
13:48:54
rollback roll back a release to a previous revision
эмм. при чём здесь roolback? разверните вашу мысль

Anton
25.07.2018
13:49:28
history смотришь и откатываешь к релизу

Алексей
25.07.2018
13:49:37
эмм. при чём здесь roolback? разверните вашу мысль
Что такое в вашем понимании "остановить"? Я не вижу таких опций

Andrey
25.07.2018
13:49:58
вот и я не вижу, поэтому и спрашиваю

Google
Anton
25.07.2018
13:50:19
потому что действия делает к8с, а не хелм

Алексей
25.07.2018
13:50:20
вот и я не вижу, поэтому и спрашиваю
это не суслик, откуда это понятие взялось у вас?

Anton
25.07.2018
13:50:29
хелм сделал патч, дальше к8с работает

Andrey
25.07.2018
13:51:46
остановить - это просто. удалить ресурсы связанные с релизом, из кубера

я пробовал helm delete, но после него нельзя делать helm upgrade

Anton
25.07.2018
13:52:55
helm delete --help helm delete --purge

Andrey
25.07.2018
13:53:46
хм. может помочь, спасибо

Sergei
25.07.2018
13:53:55
из удалённого (но не пурженного) релиза можно получить json с values

Anton
25.07.2018
13:53:59
вообще purge это крайние случаи. удалять не нужно. ведь даже failed первый релиз можно обновить с helm upgrade --install --force

Sergei
25.07.2018
13:54:03
и развернуть с ним новый релиз ?

Evgeny
25.07.2018
13:54:24
Да, заменил kubedns на coredns (по памяти)
А в каком окружении работали не скажете? Версия кубера, докера, оси?

Google
Andrey
25.07.2018
13:55:21
helm upgrade --install
не. UPGRADE FAILED: has no deployed releases

Evgeny
25.07.2018
13:55:59
в смысле не помогало? kubedns выжирал весь проц на ноде или что происходило?
Ресурсы на ноде kube-dns особо не потребляет, более того, на Ubuntu 16 я такой проблемы не наблюдал, на Ubuntu 18 начала стрелять, нода та же самая.

Алексей
25.07.2018
13:56:29
не. UPGRADE FAILED: has no deployed releases
helm ls -a посмотри релиз в каком статусе

Andrey
25.07.2018
13:56:39
deleted, конечно же

вроде —install —force сработал

мне просто надо, чтоб upgrade из удалённого релиза values взял

Михаил
25.07.2018
13:58:39
вероятно там будет ответ или он был во время доклада с анонсом
Вопрос то очень актуальный. Интересно почему не вынесли сразу его.

Andrey
25.07.2018
14:00:59
мда, похоже, не берёт

Sergei
25.07.2018
14:03:40
так а 'helm get values <release_name>' не подходит?

Andrey
25.07.2018
14:05:22
да подходит, просто тогда надо будет эти values сохранять куда-то перед переустановкой

задача вроде простая, а инструментов нет

надо остановить релиз, и поднять новую версию с одной изменённой переменной

а остальные при этом взять из старого

если б останавливать релиз не надо было, я бы просто сделал upgrade —reuse-values —set var=value

upgrade —install —force —reuse-values не берёт values из удалённого релиза

Anton
25.07.2018
14:20:28
можно ли сделать имя пода фиксированным? (если deployment)

Anton
25.07.2018
14:21:46
после наката апгрейда скейлить вверх

Andrey
25.07.2018
14:22:24
helm scale? нет такой команды

Google
Anton
25.07.2018
14:22:41
kubectl =)

Andrey
25.07.2018
14:23:12
это тогда надо знать содержимое чарта

Иван
25.07.2018
14:23:12
А нужен ли helm?

Andrey
25.07.2018
14:23:30
для многокомпонетного релиза - да

иначе я запарюсь пайплайны для выката делать

Anton
25.07.2018
14:24:08
это тогда надо знать содержимое чарта
ок, через --set выставлять replicas=0

что я все за вас думаю то

Andrey
25.07.2018
14:24:51
да вы думаете не за меня, а за мной. Такой вариант тоже не подходит, потому что там не только deployment-ы

я перед тем как в чат прийти, кучу вариантов перепробовал

Roman
25.07.2018
14:26:18
Ребятки, кто-нибудь пробововал NodePort для нод на AWS?

Vladimir
25.07.2018
14:29:31
Вопрос то очень актуальный. Интересно почему не вынесли сразу его.
Я например не смотрел анонс, может там был ответ )

Andrey
25.07.2018
14:35:05
остановился на # пробуем helm upgrade --tls --dry-run --reuse-values --set var=newvalue release package # сохраняем текущий номер ревизии helm history --tls -o yaml --max 1 release | grep revision: | awk '{print $2}' > currentreleaserevision # сохраняем текущую конфигурацию helm get values --tls release > currentreleasevalues.yaml # удаляем helm delete --tls --no-hooks release # ставим новую версию со старой конфигурацией, с подмешанной новой переменной helm upgrade --tls --wait --install --force --values currentreleasevalues.yaml --set var=newvalue release) package # если свались, делаем откат helm rollback --tls --wait --no-hooks release `cat currentreleaserevision`

Kirill
25.07.2018
14:52:21
в смысле не помогало? kubedns выжирал весь проц на ноде или что происходило?
Кубе днс сами себя не резолвили, добавление ещё 2х под не помогло.

Dmytro
25.07.2018
14:52:55
это на 18.04?

Kirill
25.07.2018
14:55:11
centos

Dmytro
25.07.2018
15:01:13
ага, т.е. тут 2 разных случая смешано в чате

я не уверен что kube-dns должен уметь себя резолвить, зачем это может быть нужно?

Kirill
25.07.2018
15:15:09
я не уверен что kube-dns должен уметь себя резолвить, зачем это может быть нужно?
пода кубе-днс состоит из 3 контейнеров, один из контейнеров делает лайвнесс пробу другого и если не видит - ресетит поду.

Alex Milushev
25.07.2018
15:20:06
https://sweetcode.io/a-first-look-at-the-helm-3-plan/ немного есть тут
Было говно, стало говно с мочей, ну что за

Google
Alex Milushev
25.07.2018
15:20:13
простите, эмоции

Dmytro
25.07.2018
15:24:34
пода кубе-днс состоит из 3 контейнеров, один из контейнеров делает лайвнесс пробу другого и если не видит - ресетит поду.
а можно поподробнее? там 3 контейнера, dnsmasq должен ходит локально в kube-dns на локалхост:порт, третий контейнер nanny которая из оба чекает опять же на локалхосте https://github.com/kubernetes/kubernetes/blob/master/cluster/addons/dns/kube-dns/kube-dns.yaml.base#L202

ни один из них в другой по хостнейм не должен ходить, тут что-то не так

Vadim
25.07.2018
15:26:52
>Our work on Helm Lua is still very much in its proof-of-concept stage, but we’re looking at a syntax that would be at once familiar and flexible ахахаххаха

ну хоть тиллер вырезали

Dmytro
25.07.2018
15:28:20
да ладно же, я обеими руками за Lua

в нжинксе тоже Lua, не нужно плодить сущности

Kirill
25.07.2018
15:29:09
а я что-то говорил о хостнейм? :) На определенном пороге (около 20 под запущено) увидел что под с кубе-днс начала рестартовать часто. Полез в логи, dnsmaq выдавал Maximum number of concurrent DNS queries reached (max: 150) В этот момент sidecar ругался что dnsmasq не отвечает, поєтому ему страшно и он ресетит сервис

увеличение этого порога с 150 до 300 не помогло

Vadim
25.07.2018
15:30:02
в нжинксе тоже Lua, не нужно плодить сущности
мало ли где Lua есть, только вот решение "для редактирования yaml теперь вот вам язык программирования" как минимум странное

Dmytro
25.07.2018
15:30:15
мало ли где Lua есть, только вот решение "для редактирования yaml теперь вот вам язык программирования" как минимум странное
не страннее языка программирования для самапольного языка конфигурации ака нжинкс конф

Kirill
25.07.2018
15:31:19
рабочего какого-то решения данной проблемы не увидел, обновлять кубер не хотелось, увидел что один из вариантов - замена на коре-днс. и типа на него кубер перешел в новых версиях (или переходит?)

Dmytro
25.07.2018
15:31:30
ну и опять же, лучше взять стандартный язык а не изобретать свой как ksonnet

нет, это аргумент о стандартизации

Kirill
25.07.2018
15:31:42
не резолвили это обычно про днс же
сорри, не правильно выразился. Он не получал ответа от сервиса

Dmytro
25.07.2018
15:33:23
сорри, не правильно выразился. Он не получал ответа от сервиса
обычно это сообщение про 150 запросов не приводит к рестарту (по крайней мере из моих наблюдений), а вот низкие цпу лимиты - да (т.к. не отвечает kube-dns контейнер за таймаут)

Kirill
25.07.2018
15:34:17
цпу лимиты были дефолтные

Dmytro
25.07.2018
15:34:22
если не помогает убрать или поднять лимиты - нужно увеличивать количество реплик. Но прежде стоит посмотреть на логки dnsmasq и ndots у подов

Google
Kirill
25.07.2018
15:34:49
первое решение которое сделал - увеличил колличество под с кубе-днс до 3х

Dmytro
25.07.2018
15:35:00
они достаточно низкие, если у вас приложения не кешируют днс на какое-то время а фигачат кучу днс запросов - нужно увличить

Kirill
25.07.2018
15:35:12
падений стало меньше, но падали поочереди все поды с кубе-днс ;)

Dmytro
25.07.2018
15:35:23
например, у соседнй команды было пхп приложение которое на каждую страницу ходило до 400 раз в мемкеш по днс

они там наебались...

Kirill
25.07.2018
15:35:57
да, учту при дальнейших вопросах

Evgeny
25.07.2018
15:37:21
обычно это сообщение про 150 запросов не приводит к рестарту (по крайней мере из моих наблюдений), а вот низкие цпу лимиты - да (т.к. не отвечает kube-dns контейнер за таймаут)
у меня сейчас в кластере две ноды - одна с ub18, вторая - ub16. kube-dns раскидал два пода на эти ноды. на ub16 - всё работает без рестартов, на ub18 под растартуется через 3-5 минут с тем же сообщением

Dmytro
25.07.2018
15:38:04
да, учту при дальнейших вопросах
еще вот на секцию Pod’s DNS Config посмотрите тут https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pods

если вкратце, то по дефолту обычно стоит ndots:5 и на каждый днс резолв летит вместо одного запроса пачка вида <dns>.svc.local, т.е. все внешние ресурсы сначала внутри кластера

плюс еще летят всегда ipv4 и ipv6 резолвы

все это можно увидеть в логах dnsmasq если их включить

т.е. на один днс резолв от приложения выходит до 10 (по моим прикидкам) днс запросов

у меня сейчас в кластере две ноды - одна с ub18, вторая - ub16. kube-dns раскидал два пода на эти ноды. на ub16 - всё работает без рестартов, на ub18 под растартуется через 3-5 минут с тем же сообщением
интересно а cpu quota usage одинаковый? и еще я бы попробовал поды с ноды с у18 переместит на у16 а с той на у18, может просто больше днс запросов генерят поды на этой ноде а днс запросы сервис роутит на ближайший под - т.е. на это же ноде

Kirill
25.07.2018
15:44:55
Да, видел, как вариант снижения нагрузки - прописывание полного адреса сервиса вплодь до точки на конце. Не помогло, но на всякий пожарный теперь делаю так

Dmytro
25.07.2018
15:47:21
квота одинаковая но вот сколько из квоты использовано одним подом и сколько другим?

Evgeny
25.07.2018
15:47:34
по логам получается сначала dnsmasq отваливается I0725 15:08:54.586875 1 nanny.go:116] dnsmasq[18]: using nameserver 127.0.0.1#10053 for domain cluster.local I0725 15:08:54.586885 1 nanny.go:116] dnsmasq[18]: using nameserver 127.0.0.53#53 I0725 15:08:54.586893 1 nanny.go:116] dnsmasq[18]: read /etc/hosts - 7 addresses I0725 15:12:48.143322 1 nanny.go:116] dnsmasq[18]: Maximum number of concurrent DNS queries reached (max: 150) I0725 15:12:58.154825 1 nanny.go:116] dnsmasq[18]: Maximum number of concurrent DNS queries reached (max: 150)

Dmytro
25.07.2018
15:47:58
я бы еще пробовал все-таки включить логи dnsmasq посмотреть что там приходит то

Evgeny
25.07.2018
15:49:12
потом sidecar перестает метрики получать I0725 15:08:59.144350 1 dnsprobe.go:75] Starting dnsProbe {Label:kubedns Server:127.0.0.1:10053 Name:kubernetes.default.svc.cluster.local. Interval:5s Type:1} I0725 15:08:59.144397 1 dnsprobe.go:75] Starting dnsProbe {Label:dnsmasq Server:127.0.0.1:53 Name:kubernetes.default.svc.cluster.local. Interval:5s Type:1} W0725 15:12:51.207223 1 server.go:64] Error getting metrics from dnsmasq: read udp 127.0.0.1:39414->127.0.0.1:53: i/o timeout W0725 15:13:05.150423 1 server.go:64] Error getting metrics from dnsmasq: read udp 127.0.0.1:44531->127.0.0.1:53: i/o timeout

Страница 706 из 958