Size: a a a

Kubernetes — русскоговорящее сообщество

2020 October 27

AP

Alex Pakka in Kubernetes — русскоговорящее сообщество
Oleg Avdonin
Привет всем. У меня тупой вопрос, а чем мне лучше задеплоить в локальный кластер (minikube) использую локальный докер регистри. Я всю жизнь деплоил CI-eм в облака, а тут надо проект сделать, чтобы 1-2 команды и все взлетает.

Я правильно понимаю что единственный вариант это shell script в роли CI? Или есть какие то продвинутые варианты?
Один из типичных подходов - Jenkins pod, который следит за каким-то git repository и выполняет там pipelines. Там есть плагин который может выполнять kube команды (ищи kubernetes-plugin)
Но это все занимает несколько дней работы - разобраться и т.д. В лучшем случае. Можно глянуть на Jenkins X. Когда я смотрел был сыроват, но похоже, сейчас лучше.
Но опять же… если проект простой и компонент мало, то можно блин на node / express написать за пару часов сервис
источник

*

*sm1Ly in Kubernetes — русскоговорящее сообщество
а если хелм чарт ?
источник

OA

Oleg Avdonin in Kubernetes — русскоговорящее сообщество
да, будет helm
но мне ж надо чем то запустить helm add repo && helm install
плюс до этого сбилдить и положить в локальный registry
источник

OA

Oleg Avdonin in Kubernetes — русскоговорящее сообщество
Похожу шел наше все
источник

AL

Aleksey Lazarev in Kubernetes — русскоговорящее сообщество
makefile твое все
источник

AP

Alex Pakka in Kubernetes — русскоговорящее сообщество
Oleg Avdonin
да, будет helm
но мне ж надо чем то запустить helm add repo && helm install
плюс до этого сбилдить и положить в локальный registry
https://github.com/eldada/jenkins-pipeline-kubernetes/blob/master/Jenkinsfile ну вот тут pipeline делает helmInstall() и т.д.
источник

AP

Alex Pakka in Kubernetes — русскоговорящее сообщество
но с этим разводиться стоит только если это нужно - то есть билды, интеграционные тесты, расширяемость решения и т.д.
Мне кажется, для проекта на 3 компонента достаточно будет и shell скрипта / make file или что нравится
источник

OA

Oleg Avdonin in Kubernetes — русскоговорящее сообщество
Видимо шелл скрипт, Makefile почему то запрещены условиями.

Большой и серьезный CI/CD тут не нужен, это тестовое задание по сути, которое подразумевает деплой в minikube

Всем спасибо
источник

k

kvaps in Kubernetes — русскоговорящее сообщество
Oleg Avdonin
да, будет helm
но мне ж надо чем то запустить helm add repo && helm install
плюс до этого сбилдить и положить в локальный registry
helm умеет сразу из директории чарты деплоить, ничё билдить не надо
источник

OA

Oleg Avdonin in Kubernetes — русскоговорящее сообщество
ну docker image то надо сбилдить перед тем как хельм запускать
источник

AP

Alex Pakka in Kubernetes — русскоговорящее сообщество
Oleg Avdonin
Видимо шелл скрипт, Makefile почему то запрещены условиями.

Большой и серьезный CI/CD тут не нужен, это тестовое задание по сути, которое подразумевает деплой в minikube

Всем спасибо
из shell самое интересное будет отслеживать изменения в git repo. Git hook или cron типа
*/5 * * * * cd <project_dir> && git pull -q origin master && build-if-changed.sh
источник

OA

Oleg Avdonin in Kubernetes — русскоговорящее сообщество
я ж говорю, тестовый проект, это не понадобиться. 1 раз развернуть, т.е. это не совсем CI :D
источник

k

kvaps in Kubernetes — русскоговорящее сообщество
Oleg Avdonin
ну docker image то надо сбилдить перед тем как хельм запускать
интересный момент :)
источник

k

kvaps in Kubernetes — русскоговорящее сообщество
я бы запустил docker-registry в minikube и положил бы имадж туда
источник

AP

Alex Pakka in Kubernetes — русскоговорящее сообщество
Oleg Avdonin
я ж говорю, тестовый проект, это не понадобиться. 1 раз развернуть, т.е. это не совсем CI :D
а. тогда это совсем не СI 🙂 shell хватит с головой
источник

OA

Oleg Avdonin in Kubernetes — русскоговорящее сообщество
kvaps
я бы запустил docker-registry в minikube и положил бы имадж туда
Огонь 👍  Я после проекта уже не соображаю толком!
источник

МР

Марат Рахимов... in Kubernetes — русскоговорящее сообщество
Alex Pakka
Один из типичных подходов - Jenkins pod, который следит за каким-то git repository и выполняет там pipelines. Там есть плагин который может выполнять kube команды (ищи kubernetes-plugin)
Но это все занимает несколько дней работы - разобраться и т.д. В лучшем случае. Можно глянуть на Jenkins X. Когда я смотрел был сыроват, но похоже, сейчас лучше.
Но опять же… если проект простой и компонент мало, то можно блин на node / express написать за пару часов сервис
https://taskfile.dev/
Какой-нибудь
источник

RA

Rustam Akhmetgaliev in Kubernetes — русскоговорящее сообщество
Всем привет. Ребят, подскажите пожалуйста, у меня есть три виртуалки с public ip на которых крутятся ingress. Что мне поставить в качестве балансера для ingress? HAProxy? Чёт я разучился работать с k8s вне облаков.
источник

G

Grigoriy in Kubernetes — русскоговорящее сообщество
Так-то ингресс сам по себе балансер. Если у тебя один ингресс, то можно ничего больше не ставить. Если больше одного ингресса, то в качестве л4 балансера можно юзать: Haproxy, ipvs, bird+ecmp и тп, можно все это вместе юзать. Тут очень много зависит от требований надежности к системе
источник

G

Grigoriy in Kubernetes — русскоговорящее сообщество
Ну и от архитектуры сети.
источник