
Maxim
12.09.2016
11:11:19
так про версии
глянь там
сейчас чейнжлоги такие, что про 1.2 читать уже вообще бессмысленно
а на днях уже 1.4 релизят

Google

Igor
12.09.2016
11:12:23
я не обратил внимание на версии, похоже все страдают этим, книги не успевают за выпуском новых версий
1.2.0 было в марте

Maxim
12.09.2016
11:12:45
в случае с кубернетесом - даже родная дока не успевает

Igor
12.09.2016
11:12:46
не так прям уж давно

Maxim
12.09.2016
11:13:00
я во времена 1.1 попробовал первый раз
а мануал был весь про 1.0
половина примеров из доки вообще не сходилась

Igor
12.09.2016
11:13:34
по его мануалу пробал на 1.2 и 1.3 - все прошло со свистом

Maxim
12.09.2016
11:13:34
и много чего вообще не было

kay
12.09.2016
11:14:08
а go template'ами здесь не обойтись? только json?
kubectl get no -o jsonpath='{range .items[*]}{.metadata.name} {.status.capacity}{"\n"}{end}'
или jsonpath здесь и есть gotemplate?

Maxim
12.09.2016
11:14:47
ну а тебе {range .keys} ни на что не намекает? ;)

kay
12.09.2016
11:15:04
намекает. смущает jsonpath

Google

Maxim
12.09.2016
11:15:14
это просто способ вывода
$ kubectl get -h
...
-o, --output="": Output format. One of: json|yaml|wide|name|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=... See golang template [http://golang.org/pkg/text/template/#pkg-overview] and jsonpath template [http://releases.k8s.io/release-1.3/docs/user-guide/jsonpath.md].
...

Тимур
12.09.2016
11:19:38
кто-нить поднимал тут ingress+keepalived ?

Maxim
12.09.2016
11:22:06
@kay_rus вот прямо го-темплейт:
$ kubectl get no -o go-template='{{range .items}}{{.metadata.name}} {{.status.capacity}}{{"\n"}}{{end}}'
просто в два раза больше кёрли-брейсес
и массива в рейнже нет

kay
12.09.2016
11:22:41
вот в том и дело, что я всегда использовал go template, а про json не слышал

Maxim
12.09.2016
11:22:50
скобочек меньше
вывод абсолютно идентичен
руками jsonpath писать быстрее

kay
12.09.2016
11:23:29
зато go template с docker совместим
по синтаксису

Maxim
12.09.2016
11:24:21
ну я ж нигде не говорил, что он не нужен ;)

Тимур
12.09.2016
11:26:26
кто-нить использовал kubernetes не для web-проекта ?
например как тут https://techcrunch.com/2016/04/26/coreoss-stackanetes-lets-you-use-kubernetes-to-run-openstack-in-containers/

Maxim
12.09.2016
11:29:02
обычно вроде наоборот - кубернетес в опенстеке запускают
а тут опенстек в кубернетесе...

Stanislav
12.09.2016
11:29:13

Igor
12.09.2016
11:29:27
Kubernetes для любого stateless сервиса хорош, не важно web или еще что

Тимур
12.09.2016
11:30:20
это понятно. вопрос пытался ли кто-то

Google

Maxim
12.09.2016
11:30:52
конкретно опенстек - нет
а так у меня несколько редисов есть кубернерироватых

kay
12.09.2016
11:31:12
Пока нет, но если встанет вопрос внедрения на этой неделе, то на этой неделе возможно будет опыт
Сработала коррекция?

Тимур
12.09.2016
11:31:52
ну про опенстек понятно... мало кому в голову такое прийдет :)

Maxim
12.09.2016
11:32:08

kay
12.09.2016
11:32:18
отлично. а то раньше ничего не работало.

Maxim
12.09.2016
11:51:07
кстати
коллеги
а как вы решаете вопросы нотификации
?
типа там:
- версия деплоймента обновилась с XXX на УУУ

Maxim
12.09.2016
11:51:53
в почту там или в слак
у меня сейчас решение из говна и палок:
lifecycle:
postStart:
exec:
command:
- "/bin/bash"
- "/app/bin/post_start_notify.sh"
preStop:
exec:
command:
- "/bin/bash"
- "/app/bin/pre_stop_notify.sh"
в этих скриптах курл фигачит в слак мессаджи
но это решение очень похоже на говно

Artur
12.09.2016
12:14:30
как минимум можно потерять event при недоступности почты/слака
а если класть в etcd/consul, а оттуда скриптом генерировать события?

kay
12.09.2016
12:15:24
оно уже там.

Maxim
12.09.2016
12:15:27
да уебищность решения не уменьшается

Google

Maxim
12.09.2016
12:15:38
зато костыльность возрастает

kay
12.09.2016
12:15:46
правильное решение - допилить apiserver

Maxim
12.09.2016
12:15:52
вооот
точнее в моем случае - scheduler
ну то есть решения без костыля внутри контейнера пока никто не придумал?

kay
12.09.2016
12:29:55
если внутри контейнера, то это всегда будут костыли.

Maxim
12.09.2016
12:30:22
ну не обязательно внутри
мало ли scheduler/kubelet/api это уже умеют
а я просто доку не дочитал

Admin
ERROR: S client not available

kay
12.09.2016
12:31:30
пока самая развернутая дока вот эта https://github.com/kubernetes/kubernetes/blob/master/examples/javaweb-tomcat-sidecar/README.md#explanation

Ayrat
12.09.2016
12:38:05
@pipopolam Максим больше спасибо за помощь на прошлой недели. я перебрал кластер и addonы заработали!
правда есть несколько вопросов еще :)

Maxim
12.09.2016
12:42:46

kay
12.09.2016
12:43:06
вот и я о чем

Ayrat
12.09.2016
12:43:27
например почему CIDR для сервисов и range подов в твоем примере одинаковый?
https://gist.github.com/Bregor/6a8cf10f610922b5898dcffef957ff26#file-apiserver-yaml-L20
https://gist.github.com/Bregor/6a8cf10f610922b5898dcffef957ff26#file-controller-manager-yaml-L18
Я думаю это просто пример ? Или так можно делать ?

Maxim
12.09.2016
12:46:05
спасибо, что заметил

Ayrat
12.09.2016
12:47:35
да K8s удивительная вешь. Работает даже если не должен работать

Maxim
12.09.2016
12:47:43
ну то есть этот параметр работает только в случаях, когда адресами подов заведует kubelet

Google

Ayrat
12.09.2016
12:48:08
мой cluster ранил k8s 1.3 с настройками 1.1
половина ключей были деприкатед
но все равно работала как то
еще вот здесь непонятно
https://gist.github.com/Bregor/7079efc9b12e70e583e4847ed5ec7e91#file-dns-rc-yaml-L23
nodeSelector:
kube-role: master
это Master noda?
или это Worker
если это Master нода я не понял как на него lable вешать :)
если это worker я так понимаю нужно на всех workerax kubeconfig.yaml прокидывть?

Maxim
12.09.2016
12:53:24

Ayrat
12.09.2016
12:54:40
ну у нас же master нету в
kubectle get nodes

Maxim
12.09.2016
12:54:55
всмысле?
сделай вот так:
$ kubectl get no -o go-template='{{range .items}}{{.metadata.name}} {{.metadata.labels}}{{"\n"}}{{end}}'

Ayrat
12.09.2016
12:56:48
а мастера нет

kay
12.09.2016
12:57:17
Теперь в CoreOS beta есть Enable IMA, DNS resolution for Ceph, POSIX ACLs for Ceph, and EXT4 encryption in the kernel

Maxim
12.09.2016
12:58:00
EXT4 encryption - это клево, но где блин MDRAID и LVM?..

Artur
12.09.2016
12:58:27
питон бы ещё для энсибла туда

Maxim
12.09.2016
12:59:06