
Sergey
15.02.2018
08:34:34
на cri-o уже мигрировал кто?

Andrey
15.02.2018
08:34:59

Айбелив
15.02.2018
08:35:07

Google

Sergey
15.02.2018
08:36:07
его поддержка в кубере уже stable давно, развивается более чем активно если сравнивать с rkt. а учитывая что red hat купили coreos, то rkt можно хоронить

Айбелив
15.02.2018
08:37:11
да не, я имею в виду есть ли где-то таблица, по которой я смогу понять, нужен ли мне он или докера достаточно?

Sergey
15.02.2018
08:37:37
тут скорее не так)
нужен ли тебе докер или достаточно ли тебе cri-o
в cri-o все заточено под кубер, там нет лишних никаких штук

Айбелив
15.02.2018
08:38:05
ок, уловил

Denis
15.02.2018
08:38:41
Есть почитать че интересное?

Sergey
15.02.2018
08:38:57

Айбелив
15.02.2018
08:38:58
должны быть совместимы, API же одно

Sergey
15.02.2018
08:39:11
https://habrahabr.ru/company/flant/blog/340010/ вот в принципе

Denis
15.02.2018
08:39:14
Спасибо

Sergey
15.02.2018
08:39:21

Google

Айбелив
15.02.2018
08:39:44
не, ну cli — это же имплементация
я про кишки (внутри там должно быть стандартизировано)

Sergey
15.02.2018
08:40:40
докер не очень придерживается стандартов)
тот же containerd не имплементит CRI
и делают свой cri-containerd поверх

Айбелив
15.02.2018
08:41:41
печаль

Vadim
15.02.2018
08:45:44
вообще в cri-o OCI-совместимые образы, но можно импортировать из докера

Anton
15.02.2018
08:46:57
а crictl не про это?

Vadim
15.02.2018
08:47:38
crictl - это для интерфейса (CRI), crio - одна из реализаций этого интерфейса

Sergey
15.02.2018
08:47:47

Vadim
15.02.2018
08:48:41

Anton
15.02.2018
08:50:15
а зачем вообще полная совместимость с докером? образы главное совместимы и ладно. Остальное, чем меньше и строже, тем лучше

Sergey
15.02.2018
08:51:50
минимально и все под нужды кубера

Vadim
15.02.2018
08:52:15
соместимость с докером оставят, на некоторое время, в потом и на нормальный формат и процесс сборки перейдут

Sergey
15.02.2018
08:52:49
и все же изначальный вопрос актуален. кто-то уже перепрыгнул на cri-o в проде?

Maksim
15.02.2018
08:54:31

Vadim
15.02.2018
08:55:47

Pavel
15.02.2018
08:59:30

Google

Vadim
15.02.2018
08:59:52

Let Eat
15.02.2018
09:16:58

Vadim
15.02.2018
09:18:27
Докер - сукин сын, но он наш ... да, тут надо новую регистри добавить, сейчас придется весь демон перезапустить

Let Eat
15.02.2018
09:19:06

Vadim
15.02.2018
09:20:35
"Как это - проверять имаджи после пулла? sha256 должно хватить всем!"

Let Eat
15.02.2018
09:21:07

Vadim
15.02.2018
09:37:04
А что, не хватает?
https://github.com/moby/moby/issues/9719. tl;dr пока хватает, но почему бы не перейти на нормальный gpg (который позволил бы по-человечески делать мирроры) мне не ясно

Let Eat
15.02.2018
09:42:40

Айбелив
15.02.2018
09:43:33
#whois Инженер в Red Hat, работаю над ansible репозиторием для установки openshift

Andrey
15.02.2018
09:47:08

Andrey
15.02.2018
09:51:52
Ребят, а почему после создания ingress, поды под него могут не подниматься?
Где бы хоть логов глянуть

Айбелив
15.02.2018
09:53:11
describe тоже работает

Andrey
15.02.2018
09:54:11
Но в дашборде я его вижу

Google

Айбелив
15.02.2018
09:59:44
по дашборде не гадаю
kubectl get po --namespace kube-system

Andrey
15.02.2018
10:00:49
# kubectl get po --namespace kube-system
NAME READY STATUS RESTARTS AGE
calico-node-9fvcq 1/1 Running 0 3d
calico-node-k2bp7 1/1 Running 0 3d
calico-node-w8mlm 1/1 Running 0 3d
default-http-backend-5f497b585f-wlm4t 1/1 Running 0 21m
kube-apiserver-kube01 1/1 Running 0 3d
kube-apiserver-kube02 1/1 Running 0 3d
kube-controller-manager-kube01 1/1 Running 0 3d
kube-controller-manager-kube02 1/1 Running 0 3d
kube-dns-79d99cdcd5-5kxgx 3/3 Running 0 3d
kube-dns-79d99cdcd5-gmkpt 3/3 Running 0 3d
kube-proxy-kube01 1/1 Running 0 3d
kube-proxy-kube02 1/1 Running 0 3d
kube-proxy-kube03 1/1 Running 0 3d
kube-scheduler-kube01 1/1 Running 0 3d
kube-scheduler-kube02 1/1 Running 0 3d
kubedns-autoscaler-5564b5585f-hk9l4 1/1 Running 0 3d
kubernetes-dashboard-6bbb86ffc4-4h4w7 1/1 Running 0 3d
nginx-proxy-kube03 1/1 Running 0 3d

Anton
15.02.2018
10:04:44
ну может он в другом нэймспэйсе?

Andrey
15.02.2018
10:05:38
кажется разобрался. У меня там node-selector стоял.
а нод таких не было
убрал селектор, но теперь другая проблема:
I0215 10:04:41.388959 7 launch.go:94] &{NGINX 0.9.0-beta.2 git-7013a52 git@github.com:ixdy/kubernetes-ingress.git}
I0215 10:04:41.388989 7 launch.go:97] Watching for ingress class: nginx
I0215 10:04:41.387575 7 nginx.go:112] starting NGINX process...
I0215 10:04:41.390230 7 launch.go:223] Creating API server client for https://10.233.0.1:443
F0215 10:04:41.418959 7 launch.go:111] no service with name kube-system/default-http-backend found: services "default-http-backend" is forbidden: User "system:serviceaccount:kube-system:default" cannot get services in the namespace "kube-system"
Вроде понятно что прав не хватает. Но где взять правильного юзера и как его прописать?

Vadim
15.02.2018
10:08:01
если нужно просто чтение сервисов, то view должно хватить


Andrey
15.02.2018
10:22:58
если нужно просто чтение сервисов, то view должно хватить
Я правильно понимаю что ошибка:
services "default-http-backend" is forbidden: User "system:serviceaccount:kube-system:default" cannot get services in the namespace "kube-system"
означает что юзеру "default" из неймспейса "kube-system" нужно навесить права?

Andrey
15.02.2018
10:23:08
https://github.com/kubernetes/ingress-nginx/blob/master/deploy/README.md#install-with-rbac-roles

Vadim
15.02.2018
10:23:09

Andrey
15.02.2018
10:24:18
да
Выполнил вот такую команду(копипаста с доков с измененным юзером):
kubectl create rolebinding bob-admin-binding --clusterrole=admin --user=default --namespace=kube-system
т.е я выдал права админа юзеру default из неймспейса kube-system
Но чет ошибка такая же при пересоздании ingress controller'a

Andrey
15.02.2018
10:25:16
вы как nginx ставили? Есть же внятная документация, берёте и тупо по шагам ставите

Andrey
15.02.2018
10:27:17
А можете дать линк на доку где по шагам все?
Я ставил по этой статье с небольшими изменениями относительно того что приложение у меня это кеберовский дашборд и нет отдельных серверов для роутинга: https://dev-ops-notes.ru/kubernetes/kubernetes-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-ingress/

Andrey
15.02.2018
10:28:16

Vadim
15.02.2018
10:28:36
дефолтный сервисаккаунт в kube-system не может читать сервисы в том же неймспейсе - и даже после добавления ему view? Тут что-то совсем сломалось

Maksim
15.02.2018
10:33:16

kvaps
15.02.2018
10:38:56
Народ ,а есть какой-нибудь best practices для сбора логов? - настроил сервисы писать в /dev/stdout и /dev/stderr, через
kubectl logs <pod_name> -c <container_name>все работает прекрассно, но есть ли какая-нибудь тулза которая через kubernetes-api будет подключаться и сохранять все это в какую-нибудь бд, и выводить через красивую веб-морду?

Google

Dmitry
15.02.2018
10:39:35
fluentd или filebeat и собирать с диска в эластик.

Vadim
15.02.2018
10:39:40

kvaps
15.02.2018
10:40:04
Да и что на счет ротации, я правильно понимаю что docker пишет все память без ротации и если логов будет много оно здохнет?

Vadim
15.02.2018
10:40:25
пишет куда скажут - дефолтно вроде в json-file

kvaps
15.02.2018
10:40:46
а что на счет ротации?

Vadim
15.02.2018
10:41:40
json-file можно по размеру ограничить, дефолно емнип 10 мб
но лучше конечно писать в systemd/rsyslog
https://docs.docker.com/config/containers/logging/configure/#configure-the-default-logging-driver

kvaps
15.02.2018
10:42:26
Хочется что бы и kubectl logs и морда показывали одно и тоже

Dmitry
15.02.2018
10:44:07
Сделай ls /var/lib/docker/containers/*/*.log - увидишь логи от контейнеров на хосте
Есть еще /var/log/containers/ - там симлинки лежат

kvaps
15.02.2018
10:46:37
О, спасибо, добрый человек)

Denis
15.02.2018
10:46:58
по сравнению с json-file в связке с fluentd

Vadim
15.02.2018
10:48:25
если собирать все логи хоста то можно увидеть почему весь демон навернулся, например - отдельно лог контейнера тебе этого не поможет
а потом уже фильтровать по контейнеру в эластике
подводные камни - дефолтный системд, например, будет тихо дропать логи спамящего контейнера, есть шанс пропустить что-то важное

kvaps
15.02.2018
10:49:45
То есть логика такая вполне приемлима?
- Каждый сервис пусть пишет в stdout/stderr
- А на каждой ноде fluentd настроенный на сбор логов из /var/lib/docker/containers/*/*.log и передает на центральный сервер логов

Vadim
15.02.2018
10:50:16
>Каждый сервис пусть пишет в stdout/stderr
и никуда более

kvaps
15.02.2018
10:50:30
отлично!