@kubernetes_ru

Страница 582 из 958
Mikhail
25.05.2018
13:30:36
Ну т.е. есть, но теряется гибкость

Dmitrii <freehck>
25.05.2018
13:40:29
containers: - name: $CI_PROJECT_NAME image: docker.ecp-share.com/$CI_PROJECT_NAME-$CI_COMMIT_REF_NAME:latest imagePullPolicy: Always env: - name: REDEPLOY_VARIABLE value: '$DATE'
за imagePullPolicy большое спасибо а зачем устанавливаете в окружение REDEPLOY_VARIABLE?

Дмитрий
25.05.2018
13:40:34
как в мане написано kubectl set env RESOURCE/NAME KEY_1=VAL_1

Google
Mikhail
25.05.2018
13:43:12
за imagePullPolicy большое спасибо а зачем устанавливаете в окружение REDEPLOY_VARIABLE?
У меня был расчёт на то, что если файл деплоймента поменяется, то k8s стартанёт процесс редеплоинга. Но как правильно заметил Дмитрий, переменную можно менять не через хак файла, а через сеттинг переменной напрямую. Название переменной же выбрано в произвольном порядке

Dmitrii <freehck>
25.05.2018
13:46:07
У меня был расчёт на то, что если файл деплоймента поменяется, то k8s стартанёт процесс редеплоинга. Но как правильно заметил Дмитрий, переменную можно менять не через хак файла, а через сеттинг переменной напрямую. Название переменной же выбрано в произвольном порядке
Понятно. Хочу уточнить нюанс: если imagePullPolicy установлен в always — это ведь не значит, что кубер будет сам периодически перевыкачивать latest, да? Это значит, что после kubectl image set deployments/deployment-name container-name=my-registry/docker-namespace/docker-repository, он выкачеет новый latest, так ведь?

Дмитрий
25.05.2018
13:47:47
В противном случае просто запустится с тем что уже есть

Дмитрий
25.05.2018
13:48:38
Да, но когда?
при запуске деплоймента или изменении в нём

Dmitrii <freehck>
25.05.2018
13:49:01
Хм. Я запускал до сих пор деплоймент посредством kubectl image set...

Ок, пойду читать доки, как правильно. Спасибо всем большое.

Дмитрий
25.05.2018
13:53:17
Хм. Я запускал до сих пор деплоймент посредством kubectl image set...
да, kubectl set image менят поле image в деплойменте, по этому он и перезапускается. Точно так же его можно менять через kubectl edit интерактивно, через kubectl patch ... через kubectl apply -f ... и ещё не знаю сколько способов, но суть у них одна, внесение изменений в дейплоймент.

Дмитрий
25.05.2018
13:54:19
да

Dmitrii <freehck>
25.05.2018
13:55:02
И это запустит деплоймент, даже если в файле нет изменений, но при этом будет проверено, нету ли свежего :latest-образа?

Дмитрий
25.05.2018
13:55:40
нет, если изменений небыло то не запустит

Google
Dmitrii <freehck>
25.05.2018
13:58:00
Ясно, спасибо.

Mikhail
25.05.2018
14:00:35
нет, если изменений небыло то не запустит
По этой причине я и ставил там $DATE изменяемый

Dmitrii <freehck>
25.05.2018
14:00:40
Короче, yaml деплоймента надо генерировать.

Mikhail
25.05.2018
14:01:11
как в мане написано kubectl set env RESOURCE/NAME KEY_1=VAL_1
Если цель только перевыложить latest - лучше так

Dmitrii <freehck>
25.05.2018
14:01:57
Если цель только перевыложить latest - лучше так
Во. Это мне вполне подойдёт. Спасибо.

Эгегей, работает! :) $ kubectl set env deployments/document-parser-deployment DATE=$(date +%F-%T) deployment.apps "document-parser-deployment" env updated

Andor
25.05.2018
14:20:02
Перестаньте использовать latest и всё будет ок

Дмитрий
25.05.2018
14:34:04
как ещё использовать bleeding-edge релизы?)

Andor
25.05.2018
14:34:45
Стреляя себе в ногу или без?

Если второе, то через CD

Дмитрий
25.05.2018
14:36:15
У меня, например, для ветки stage используется такой способ для выкатки на тестирование автоматически. только там не :latest, а :stage, но суть та же.

Дмитрий
25.05.2018
14:41:54
ага

Andor
25.05.2018
14:43:02
Ну в смысле вешай там теги и катай на стейжинг автомагически

Дмитрий
25.05.2018
14:49:24
Ну в смысле вешай там теги и катай на стейжинг автомагически
ну а какие там теги вешать? по пушу с тегом в гит собирается и выкатывается в прод. Вешать для стэйджа что-то из тегов пайплайна какой смысл? всё равно не возникнет задачи откатить стеджинг на какую-то другую версию. Там типа выкатили в стейджинг, протестили, если норм, запушили с тего и прод. В проде уже контейнеры с нормальными тегами. При этом в CI удобно использовать одну переменную $CI_COMMIT_REF_NAME которая гитовый тэг или имя ветки.

Deep Sea
25.05.2018
15:03:45
всегда можно использовать sha коммита

Дмитрий
25.05.2018
15:25:15
Можно хоть n+1, я же говорю, нету смысла.

Dmytro
25.05.2018
17:05:34
смысл самый прямой - единообразно деплоится и прод и другие энвы

и понятно что же задеплоено сейчас в данный момент, потому что ну вижу я в описании пода :latest тег и что?

Google
Dmytro
25.05.2018
17:06:21
никакой возможности понять что же в данный момент внутри контейнера нет

короче latest для контейнеров с приложениями это бред

(ну и все аналоги :stable, :edge :staging и прочее)

Andor
25.05.2018
17:11:25
технически версию можно в аннотации сунуть

но проще лейблом имжа

Dmytro
25.05.2018
17:14:12
или в аннотациях чего?

Rip
25.05.2018
17:17:27
Кoшeльки с бaлaнсом ---------------------------------------------- Пpoдaём кoшeльки : ? Qiwi ? Яндeкc дeньги ? Pаyеer ? WеbMonеy Заходи и зaрабатывай ! ? @VisaProfitBot

Banschikov
25.05.2018
17:19:55
Мужики, подскажите а с Calico в statefullSet поды могут видеть друг друга по имени сервиса ?

Dmytro
25.05.2018
17:25:04
если я правильно понял вопрос - с любой сетью должны видеть по FQDN пода (в которой есть имя headless сервиса)

Banschikov
25.05.2018
17:30:21
если я правильно понял вопрос - с любой сетью должны видеть по FQDN пода (в которой есть имя headless сервиса)
Да решил уточнить. Просто странно. В моем кластере этого не происходит

Mikhail
25.05.2018
17:34:12
Dmytro
25.05.2018
17:43:33
https://kubernetes.io/blog/2018/05/24/kubernetes-containerd-integration-goes-ga/ вроде не кидал еще никто

так что уже и докер на нодах не нужен

Да решил уточнить. Просто странно. В моем кластере этого не происходит
а точно есть headless service и вы пишите правильно хостнейм? И что значит "видеть"? Пинговаться поды не будут но по телнету можно зайти на заэкспозженный порт по FQDN и порту

Dmytro
25.05.2018
17:49:53
В аннотациях деплоймента можно добавить версию, но смысла не очень
так это ж ничего не дает, никакой гарантии что то что написано в аннотации и то скачается из реджистри по latest тегу как-то связано

Andor
25.05.2018
17:51:07
Конечно

Google
Andor
25.05.2018
17:51:18
Про containerd интересно

А чо тогда с cri-o будет

А, кажется это оно и есть по сути

Dmytro
25.05.2018
18:00:40
я так понял что CRI это интерфейс/стандарт а containerd - одна из реализаций (наверное пока других и нет)

по сути как они сделали сначала с нетворк а потом с девайс плагинами

Andor
25.05.2018
18:01:16
Ага, похоже на то

А крио был типа пруф оф концепт

Alex Milushev
25.05.2018
18:03:35
cri-o емнип независимый проект

Banschikov
25.05.2018
18:04:54
а точно есть headless service и вы пишите правильно хостнейм? И что значит "видеть"? Пинговаться поды не будут но по телнету можно зайти на заэкспозженный порт по FQDN и порту
Хостнейм точно пишу правильно. Ну покрайней мере hostname -f на самом поде врать не будет. Видеть, имеется в виду взаимодействовать и обмениватся информацией к примеру. У меня обычный сервис по типу ClusterIP. Причем попробовал на нашем тестовом кластере это все дело развернуть, который деплоил не я. Там все завелось. Но какой сетевой плагин я не знаю.

Banschikov
25.05.2018
18:07:09
host <service dns name> В контейнере делали?
Да. Свой DNS резолвит ,а вот соседние не хочет

Andor
25.05.2018
18:07:25
cri-o емнип независимый проект
то-то он в kubernetes-incubator/cri-o обитает

Alex Milushev
25.05.2018
18:08:25
cri это интерфейс, протокол

cri-o имплементация

Но Я могу ошибаться

Andor
25.05.2018
18:09:27
всё так

Dmytro
25.05.2018
18:40:34
вот нашел в хистори какие имена у подов стейтфулсета

## and pod dns names will be: ## $(statefulset name)-0.$(service name).$(namespace name).svc.cluster.local ## $(statefulset name)-1.$(service name).$(namespace name).svc.cluster.local ## $(statefulset name)-2.$(service name).$(namespace name).svc.cluster.local

у меня тоже калико сеть - работает

Google
Dmytro
25.05.2018
18:42:01
а что видно в endopints у этого headless service если сделать describe?

кстати, а это https://mcs.mail.ru/containers было или нет?

> Надежные кластеры Kubernetes в облаке от Mail.Ru Cloud Solutions для высоконагруженных сайтов и приложений

Mikhail
25.05.2018
18:49:54
Было дело. Если есть желание почитать про то, как его полили говном, можно проскролить чуть выше

Dmytro
25.05.2018
18:50:38
ясно, я глянул калькулятор - как-то дорого выходит

Dmytro
25.05.2018
18:51:18
в vscale сильно дешевле будет, понятно что селфхостед

а кто вообще сталкивался с поддержкой облака мылосру? там она вообще есть?

Mikhail
25.05.2018
18:52:23
Селектел ещё вспомнили

Denis
25.05.2018
19:36:31
? Друзья, срочно ищем двух докладчиков на Moscow Kubernetes Meetup, который состоится 20 июня! Есть что рассказать? Интересный опыт поделиться? Готовы сделать вклад в развитие и становление Kubernetes-сообщества? Может сделать обзор интересных решений в экосистеме? Боль и радость внедрения и эксплуатации - welcome! ? Напишите в ЛС.

Сорри, если кого-то разбудили в восточной части :)

Нет сил больше терпеть!

Пора собираться!

Страница 582 из 958