Alexey
Блин, кубеспрей криво калику деплоит... т.е. не он сам деплоит, а я использую его ансибл плейбук. плейбук выполняется - но калики там нет, хотя вроде в описании кубеспрея говорится что калика туда входит по-умолчанию
Anonymous
не стоит пытаться работать с кубернетесом, как будто это виртуальный хостинг для PHP. возьмите, лучше, виртуальный хостинг для PHP.
Так, мне собственно все эти контейнеры и нужны для развертывания окружения и тестирования. Иначе в них нет смысла.
Anonymous
тогда и не пользуйтесь ими.
Это явно не ответ) Есть компании, которые делают подобное. Но только я не знаю какие инструменты они юзают
Sergei
Это явно не ответ) Есть компании, которые делают подобное. Но только я не знаю какие инструменты они юзают
есть компании. натянуть сову на глобус всегда можно. но кубернетес енфорсит вас разделять разработку, билд и деплой.
Alexey
ну можешь пихать код в папку, которая будет монтироваться в контейнер прилолжения, но это никакой не прод-вариант
Anonymous
есть компании. натянуть сову на глобус всегда можно. но кубернетес енфорсит вас разделять разработку, билд и деплой.
Ну, сейчас это все работает на docker-compose + свои костыли. И по ощущениям, kubernetes должен это все в себе должен решать.
Sergei
Ну, сейчас это все работает на docker-compose + свои костыли. И по ощущениям, kubernetes должен это все в себе должен решать.
еще раз. не надо пытаться работать с кубернетесом как с виртуальным пхп-хостингом. хотите виртуальный пхп-хостинг - возьмите виртуальный пхп-хостинг. иначе вы будете страдать.
Maksim
есть компании. натянуть сову на глобус всегда можно. но кубернетес енфорсит вас разделять разработку, билд и деплой.
Я бы сказал, что это не кубер енфорсит, а ci/cd парадигма-) а кубер лишь её инструмент
Sergei
Я бы сказал, что это не кубер енфорсит, а ci/cd парадигма-) а кубер лишь её инструмент
он создает препятствия на пути "я щас вимом скрипт на проде поправлю, а потом запущу рсинк на остальные ноды"
Sergei
Это всегда было bad practis-)
я об этом и говорю.
Sergei
CI/CD не создает препятствий. он предлагает альтернативу. а препятствия создает кубернетес/(любая другая с умом сделанная рантайм-платформа).
Sergei
При чем тут хостинг?
при том что вы делаете вид, что фазы "билд" в деплой-процессе не существует.
Alexey
"просто у тебя свой путь"
Sergei
ок, я зайду с другой стороны. pod (и контейнер) в кубернетес - это не виртуалка для запуска кода. это и есть экземпляр вашего кода.
Anonymous
"просто у тебя свой путь"
Ну а как это еще назвать?))) Если для go/с++ обязательно все комилить и там не долго и целый докер контейнер под это все добро пересобрать, то там все сходится. А мне же нужно просто поднять все чистые контейнеры и протестить на них новую версию кода.
Sergei
новая версия кода - новые контейнеры.
Alexey
4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default link/ether 02:42:9d:0c:b3:b9 brd ff:ff:ff:ff:ff:ff inet 172.17.0.1/16 scope global docker0 valid_lft forever preferred_lft foreve почему интерфейс на хостах кубернетеса такой? это из-за того что калика не установилась?
Alexey
но и калика теперь не устанавливается, т.к. способом через даемон-сет - поды не стартуют, т.к. докер не стартует корректно
Alexey
или на фланнелд откатываться опять?
Andrey
всегда калика успешно ставилась, главное в мастер залезать пореже
Alexey
kube-scheduler не стартует... а почему не говорит
Alexey
блин, 1 гига для мастера мало(( ансибл ругался вначале на то, что минимум 1,5 гига им нужно, но я поправил роль и трактор поехал дальше, а вот чтоб запуститься ему не хватило(
Alexey
не знаю, раньше на 1,6 хватало.
Alexey
на 1,8 запросы подросли
Anonymous
на 1,8 запросы подросли
У нас были проблемы со слишком большим числом рекурсий. Потому что роли наследовали части других ролей. Так мы убрали дублирование кода, но по памяти все стало печально. vendor/ansible/bin/ansible +58 sys.setrecursionlimit(2000) Вот таким костылем лечили))) Сейчас уже больше 3000, кстати)
Anonymous
Это если о ansible. Или не в нем дело?
Alexey
Причем рекурсии? Ансибл всё норм делает, памяти не хватает контейнер шедулера запустить
Anatoliy
Ребят. А есть варианты безболезненно перейти с calico на Weave? через kubespray например?
Ivan
здравствуйте!
Logan
Ребят. А есть варианты безболезненно перейти с calico на Weave? через kubespray например?
смотря что понимается под словом "безболезненно". В kubespray weave, по-моему, так и не заработал
G72K
Осторожно, ваш HA setup недостаточно HA: http://github.com/kubernetes/kubernetes/pull/23129
Anatoliy
смотря что понимается под словом "безболезненно". В kubespray weave, по-моему, так и не заработал
всмысле не заработал? у меня calico на weave сменилось, вроде все нормально
Bsod
А кто запрещает на контейнерах тестить?))
так посмотрите в сторону гитлабовского докер ранера
Shamil
Здравы буде, бояре! Крутим k8s на openstack'е хотим наладить автоматическое создание лоадбаласера на openstack'е, сделали cloud-config, и все прочее, в логах нигде не ругается, вижу, что ноды увидели свои openstack'овские ID и вроде все нормально. Но если задаем для сервиса тип LoadBalancer и применяем, видим ExternalIP: <pending> и висит так вечно )-: Главное в логах леденящая пустота. К логам openstack доступа нет, поэтому на той стороне посмотреть не можем. Кто-нибудь сталкивался с подобным? Как можно проверить подключение к cloud-провайдеру?
Sergey
https://github.com/sapcc/kubernetes-the-hard-way/
Sergey
Тут есть хардвей для опенсекса, гляньте, мож что-то пропустили
Sergey
Бывает банальность типа забыл --cloud-provider=openstack
Shamil
Тут есть хардвей для опенсекса, гляньте, мож что-то пропустили
Да в том то и дело, что если прописываем некорректные параметры, kubelet вообще не стартует. А у нас стартует, и даже не ругается, но, в таких случаях, уж лучше бы ругался, поскольку, сейчас вообще ничего не пишет про openstack )-: Хоть бы ругнулся, что не может вызвать subnet или не видит neutron. А так...
Shamil
А за ссылку отдельное спасибо, я как-то пропустил это, даже не знаю как, вроде гуглом владею в совершенстве... Может у меня выдача уже испорченная (-:
Sergey
Эту ссылку мне лично вручил человек плотно связанный с комьюнити и разработкой кубера
Sergey
Как любителю хардвеев)
Shamil
Эту ссылку мне лично вручил человек плотно связанный с комьюнити и разработкой кубера
Тут ты должен еще добавить: "Смотри не поцарапай ссылку — она уникальна"
Sergey
Да не, я к тому что гуглом я ее тоже не нагуглил)
Shamil
Да не, я к тому что гуглом я ее тоже не нагуглил)
Понятно, но для придания драматичности... (-: Еще раз спасибо, пойду курить эту ссылку.
Sergey
Да нет за что, она там об 1.6 версии
Sergey
Но вдруг чёт полезное есть
Sergey
Удачи
Shamil
Да, про 1.6 я тоже как-то не обрадовался )-:
Shamil
Учитывая, то что сейчас они ручной путь объявили устаревшим...
Shamil
Кстати, об этом. В чем логика, ручной путь объявлен устаревшим и они везде рекомендуют kubeadm, а когда запускаешь kubeadm, они крупными буквами пишут "KUBEADM IS BETA, DO NOT USE IT FOR PRODUCTION CLUSTERS!" ?
Shamil
Удачи
Короче разобрался, вкратце, k8s по какой то причине, не принимал cloud-config из /etc/kubernetes/, переложил его в /etc/kubernetes/pki/ — все завелось. Отосплюсь, перетестирую все и опишу решение подробнее.
Shamil
Еще раз спасибо.
Shamil
1. Где проблема с ручном пути? 2. Управлять кластером из 10 машин руками уже не айс.....
1. В ручном пути, проблема в том, что все мануалы по ручной настройке, под версию 1.6, во-первых и официально объявлены устаревшими, во-вторых. 2. Управлять продуктовым кластером при помощи кривого kubeadm'а ещё хуже, никто не знает что разрабы там добавят в новой версии (подозреваю что сами разрабы, тоже не знают). Если бы был нормальный ручной путь, я бы сделал пару ansible-ролей и управлял бы хоть миллионом узлов. А так придется каждую новую версию перед выкаткой на прод, шерстить вдоль и поперек и хрен его знает что там всплывет. Поэтому мне не ясна логика, по которой они делают одну версию устаревшей, при этом новую держат в бете.
Shamil
@youngbluesman Мануалы мануалами. Но ОпенСорс всегда значит, что думать нужно своей головой.......
Я вовсе не против думать своей головой, но такой опенсорс, когда от тебя отодвигают абстракцию, до kubeadm init -f kubeadm.yaml без возможности заглянуть в кишки (если ты не разработчик на go), уже изрядно попахивает проприетарщиной.
Maksim
Кто сказал что нет возможности???..........
Maksim
Архитектруа до сих пор есть в мануалах. Ключи для компонент описаны......
Maksim
А если поискать. То можно м плейбуки для 1.4 найти. Форкнуть из до 1.8.3
Maksim
Лично я противник и куберспрея и кубеадм.
Maksim
И всегдя выступаю за чистые наркотики.
Shamil
А если поискать. То можно м плейбуки для 1.4 найти. Форкнуть из до 1.8.3
Ну да, форкнуть, разобраться в их системе сборки, поднять репозиторий артефактов, чтобы ничего не потерять, изучить зависимости, протестировать совместимость, а потом назвать это "простая система оркестровки контейнеров"
Maksim
Кто сказал что это просто??
Maksim
Не верь рекламе))
Shamil
Кто сказал что это просто??
Это риторический вопрос? И почему два знака вопроса? Одного мало? Или с двумя, вопрос, будет "вопроснее"? В чем заключается твоя позиция? Мы спорим? Ты что-то доказываешь?
Maksim
Потому что телефон.
Maksim
Моя позицтя в том что кубеадм нихера не православен, а лишь способ. Дальше ногм в руки и пахать
Shamil
Понятно. Я не хочу сказать, что k8s — говно, просто мне не понятна философия их разработки и выкатки релизов. Вот и все.
Maksim
Ммм..ну все просто. 1.6 уже устарело (всего то год как в релизе..) Мы уже много изменили, так 1.6 устарело