Валентин
К счастью, stateless, который и пишут клиенты, без проблем ложится без каких-либо глубоких особенностей. А за stateful базы и прочее, — это уже не клиент, экспертизы больше.
И какой с базами кейс? Их - в виртуалки? А если что-тл в виртуалках все равно есть - значит все равно для них поднимать надежную инфраструктуру
Andrey
А как же "архитектор сказал, что будем хранить файлы в uploads папке и делайте ReadWriteMany!!!"?
Без проблем. Вот вам NFS или CephFS. Или что-то ещё сетевое и POSIX-filesystem'овое. ЕбитесЪ.
Валентин
Если б делал сам, гонял бы виртуалки с http://www.ganeti.org/
Вау, он еще жив? Я его году в 2012 гонял... пока ceph не запилили. Прикольная штука, кстати, у нас она так и не сломалась
𝚔𝚟𝚊𝚙𝚜
Если б делал сам, гонял бы виртуалки с http://www.ganeti.org/
имхо, под небольшие кластера proxmox отличное решение, просто поставил и юзай, не хуже вмвари
Andrey
И какой с базами кейс? Их - в виртуалки? А если что-тл в виртуалках все равно есть - значит все равно для них поднимать надежную инфраструктуру
Да, но уже более половины баз, которые интересны клиентам, не работают на одной-двух нодах и растут строго вверх.
Валентин
в начале - да, а потом за сопровождение rhevm платит дополнительно
А в чем разница что сопровождать? Оно когда настроено и работает - там с одинаковой вероятностью падает (виртуалки падают из-за проблем с железками также или чуть меньше, чем совсем baremetall)
Валентин
Да, но уже более половины баз, которые интересны клиентам, не работают на одной-двух нодах и растут строго вверх.
Так, ну т.е раз ответ "да, в виртуалках", получается вы загоняете своих клиентов сразу в обе инфраструктуры - и в кластер виртуалок, и в кластер куба, но не смешиваете их, чтобы получить удобства обоих миров? Странно...
Валентин
его как минимум мониторить и обновлять надо, а для этого нужен Специально Обученный Интерн в худшем случае
Можно и не обновлять ведь. Если своё все, то на уязвимости виртуализации пофиг
𝚔𝚟𝚊𝚙𝚜
Если б делал сам, гонял бы виртуалки с http://www.ganeti.org/
А почему ganeti? - потому что от гугла?
Andor
секрет
Валентин
Долго описывать, готов на конференциях поговорить и поспорить, подходи к обладателям фиолетовых поло, потрём за жизнь.
Я изначально почему об этом заговорил: конкретно в селектеле с их ценами получается примерно то на то, но это исключение. А так чем выше плотность - тем дешевле, вот и приходится уходить на толстые серверы и делить их на виртуалки.
Andrey
Я изначально почему об этом заговорил: конкретно в селектеле с их ценами получается примерно то на то, но это исключение. А так чем выше плотность - тем дешевле, вот и приходится уходить на толстые серверы и делить их на виртуалки.
Я понял, но из опыта, менеджмент ещё одного слоя абстракции — тяжелее. И тут речь не про provisioning, который одной рукой Ansible'ом делает, а про day-to-day operations, производительность и т.д.
Andrey
В AWS — это легко, например, потому что ты не думаешь о гипервизоре. И это очень и очень важное различие.
Etki
секрет
--секрет
Alexey
--секрет
вот так работает, спасибо 😐
Andrey
--return-stability --no-bugs --best-performance
Vadim
`--license-key` еще
Alexey
--return-stability --no-bugs --best-performance
пишет, что только в платной версии доступно
Rainbow
--credit-card-number
G72K
А почему ganeti? - потому что от гугла?
Пользовался слегка. Но в целом мне импонируют ребята которые "мы фигачим минимальный, но хорошо работающий продукт и у нас нет денег на маркетинг" . Странички в стиле http://smarden.org/runit/ обычно у тех, что точно работает хорошо, может и не сильно фичасто
Eugene
Может кто-нибудь знает почему выдет такую ошибку 1 aws_manager.go:153] Failed to regenerate ASG cache: RequestError: send request failed caused by: Post https://autoscaling.us-east-2.amazonaws.com/: dial tcp: i/o timeout F0402 13:04:29.059069 1 cloud_provider_builder.go:149] Failed to create AWS Manager: RequestError: send request failed caused by: Post https://autoscaling.us-east-2.amazonaws.com/: dial tcp: i/o timeout https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/cloudprovider/aws/README.md
Eugene
роли настроены, версия кубера 1.12.5 версия скейлера 1.12.3
Andrey
автоскейлер сам ставил?
Andrey
тогда можно попробовать зайти в под, посмотреть, почему ему эти урлы не доступны
Eugene
логично, спасибо
Anonymous
В этом случае я бы советовал MetalLB
Сейчас потестил работу сети. Если мы объявляем для сервиса Ingress External-IP, то кубер объявляет и на мастерах и на воркерах этот IP. Таким образом, пока жива хоть одна нода кластера - этот IP доступен (у меня L2 сеть). Вопрос - для чего мне тогда нужен Metal LB / keepalived Чтобы управлять через какой хост будет виден этот IP ?
Tadeusz
metallb вешает IP на worker ноды? или на себя и пропускает трафик через себя?
Roman
Для доступа из-вне, metallb всегда вешает external ip на туже ноду где и запущенный workload
У меня он вешать ничего не желает, работает только если вручную айпишник повесить
Tadeusz
Tadeusz
а что там за прикол с сертификатами в кубере? типа на год генерится и по окончании все прикладывается?)
Oleg
Подскажите пожалуйста, как мне проанализировать состояние сети в кластере и на виртуалках в целом. У меня куб 1.10.5 на виртуалках с калико calico-etcd coreos/etcd:v3.1.10 calico/node:v3.0.8 calico/cni:v2.0.6 Есть несколько моих сервисов, rabbitmq в качестве шины для них, через nginx-ingress ко мне ходят клиенты и системы источники мне данные шлют через него же. Всё замечательно, кроме одной вещи, которую я не могу вычислить. Есть проблема, что время от времени в приложении возникают ошибки типа service unreachable (когда приложение пытается в rabbitmq сходить, но с таймаутом отваливается), таймауты и 499 статусы в nginx (когда мне система источник пытается послать данные, но разрывает соединение, потому что от меня не дожидается ответа). По логам nginx видно, что запросы обрабатываются то очень быстро, то очень медленно. Время обработки не плавающее, а резко меняется, например то 200 0.053 ms, а потом 499 20.043 ms И я пытаюсь вычислить, то ли это у меня в сетапе лагает, то ли какие-то инфраструктурные косяки. Кто может, подскажите мне направление, а то я не знаю, куда копать дальше и в какой последовательности.
Если актуально - какое хранилище используешь?
Tadeusz
как бы посчитать мощности требуемые под кластер? хочется HA, с external etcd + 2 мастерами и тремя нодами
Tadeusz
сейчас это 3 сервака с docker swarm по 20-30 контейнеров, вкл. стейдж
engelbart
Подскажите плиз, почему нода бесконечно долго висит в Ready,SchedulingDisabled когда я пытаюсь resize cluster сделать в gcloud
engelbart
Может это быть связано с pvc?
Lucky SB
может
engelbart
как бороться? можно как то pvc переносить?
Lucky SB
ты в ресайзе уменьшаешь или увеличиваешь количество узлов ?
engelbart
уменьшаю
Lucky SB
ну т.е. у тебя идет процесс kubectl drain
engelbart
там pvc 1gig , а идёт часами
Lucky SB
надо смотреть kubectl describe node
Lucky SB
у pvc нет размера. это требование. размер у pv
Lucky SB
сторадж класс дефолтный ?
engelbart
ай, простите дурака
engelbart
да class не указывал
Lucky SB
ну вообще при дрейне куб ждет пока завершаться поды
Lucky SB
на узле. можно убить их руками с —force и —grace-period=0
G72K
Чем можно запускать паралельно несколько скриптов/баш функций и нормально группировать вывод ? Навроде make -O , но может по-современнее что-нибудь есть
Lucky SB
а pvc-pv не должны тут влияеть. смотри что в дескрайбе пишут.
engelbart
а они закончатся? Так, понимаю мой вопрос наверное тупой. Надо переформулировать. У меня вот ксть инсталяция elk в k8s, и там дата ноды с pv я заметил что там лишние ноды (не утилизируем), пытаюсь ужать. Как бы вы грамотно это делали без потери данных? Что смотреть?
engelbart
да
engelbart
https://pastebin.com/qpSsRFF3 вот pastebin с describe node которая sheduling disabled
Lucky SB
а pv какого типа ?
engelbart
> kubectl get pv NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE pvc-5139e67a-55f3-11e9-8633-42010a8001c0 10Gi RWO Delete Bound default/data-elasticsearch-data-1 standard 1h
Lucky SB
ну убей вот это
Lucky SB
default elasticsearch-client-c76b44ff6-7msm8 25m (1%) 1 (51%) 400Mi (7%) 600Mi (10%)
engelbart
могу. а чего k8s сам не убьет?
engelbart
удалил, наблюдаю
Lucky SB
ну теперь убивай этот узел
engelbart
да, помогло
engelbart
убил - нода ушла
engelbart
чёрт, а чего оно само то не могло
Lucky SB
ну вот.
engelbart
и получается мне повезло что там не было data ноды с persistent
Lucky SB
это гуглоклауд = там нет багов. только нюансы
engelbart
а если б было , что б я тогда делал?
Lucky SB
https://kubernetes.io/docs/tasks/administer-cluster/safely-drain-node/