
Zon
19.05.2017
08:10:16
или как минимум ручной запуск без коммита

Semyon
19.05.2017
08:10:23
там же веб-морда есть

Let Eat
19.05.2017
08:10:36

Google

Semyon
19.05.2017
08:12:20
ну либо консул/волт/етцд
если сложностей хочется :)

Fike
19.05.2017
09:31:43

Artem
19.05.2017
09:34:28
простите за офтопик. а мегафон у вас в Москве сейчас норм работает?
или йота

Artem
19.05.2017
09:36:47
Видимо не только в Москве, симка не регистрируется в сети пишет экстренные вызовы
Казань

Let Eat
19.05.2017
09:36:54

Fike
19.05.2017
09:37:51
нет
ну в смысле да, но тебе самому потом надо отслеживать что где валяется
нет такого, чтобы ты зашел в билд, и у тебя во вкладке были отчеты о тестах

Google

Oxana
19.05.2017
09:40:05

Artem
19.05.2017
09:42:26
началось!

Yegor
19.05.2017
10:12:11

kay
19.05.2017
10:35:49
Нашел нечто похожее на то, что мне нужно.
Но его что-то забросили и он не поддерживает deployment:
https://github.com/coreos/krud

Айбелив
19.05.2017
11:07:31
the last changes were 2 years ago

Zon
19.05.2017
11:10:11
он правда только патч делал

kay
19.05.2017
12:00:59
Вообще для меня было сюрпризом, что до сих пор никто ничего толкового не придумал. Все используют shell+kubectl

Artem
19.05.2017
12:03:26
зачем изобретать велосипед, чем kubectl плох?

Айбелив
19.05.2017
12:03:40
ну так-то можно и курлом, если уж по-хипстерски

kay
19.05.2017
12:04:03
перед использованием kubectl нужно kubeconfig подготовить.
а хочется в jenkins просто выбирать secrets для нужного тебе кластера и namespace
у меня кластеров много.
сейчас зоопарк обвязок 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}
вот поставил, изучаю и что-то не могу найти требуемый пример

Fike
19.05.2017
12:07:23
да я уже увидел, что там что-то не то
с дженкинсом, к сожалению, пока приходится ковырять исходный код, чтобы увидеть как с этим все работать

kay
19.05.2017
12:08:23

Google

Semyon
19.05.2017
12:09:09
костыль, конечно
но работает отлично

kay
19.05.2017
12:09:47
а еще нет возможности изкоробки сохранять все изменения манифестов ыв репу

Semyon
19.05.2017
12:09:56
ето да

Zon
19.05.2017
12:19:04
двавай
https://gist.github.com/iMelnik/9903073829046829c3eb8111129e7248 как-то так. "Я не настоящий сварщик"

kay
19.05.2017
12:19:38
если понравится, создам репу запилю автоматизацию и будет готовый проект

Zon
19.05.2017
12:19:48
?
я хотел гугловую авторизацию прикрутить, но остановился на том что есть
инкластер должно заводиться без бубна

Let Eat
19.05.2017
12:41:33

Михаил
19.05.2017
12:46:47

Let Eat
19.05.2017
12:55:10

Михаил
19.05.2017
12:55:23

kay
19.05.2017
12:58:02
Openstack вас победит

Михаил
19.05.2017
13:00:24
из живого

kay
19.05.2017
13:00:37
aws :)
даёшь больше названий проектов.

Zon
19.05.2017
13:01:38
Helm же
Да, я думал тиллер напрямую дергать, но решил что это немного перебор для моей задачи. хотя есть https://github.com/AcalephStorage/rudder

Google

Михаил
19.05.2017
13:03:05

kay
19.05.2017
13:03:48
вброс: унифицировать и упростить деплоймент для множества кластеров и namespaces. избавиться от bash скриптов

Михаил
19.05.2017
13:04:31
без подробностей сложно помочь

Zon
19.05.2017
13:05:45

Admin
ERROR: S client not available

kay
19.05.2017
13:06:32
либо настраивать kubectl исключительно используя environment variables и избавиться от kubeconfig. так можно?
и запилить set of secrets в jenkins на все случаи жизни
http://stackoverflow.com/questions/41433577/how-to-authenticate-kubectl-using-environment-variables
Пока только такое решение для себя нашел:
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)
голый yaml с Content-Type: application/yaml у меня почему-то не проглатывается

Fike
19.05.2017
13:35:24
майм-тайп вроде x-yaml, емнип
disregard that, в своггере просто application/yaml

yolkov
19.05.2017
13:51:58
если в одном клатере все, то для kubectl можно без секретов, через serviceaccount

Let Eat
19.05.2017
13:53:17

Artem
19.05.2017
16:23:34
мегафон так и лежит. я слышал они там как раз k8s начали внедрять бгг

Vitaliy
19.05.2017
17:00:04

Andrey
19.05.2017
21:06:06
deis?

Igor
19.05.2017
21:10:30
deis?
А как жить с deis без AWS, GCS и т.д?

Andrey
19.05.2017
21:19:57
Он к ним не приаязан

Igor
19.05.2017
21:32:22
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.

Google

Igor
19.05.2017
21:32:59
Т.е workflow требует AWS...

Andrey
20.05.2017
04:56:59
slugs не нужны если докерами деплоить, docker registry можно свой подсунуть... ну да, там надо в настройках bucket указывать но в целом есть знакомые которые на bare metal это держат
Самому интересно стало надо будет спросить

KlonD90
20.05.2017
08:36:47
А насколько мне поможет такая штука как https://coreos.com/tectonic/ ?

Let Eat
20.05.2017
21:32:06

Roman
20.05.2017
23:39:58
https://github.com/alekssaul/minikube-tectonic/blob/master/minikube-up.sh

Dmitriy
22.05.2017
10:40:11
Всем привет
А есть какой-то способ сконфигурить readiness и liveness probes так, что бы они при старте чекали под и не фейлили его пока он не поднимется или пока не пройдет какой-то таймаут? При старте пода вначале запускаются скрипт прогревания кеша, а потом уже сам апликейшн. Кеш может прогреваться и 2 минуты и 5 минут. Сейчас поставил initialDelaySeconds в 5 минут и получается в любом случае, даже если апликейшн будет ready через 2 минуты, первый чек пойдет только через 5 минут и только после этого он будет включен в балансер.

Vitaliy
22.05.2017
10:45:50
если я правильно понял, то initialDelaySeconds нужно поставить только для livenessProbe

Dmitriy
22.05.2017
10:49:30
тогда оно фейлит под на этапе инициализации

Zon
22.05.2017
10:57:52
Может прогрев кеша вынести в инит-контейнер?

Dmitriy
22.05.2017
11:01:05
хм, идея неплоха, спасибо. Кеш - это файл у меня, осталось только еще видимо через volume его копировать между контейнерами

Let Eat
22.05.2017
12:01:52