Aleksey
что там за жесть ?
Anonymous
А есть где-то мануал как локально поднять kubespray на вагранте? Чтобы на ноуте взлетело.
Я вроде когда-то видел видео, где один индус подобное делал. Но сейчас не могу найти.
А в kubespray нет папочки vagrant/config.rb.default или подобного шаблона
Anonymous
что там за жесть ?
Ну, мы еще systemd внутри контейнеров гоняли. Что тоже не есть тру вей. Но постоянно ложило digitalocean.
Локально тоже иногда докер ложил систему.
Там было много всяких фишек.
Но самая главная, которая запомнилась: запустить docker-compose.yml, потом подправить этот файлик и попробовать через докер-композе остановить контейнеры.
В обще, если хочется заморочиться, то крайне советую)))
Anonymous
Или не нужен vagrant/config.rb ? Я просто уже не сильно и помню как вагрант конфигурится? Но что-то не вижу, чтобы что-то из конфига бралось.
Serega
что там за жесть ?
Не то чтобы жесть, но и не сахар.
Помимо очевидных вещей в духе организации отказоустойчивости своими силами (деплой двух виртуалок с докер компосе), отсуствия сервис дискавери и единой шины логов, docker-compose регулярно подглючивал при редеплое контейнера (не мог консистентно потушить старый stateless контейнер). Имел с таким дело на latest centos7 чуть более года назад.
Anonymous
А новый вагрант на старый vb не сядет, да?
Anonymous
Ну, вот кто рубишные проекты продвигает в стандарты разработки?
Нужно сразу говорить: "Нет, дорогой, переведи-ка на Go или хотя бы на python, а потом приходи"))
Serega
может быть вам в девпос_ру или клауд_флуд?
Anonymous
Anonymous
Anonymous
А при запуске kubespray на vagrant тачках, ansible дергается внутри какой-то из них, правильно?
Просто выдало ошибку https://dpaste.de/Df4z/raw .
Или это на локальной тачке дернулся плейбук?
Anonymous
https://dpaste.de/7a5j/raw - правильно ли я понимаю, что master в kubespray не работает?
Anonymous
У кого-нибудь был положительный опыт запуска kubespray на vagrant тачках?
На какой версии получилось?
Потому что с версией HEAD detached at v2.3.0 тоже есть проблемы....
G72K
Расстрелять все инсталлеры. Поднять пять демонов и прописать их друг в друга должен уметь каждый
Logan
Alexey
Кто знает - можно ли использовать перменные в volumes?
что-то вроде такого
volumes:
- name: data
hostPath:
path: /opt/cluster/$HOSTNAME
чтоб монтировалась папка и именем пода
Anton
так точно не взлетит
Alexey
Посоны, может кто-нибудь здесь игрался со scheduler policies или знает очень хорошо как работает scheduler. Как мне замутить так, чтобы k8s разворачивал поды только на одной ноде до конца всех ресурсов(allocatable resources) на ней, а уже потом начинал разворачивать на другой ноде и так по порядку. Типа есть 4 ноды. Сначала он берёт какую-то одну, потом если вдруг нужно ещё докинуть подов, он забивает первую полностью, потом берёт вторую и т.д.
Sergei
Dmitry
из своего опыта скажу что в документации кубера нет описаний подобной практики, там наоборот стараются размазать поды равномерно по всем нодам
Maksim
Dmitry
смотри как можно сделать, дело в том что шедулер не знает сколько ресурсов займет под, эти ресурсы указываешь ты сам в конфиге, тогда если их ты сам указываешь ты можешь сам и указать конкретную ноду где запустить этот под
Alexey
@dmitrz Но есть кейсы с автоскейлингом и есть priority функция MostRequestedPriority. Проблема в том, что она работает немного не так как надо. Она сначала размажет несолько подов по всем нодам, а потом пойдёт добивать ноды.
G72K
Alexey
@dmitrz У меня просто автоскейлинг нод работает. Хочется оптимизировать потребление и не сжигать деньги.
Dmitry
а нельзя его сделать средствами самого облака?
Dmitry
чтоб когда на виртуалки заканчивались ресурсы запускалась новая, и там кубелет автоматом добавляет ее в кластер
Dmitry
и вот новые поды запускаются на новой ноде
G72K
G72K
Anatoliy
G72K
Anatoliy
а зачем разворачивать новую ноду на 50% ?
G72K
Поды на статичны
Anatoliy
есть 10 нод, все загружены на 20%, грузятся на 30-40 и т.д. до 95 в среднем. В этом случае добавляем еще одну ноду, и среднее значение проседает
G72K
Anatoliy
так уберите 4 лишние и будет вам то что вы хотите
Anatoliy
остальные поды ведь поднимутся автоматом на других нодах, их нагрузка вырастет
Anatoliy
что не так? просто считаем именно среднюю нагрузку по всему кластеру
Anatoliy
автоскейлинг ведь должен на что-то опираться, так?)
Anatoliy
Я согласен что не старается, но если у него варианта нет он их что, запускать перестанет?
Alexey
Нет, всё работает прекрасно, когда происходит scale up. И scale down отрабатывает отлично. Проблема вот в чём: у меня в некоторых случаях поднимается, например 200 подов. По выставленным реквестам им нужно 4 ноды. Они поднимаются и всё круто. Но потом, если фигачить каждый раз по 10 подов, например, они будут размазываться по всем машинам. У google cluster autoscaler политики такие, что там scale down происходит с 10 минутным запаздыванием. Когда есть хоть какая-то нагрзука на ноду — таймер сбрасывается. И получается так, что когда у меня сначала проходит задача с большой нагрузкой, то запускается большой кластер, но когда у меня маленькие задачки, мне достаточно одной ноды. Но по вышеописанной причине scale down не происходит. Только когда в течение 10 минут не происходит никаких действий и подов вообще нет.
Alexey
G72K
Alexey
Вы пробовали? С подкрученым конфигом?
Да, пробовал. У меня правда проблемка, что всё крутится в GKE и там явно нельзя передать полиси. Поэтому собирал scheduler сам и запускал поды с собственным, прокинув полиси.
G72K
Единственная причина по которой задранный в небеса приоритет не срабатывает, это то что,какой-то предикат блокирует выбор
G72K
Включите отладку, —v=4, должно быть видно
Alexey
@rossmohax О, кстати, как вариант. За --v=4 отдельное спасибище.
G72K
Радость: в hyperkube вернули /bin/bash
Anonymous
А есть вообще какая-нибудь дока, как развернуть kubernetes на виртуалках ubuntu 16.04 ?
Stas
Anonymous
в доках куба не нашел?
Нет. Нашел только нормальный видос, но для rhel https://www.youtube.com/watch?v=lTyKeNRopqY
Stas
http://containertutorials.com/get_started_kubernetes/index.html
Anonymous
Etki
если использовать поиск по чату, то вылезут
- kubernetes the hard way
- kubespray
- evil martians chef cookbook
- kops
и прочее
Anonymous
если использовать поиск по чату, то вылезут
- kubernetes the hard way
- kubespray
- evil martians chef cookbook
- kops
и прочее
kubernetes the hard way - там только установка только базового варианта (если речь об этом https://github.com/kelseyhightower/kubernetes-the-hard-way)
- kubespray - vagrant версия не работает. Описывал выше. Не пробовал еще описывать через свой инвентори, но смысл, мне кажется будет тот же. Плейбук то один.
- evil martians chef cookbook - ну, как бы не мануал, а кукбук. Т.е. трудно найти и понять какие вещи базовые и нужны обязательно, а какие опционально. И не видно как запускать на виртуалках.
- kops - еще не юзал. Но тоже не вижу там мануалов. (https://github.com/kubernetes/kops - если речь об этом). И не видно как запускать на виртуалках.
Etki
что такое не базовый вариант?
Logan
Logan
марсианский кук самый приличный, не без тараканов, но он хотя бы работает
Anonymous
Anatoliy
Anatoliy
причем "искаропки" :) т.е. просто в конфиге параметр поменял
Anonymous
Logan
нет, доки нет, но при минимальном знании шефа разобраться несложно + автор кукбука нормально реагирует на вопросы.
Anonymous
Блин. Жесть какая-то. Придется делать как на видео у индуса на centos, наверное.
Anonymous
Только плохо, что этот индус все в текст не выложил.
Logan
а вам надо в прод или так, пальцем потыкать? Если второе - kubeadm в помощь
Logan
он вообще не требует приложения мозга
Anonymous
https://devopsmates.com/part-1-kubernetes-introduction-installation/ - вот в тексте, то что на видео, если кому интересно.
#kubernetes #virtualbox #centos #fulldoc
Anonymous
Anonymous
Logan
я с кубспреем работал пол-года назад. Тогда было запрещено
Anton