kay
Вообще для меня было сюрпризом, что до сих пор никто ничего толкового не придумал. Все используют shell+kubectl
Artem
зачем изобретать велосипед, чем kubectl плох?
Салтыдык
ну так-то можно и курлом, если уж по-хипстерски
kay
kay
перед использованием kubectl нужно kubeconfig подготовить.
kay
а хочется в jenkins просто выбирать secrets для нужного тебе кластера и namespace
kay
у меня кластеров много.
kay
сейчас зоопарк обвязок deploy.sh для каждого проекта. с содержимым типа:
cat > "${K8S_CONFIG}" <<- EOM
apiVersion: v1
clusters:
- cluster:
certificate-authority: /data/docker/k8s-ca.pem
server: https://1.2.3.4
name: ${K8S_CONTEXT}
contexts:
- context:
cluster: ${K8S_CONTEXT}
user: jenkins
name: ${K8S_CONTEXT}
current-context: ${K8S_CONTEXT}
kind: Config
preferences: {}
users:
- name: jenkins
user:
client-certificate-data: ${K8S_CERT}
client-key-data: ${K8S_KEY}
kay
вот поставил, изучаю и что-то не могу найти требуемый пример
Etki
да я уже увидел, что там что-то не то
Etki
с дженкинсом, к сожалению, пока приходится ковырять исходный код, чтобы увидеть как с этим все работать
kay
nvkv
костыль, конечно
nvkv
но работает отлично
kay
а еще нет возможности изкоробки сохранять все изменения манифестов ыв репу
nvkv
ето да
Zon
двавай
https://gist.github.com/iMelnik/9903073829046829c3eb8111129e7248 как-то так. "Я не настоящий сварщик"
kay
если понравится, создам репу запилю автоматизацию и будет готовый проект
Zon
👍
Zon
я хотел гугловую авторизацию прикрутить, но остановился на том что есть
Zon
инкластер должно заводиться без бубна
G72K
Михаил
Михаил
Михаил
kay
Openstack вас победит
Михаил
из живого
kay
aws :)
kay
даёшь больше названий проектов.
Zon
Helm же
Да, я думал тиллер напрямую дергать, но решил что это немного перебор для моей задачи. хотя есть https://github.com/AcalephStorage/rudder
kay
вброс: унифицировать и упростить деплоймент для множества кластеров и namespaces. избавиться от bash скриптов
Михаил
без подробностей сложно помочь
kay
либо настраивать kubectl исключительно используя environment variables и избавиться от kubeconfig. так можно?
kay
и запилить set of secrets в jenkins на все случаи жизни
kay
http://stackoverflow.com/questions/41433577/how-to-authenticate-kubectl-using-environment-variables
kay
Пока только такое решение для себя нашел:
curl -v -XPUT -H "Content-Type: application/json" "${KUBE_API_URL}/apis/extensions/v1beta1/namespaces/${NAMESPACE}/deployments/${DEPLOYMENT}" --cacert <(echo "${BASE64_CA}" | base64 -d) --cert <(echo "${BASE64_CERT}" | base64 -d) --key <(echo "${BASE64_KEY}" | base64 -d ) -d@<(python -c 'import sys, yaml, json; json.dump(yaml.load(sys.stdin), sys.stdout)' < deployment.yml)
kay
голый yaml с Content-Type: application/yaml у меня почему-то не проглатывается
Etki
майм-тайп вроде x-yaml, емнип
Etki
disregard that, в своггере просто application/yaml
yolkov
если в одном клатере все, то для kubectl можно без секретов, через serviceaccount
G72K
Sn00part
мегафон так и лежит. я слышал они там как раз k8s начали внедрять бгг
Anonymous
deis?
Igor
deis?
А как жить с deis без AWS, GCS и т.д?
Anonymous
Он к ним не приаязан
Igor
A variety of Deis Workflow components rely on an object storage system to do their work, including storing application slugs, Docker images and database logs.
Igor
Т.е workflow требует AWS...
Anonymous
slugs не нужны если докерами деплоить, docker registry можно свой подсунуть... ну да, там надо в настройках bucket указывать но в целом есть знакомые которые на bare metal это держат
Anonymous
Самому интересно стало надо будет спросить
KlonD90
А насколько мне поможет такая штука как https://coreos.com/tectonic/ ?
G72K
Olsen
Olsen
Olsen
https://github.com/alekssaul/minikube-tectonic/blob/master/minikube-up.sh
Dmitry
Всем привет
А есть какой-то способ сконфигурить readiness и liveness probes так, что бы они при старте чекали под и не фейлили его пока он не поднимется или пока не пройдет какой-то таймаут? При старте пода вначале запускаются скрипт прогревания кеша, а потом уже сам апликейшн. Кеш может прогреваться и 2 минуты и 5 минут. Сейчас поставил initialDelaySeconds в 5 минут и получается в любом случае, даже если апликейшн будет ready через 2 минуты, первый чек пойдет только через 5 минут и только после этого он будет включен в балансер.
Vitalii
если я правильно понял, то initialDelaySeconds нужно поставить только для livenessProbe
Dmitry
тогда оно фейлит под на этапе инициализации
Zon
Может прогрев кеша вынести в инит-контейнер?
Zon
Dmitry
хм, идея неплоха, спасибо. Кеш - это файл у меня, осталось только еще видимо через volume его копировать между контейнерами
G72K
Vitalii
сюрпризы, это когда они зависают при старте и всё?
G72K
нет, это когда их обновляешь, делаешь kubectl apply, а ничего не происходит
G72K
в итоге выясняется, что только обновления image перезапускают под :)
G72K
любые другие параметры -нет. Учитывая что у меня init containerы были /bin/sh -c 'abc', было занятно
G72K
Dmitry
да, т.к. во-первых шанс что ничего не поменялось очень мал, если бы релиз, а во-вторых т.к. идет rolling-update на апликейшене это почти никак не сказывается
Denis
https://www.facebook.com/danikin2/posts/1576256925752703
Denis
Кто уже сетапил Кубер в Infra? ;)
KlonD90
вот да сегодня прочел
KlonD90
что за тема с infra
KlonD90
Аникина в тред плиз