Rainbow
Я бы сказал, что пофиг, как удобней. Хоть микс.
Rainbow
Т.е. никто не мешает держать runner и в общем и в личном. Если нужно и это не бесполезное дублирование.
G72K
второе
В чем бонус? У меня все права очень ограничены, если раннеры не там, где аписервер в который они будут деплоить, то муторно вытаскивать токены для сервис аккаунта из одного кластера и прописывать их в другом
bebebe
G72K
G72K
второе
Вижу преимущество в том, что права на гит клон и вообще доступа до гитлаба давать из других кластеров не надо
bebebe
в первом случае: вы должны научиться деплоить раннеров в ваших k8s, поддерживать коннективити между раннерами в k8s и вашим gitlab, и как-то в целом следить что-бы они были онлайн
во втором случае: вы деплоите gitlab, внутри запускаете pod'ы которым пропихиваете kubeconfig/api tokens, которые удаленно работают с k8s.
второй случай более простой и безотказный
bebebe
ясно понятно, какие есть еще нюансы?
bebebe
например что у кластеров коннективити с gitlab'ом есть только по понедельникам с 8am-10am PST+4?
G72K
Я сделал первый вариант пока, но сильно не думал , а вот сейчас задумался :) второй вариант кажется правильнее. собираю мнения если кто как рашал прежде чем переделывать :) (думать о том что делаешь ДО не вариант как водится :) )
Yaros
всем привет
заранее извиняюсь за нубский вопрос, но где можно почитать по тому, как разные типы конфигурации отдаются контейнеру в кубернете?
То есть у меня три среды: dev, qa, prod под каждую свой конфиг, скажем в dev.env, qa.env, prod.env. Как правильно в кубернете отдавать конфигурацию в зависимости от окружения и как вообще правильно
вести разработку если есть окружение для dev, qa, prod? Пока смотрю на ConfigMap и вроде то, что нужно или есть другие варианты?
Rainbow
всем привет
заранее извиняюсь за нубский вопрос, но где можно почитать по тому, как разные типы конфигурации отдаются контейнеру в кубернете?
То есть у меня три среды: dev, qa, prod под каждую свой конфиг, скажем в dev.env, qa.env, prod.env. Как правильно в кубернете отдавать конфигурацию в зависимости от окружения и как вообще правильно
вести разработку если есть окружение для dev, qa, prod? Пока смотрю на ConfigMap и вроде то, что нужно или есть другие варианты?
Конфиги это файлы?
Rainbow
Новые приложения конфигурировать только через ENV
А для старых, которые хотят разные файлики и перепиливать лень - просто делаю cat conf | base64 и в одну ENV, обычно это уже легаси.
Yaros
@alexesDev да, конфиги это разные файлы.
Rainbow
Как я выше написал, у меня рецепт крайне простой 😊 закатать в base64 и распаковывать при старте.
Yaros
@alexesDev а где изначально конфиг хранится?
Aleksei
всем привет
заранее извиняюсь за нубский вопрос, но где можно почитать по тому, как разные типы конфигурации отдаются контейнеру в кубернете?
То есть у меня три среды: dev, qa, prod под каждую свой конфиг, скажем в dev.env, qa.env, prod.env. Как правильно в кубернете отдавать конфигурацию в зависимости от окружения и как вообще правильно
вести разработку если есть окружение для dev, qa, prod? Пока смотрю на ConfigMap и вроде то, что нужно или есть другие варианты?
в helm деплоить с нужным -f values-qa.yaml ?
Rainbow
Rainbow
раньше лежал в fs, потом base64 и в gitlab. gitlab через env прокидывает в кубер.
Rainbow
Распаковать, поменять, запаковать - редкая операция, не напрягает.
Yaros
@wowsel то есть по сути такая структура: у меня доккер образ, который зависит от конфига и три конфига: dev.env, qa.env, prod.env я могу просто отдавать их helm типа -f qa.env так?
Не работал в хелмом, поэтому вопрос. он для разных окружений свой образ сделает или будет один образ а потом при старте контейнера ему надо отдавать конфиг нужный?
Yaros
@alexesDev а каким образом прокинуть какое окружение в кубер? Это для меня как раз сложный вопрос, как кубернету, который поднимает контейнер сказать с каким конфигом поднимать и в какой момент конфиг отдается и кем.
Aleksei
Aleksei
Yaros
спасибо за ответы @wowsel @alexesDev , буду разбираться!
Andrey
Andrey
это какое-то необоснованное предубеждение, ENV не универсальный вариант, да и не самый секурный
Etki
у энва-то принципиально секурность отличается от всего остального
Rainbow
Rainbow
У меня сейчас в большенстве мест тег равен CI_COMMIT_SHA и при kubectl apply идёт пересоздание подов, хотя фактически они часто не меняются 😬 Пока всем пофиг, руки не дойдут пофиксить.
Rainbow
Т.е. это не супер страшно. Страшно если так не получается делать из-за каких-то проблем (значит, что решение плохо работает в случае крэша пода).
Anton
Andrey
hi all! посоветуйте, пожалуйста, как увеличить размер pv и привязанного к нему pvc, если provisioner в их storageclass является host-path ?
Andrey
мб есть какая-то конкретная литература на эту тему?
Anton
шо за провижионер с hostpath? =)
Andrey
я, мб, нублю (: - дело для меня новое, мб, неправильно вопрос задал.
Andrey
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"storage.k8s.io/v1","kind":"StorageClass","metadata":{"annotations":{},"name":"gitlab-storage-config","namespace":""},"provisioner":"kubernetes.io/host-path","reclaimPolicy":"Retain"}
creationTimestamp: 2018-08-17T05:16:04Z
name: gitlab-storage-config
resourceVersion: "5859522"
selfLink: /apis/storage.k8s.io/v1/storageclasses/gitlab-storage-config
uid: a3b87c04-a1dc-11e8-ae43-1c6f6581d4b0
provisioner: kubernetes.io/host-path
reclaimPolicy: Retain
volumeBindingMode: Immediate
Andrey
вот такой у меня storageclass, делал тестовое все, для gitlab-a
Andrey
к нему привязан pv к pv обращается pvc. Все это на локальном сервере устроено. Хочется без лишних страданий научиться изменять размер pv и pvc.
Andrey
https://kubernetes.io/blog/2018/07/12/resizing-persistent-volumes-using-kubernetes/
Andrey
читал. там, как мне кажется, ключевое - Although the feature is enabled by default, a cluster admin must opt-in to allow users to resize their volumes. Kubernetes v1.11 ships with volume expansion support for the following in-tree volume plugins: AWS-EBS, GCE-PD, Azure Disk, Azure File, Glusterfs, Cinder, Portworx, and Ceph RBD.
Andrey
попробовал у себя, на тестовом pvc, получил - error: persistentvolumeclaims "local-claim-1" could not be patched: persistentvolumeclaims "local-claim-1" is forbidden: volume plugin does not support resize
Andrey
мне кажется, для host-path цифры в pvc не особо важны
Andrey
вот я примерно о том же думаю - там же каталог, и все.
Andrey
но хочется уверенности (:
Andrey
проверь. выдели 8G, зайди в контейнер, посмотри, сколько доступно
Andrey
скорее всего будет доступно всё, а не 8G
Andrey
а, интересно, как выражается переполнение ресурса? это где-то видно?
Andrey
ок, попробую, спасибо за совет.
Andrey
еще уточнение - то есть выделить именно в pv? а в pvc должен остаться больший размер, который был изначально?
Antony 🇫🇷
Доброе утро, господа. Кто-нибудь юзал pharos?
Antony 🇫🇷
pharos.sh
Grigorii
нормальный у них такой в прайсе свитч usd <—> eur
просто значок валюты около цифры меняется 😂
Mikhail [azalio]
Зачем такое вообще нужно
G72K
Затем же зачем и kubeadm
Siarhei
Доброго дня, подскажите как поступить, есть сервис, есть бэкэнды, бэкэнд зависим от сессии пользователя. соответсвенно как разрулить пльзователей чтоб вязались к одному и тому же бэкэнду, путь снаружи через ингресс - сервис - бэкэнд?
Dmitrii
Храните сессии юзеров в общем хранилище уже
Vitalii
Antony 🇫🇷
Siarhei
бэкэнд - сторонне приложение. если в севрисе один под все ок, если больше - беда..
makrusak
Бывает, что всё-таки нужно привязать юзера и бэкенд.
Sessionaffinity для этого, если я правильно понимаю
Siarhei
спс пошел читать
Anton
спс пошел читать
https://kubernetes.github.io/ingress-nginx/examples/affinity/cookie/README/
предположу что ingress-nginx используешь
Siarhei
угу
Anton
тут есть нюансы как всегда, если куки нет, я так понимаю ingress ее воткнет
Anton
тоесть клиент не по куке бэкэнда прилипнет, его прилипят к бэкенду и там он получит уже куку от бэка и начнет работу
Siarhei
какраз по куке прилаги и отваливается.. т.е. через nginx.ingress.kubernetes.io/affinity + nginx.ingress.kubernetes.io/session-cookie-name пробросится кука в сервис, а описании сервиса sessionAffinity: по той же куке?
bebebe
Juriy
Anton
Andrey
Всем привет, в доках написано что кубер 1.8\1.9 поддерживает версию 17.03.х. Это последняя актуальная версия или документация просто не обновлялась?
Anton
это последняя, что прошла валидацию
Anton
у них там движуха в сторону валидации версии docker api, ведь версии docker поддерживают несколько версий api обычно и можно фиксироваться на api version, а не использовать старшую доступную, как сейчас.
но это в планах только как я понял
Anton
работает и на 18.06, сам запускал, проблема пока не ловил
Andrey
т.е если какие-то косяки обнаружатся, нас просто отошлют к последней валидированной версии)) понятно
Anton
ну да, и мой профиль может отличаться от вашего =) так что обязательно тестировать нужно
Anton
Alexander N.
подскажите как лучше оформить зависимости между helm-чартами. Есть 10 чартов, из них 4 это базы, они долго поднимаются, надо чтобы чарты с приложениями начинали подниматься только после того, как поды с базами станут ready.