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
отлично!