Andrey
типа такой https://habr.com/post/258443/
Andrey
сложная часть - это сеть, по крайней мере для меня
Й
Эх, пропадет же человек...
Andor
чот короче подумал я подумал и не понял почему я сразу не на ksonnet сделал
Andor
а на голом jsonnet
Андрей Федюнин
народ, кто пробовал перенаправлять все запросы к api через nginx, как это сделано у kubespray, но не только с worker'ов, но и с master нод (kube-controller, kube-scheduler). В теории должно работать, может есть подводные камни?
Андрей Федюнин
на мастере будут тоже размещаться поды, думал сделать так же только kubelet, kube-proxy, а потом подумал, чего мелочиться
Andor
зачем на мастере размещать поды?
Андрей Федюнин
да, т.к. сервера будут железные
Андрей Федюнин
А в чем проблема? В kubeadm-config любой же адрес указать можно, хоть localhost
как это реализовать я знаю, вопрос нет ли подводных камней в такой архитектуре
Andor
@kvaps а ты в каждом app.yaml все кластера вписываешь?
Andor
или можно упростить как-то
𝚔𝚟𝚊𝚙𝚜
@kvaps а ты в каждом app.yaml все кластера вписываешь?
В каждом, где оно должно работать, упростить можно через CLI: ks env add --namespace ... по дефолту добавится сервер из текущего контекста
Andor
ну вот например у меня копс, я хочу чтобы переключением контекстов занимался он
Andor
а ксоннет только генерил для указанных контекстов ямл-файлы
Andor
мне не сложно даже их применять через kubectl apply -f и хранить в моём гите
Andor
чтобы генерить
Andor
у меня между кластерами конфиги разные например
𝚔𝚟𝚊𝚙𝚜
ks apply <env> и никакой контекст переключать не надо перед этим, он сам задеплоит в нужный кластер
Andor
а откуда он возьмёт в какой мастер мне деплоить надо, а в какой - не надо?
Andor
вот я щас оператора запустил только в одном кластере
𝚔𝚟𝚊𝚙𝚜
Ну ты же указываешь server url в app.yaml, он посмотрит на него, затем найдет в твоём кубе-конфиге подходящий костер и задеплоит в него
Andor
ну у меня прост кластера запущены копсом и это я менять точно не буду
Andor
он может вписать контексты в конфиг куба
Andor
дублировать это в app.yaml как-то тупо :|
𝚔𝚟𝚊𝚙𝚜
Ну если хочешь самостоятельно применять, то можно просто: ks show <env> | kubectl apply -f - Ну а так Ksonnet - это deployment-manager же тоже, он даже какое-то состояние в аннотациях хранит
Andor
и ещё я не понял как мне заимпортить ксоннетом либу
Andor
могу это сделать через jb конечно
𝚔𝚟𝚊𝚙𝚜
и ещё я не понял как мне заимпортить ксоннетом либу
Сгенери что-нить из прототипа, там были примеры
Andor
то есть нельзя сказать, что prod это вот эти вот три кластера указанные в трёх контекстах в ~/.kube/config
𝚔𝚟𝚊𝚙𝚜
Ты ведь ksonnet-lib хочешь?
Andor
нет
Andor
я хочу kube-prometheus
𝚔𝚟𝚊𝚙𝚜
ну вот <env> это же только для одного кластера, получается?
Ну у меня так: Если приложение одно на кластер, то указывается имя кластера: prod devel stage Если инстансов несколько на кластер, то указываю через /: prod/app1 prod/app2 prod/app3 Это удобно потому что для каждого приложения можно инклюдить общие параметры из prod
Andor
ну блин у меня prod - не имя кластер
Andor
прод у меня в двух кластерах
Andor
в разных
Andor
они запущены копсом
George
они запущены копсом
не используй kops :-)
Andor
не используй kops :-)
зашибись совет что ж тогда мне использовать предлагаешь?
George
а то я тебе ща опеншит начну продавать
George
или rke
Andor
нет смысла, я через неделю увольняюсь
George
ааа
Andor
копс на что-то левое менять я не собираюсь
George
тогда желаю успехов )
Andor
копс меня сейчас устраивает
𝚔𝚟𝚊𝚙𝚜
Ну разделяй их через / значит: prod/ru prod/us Здесь как твоя фантазия тебе подскажет
George
копс на что-то левое менять я не собираюсь
rke, по-твоему, левое? как и опеншифт?
George
эх. жаль.
𝚔𝚟𝚊𝚙𝚜
Ну разделяй их через / значит: prod/ru prod/us Здесь как твоя фантазия тебе подскажет
Смысл в том что бы не описывать одни и те же параметры дважды
Andor
Сгенери что-нить из прототипа, там были примеры
карочи надо чтобы был файлик registry.yaml в репозитории рядом с kube-prometheus https://github.com/ksonnet/parts/blob/master/incubator/registry.yaml
Andor
Смысл в том что бы не описывать одни и те же параметры дважды
вот поэтому я и не понимаю зачем мне их описывать дважды: один раз в ~/.kube/config и второй раз в app.yaml
G72K
а на голом jsonnet
Я наоборот с ksonnet на голый jsonnet уйти хочу :)
Andor
особенно учитывая что первый генерится
Andor
Я наоборот с ksonnet на голый jsonnet уйти хочу :)
я очень хочу импорт готового ямля, в голом жсоннет его нет
Andor
и вообще дофига чего нет
Stefan
не используй kops :-)
тю а что с ним не так?
G72K
я очень хочу импорт готового ямля, в голом жсоннет его нет
Готовый ямл это однострочник на питоне из ямла в джсон
𝚔𝚟𝚊𝚙𝚜
Потому что ты можешь дать этот апп кому-то другому, и он у него будет работать точно также. То есть у тебя описано готовое финальное состояние: Это такой-то апп для деплоя в таком то кластере
Andor
и заметную часть моих наколенных поделок можно дропнуть
Andor
Готовый ямл это однострочник на питоне из ямла в джсон
однострочник мне превращает мой ямль в что-то другое, что уже ломает возможность заимпортить готовые ямли как есть и не трахать мозг конвертацией
Sergey
Коллеги, добрый день! Подскажите пожалуйста, кто какие инструменты деплоя в k8s использует у себя на CI\CD конвейере
Sergey
helm ?
George
тю а что с ним не так?
Ну, я не спорю, что он лучше, чем kube-spray
G72K
и вообще дофига чего нет
Чего ещё нет? Хочу знать что меня ждет
George
Но я хочу единый и надёжный способ развертывания и, главное, поддержки класьера
Andor
Чего ещё нет? Хочу знать что меня ждет
ну в самом жсоннет нет фичи +:: для элемента массива, но её так же нет и в ksonnet
G72K
helm ?
ksonnet/jsonnet , ещё kaptain достойный