@kubernetes_ru

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

Andrey
15.02.2018
08:34:59
Ingress or NodePort\Loadbalancer or kubectl port-forward
Спасибо. А как правильнее в экосистеме куба это делать? Ingress ?

Айбелив
15.02.2018
08:35:07
на cri-o уже мигрировал кто?
сравнение есть какое-то?

Спасибо. А как правильнее в экосистеме куба это делать? Ingress ?
как нужно так и делать) Ингресс из коробки имеет только 2 вида авторизации: basic (некоторые контроллеры могут digest) auth и client certificate

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
в cri-o все заточено под кубер, там нет лишних никаких штук
А образы совместимы или это своя экосистема?

Есть почитать че интересное?

Sergey
15.02.2018
08:38:57
А образы совместимы или это своя экосистема?
containers/images для образов юзается

Айбелив
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
должны быть совместимы, API же одно
а вот из докер cli нельзя подключится к cri-o)

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
для этого есть podman
я больше к тому что cri-o не совсем совместим с докером

Vadim
15.02.2018
08:48:41
я больше к тому что cri-o не совсем совместим с докером
ну да, потому что docker cli делает слишком много с точки зрения crio

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

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

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

Vadim
15.02.2018
08:55:47
и все же изначальный вопрос актуален. кто-то уже перепрыгнул на cri-o в проде?
некоторые ноды на free tier в openshift online работают на crio, но пока есть баги и не хватает тулзов для полной замены

Google
Vadim
15.02.2018
08:59:52
а можно подробнее про то, чего не хватает?
например, fluentd не понимает логов cri-o

Let Eat
15.02.2018
09:16:58
нужен ли тебе докер или достаточно ли тебе cri-o
Докер сукин сын, но он наш сукин сын

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

Vadim
15.02.2018
09:20:35
insecure в смысле?
и secure тоже. Хотя в докере слово secure лучше писать в кавычках

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

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

Айбелив
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
Где бы хоть логов глянуть
kubectl logs -f --namespace kube-system nginx-ingress-controller

describe тоже работает

Andrey
15.02.2018
09:54:11
kubectl logs -f --namespace kube-system nginx-ingress-controller
Спасибо. Команда говорит что его нет: #kubectl logs -f --namespace kube-system nginx-ingress-controller Error from server (NotFound): pods "nginx-ingress-controller" not found

Но в дашборде я его вижу

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" Вроде понятно что прав не хватает. Но где взять правильного юзера и как его прописать?

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

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/

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

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 и собирать с диска в эластик.

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
fluentd или filebeat и собирать с диска в эластик.
Надо настраивать сам сервис, что бы писал куда-то в директорию на хосте? - или можно fluentd на сам докер как-то натравить?

Хочется что бы и 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
но лучше конечно писать в systemd/rsyslog
плюсы минусы подводные камни?

по сравнению с 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
отлично!

Страница 429 из 958