Здравствуйте, Zhendos, Вы писали:
Z>Э... Вы же сами писали что специалистов по k8s очень сложно найти,
Z>я предположил что усложнив технологию еще получим совсем куцое количество специалистов.
Z>Неужели вы не согласны что чем сложнее какой-то предмет тем меньше количество людей
Z>в нем разбираются до конца?
До совершенства в любой теме доходят единицы. Да и не всегда это нужно, если тема уходит со сцены
Пока сложно найти, но будет тесно и на этой поляне в свое время. Главное, быть впереди прогресса а не на перенаселенном месте.
V_>>Для вышеприведенных проблем,
V_>>1. Нужно знать пару базовых команд, docker exec / kubectl exec. Базовые знания Линукса и уметь пользоваться поиском. "Linux check IO load" или "Linux check network load". Если точно приложение "работает на моей машине"
Z>Совершенно бы не помогло. Дело было в баге в ядре Linux, из которого лимиты по CPU применялись неправильно,
Z>и контейнерам время от времени не давали кванты времени хотя оно было в избытке.
Вот это уже тема знакомая. У меня тоже так было, в разговор с Ops-ами. У нас есть заапрувленная CentOS с ядром 3.x.x. Я им в ответ, даже не сметь заикаться со старым ядром. В release notes указано по ядру. да и просматривать баги и решения полезно, вместо "указано и заапрулвено" ... 5 лет назад людьми не в теме, которым лень разбираться с вещами, которые они должны продолжать копать.
Да и, вообще, вопрос не в том как у кого не получилось на этапе, который у других получился. Вот подняли бы вопрос, например, "Kubernetes — гуано, потому что Mesos делает XYZ лучше, чем подход Кубернетес ABC". Это была бы правильная тема для преамбулы "Кубернетес гуано"
Z>Совершенно бы не помогло. Дело было в побитых данных в etcd, из-за которых неправильно распределялись
Z>задачи по кластеру.
Попробовать на другом кластере?
Z>То есть общая информацию знать конечно хорошо, можно быстрее понять куда копать,
Z>но пары книжек явно не хватит при отладке всей это хрени из сотен разных программ
Z>размазанных на куче физических машин. Есть подходы и инструменты чтобы бороться
Z>со сложностью, но довести до простоты: одна машина — одна ОС без всякой виртуализации и одна программа
Z>никогда не получится, и намного больше случаев когда вся это сложность не нужна,
Z>чем наоборот.
Я поэтапно проходил все это. И вручную, и "а-ля ансибл" и docker и Kubernetes
Даже для такого, личного и мелкого односерверного, случая точно окупается. По отсутствию головной боли и легкости переноса/обновлению ОС
[vetal@build-env bin git:master] [(⎈ |utility:artnes)] $ kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
traefik traefik-78fb68c54b-w45xf 1/1 Running 2 87d
kube-system metrics-server-5ccdf4bdf-n6b7g 1/1 Running 2 87d
docker-registry docker-registry-0 1/1 Running 2 87d
ovpn ovpn0-6d58cd5d54-g7cbm 1/1 Running 2 87d
metallb-system speaker-l4fs2 1/1 Running 2 87d
gm-relay loopback-754c77468b-cq8hd 1/1 Running 2 87d
metallb-system controller-65895b47d4-nf8gt 1/1 Running 2 87d
cert-manager cert-manager-cainjector-bfcf448b8-x4cmt 1/1 Running 2 87d
vetal-ca sites-vetal.ca-7566c6c68c-52bnv 1/1 Running 2 87d
kube-system local-path-provisioner-58fb86bdfd-bjbfr 1/1 Running 2 87d
cert-manager cert-manager-64b6c865d9-tscqj 1/1 Running 2 87d
gm-relay tinc-fbdf74cc7-t9gjt 1/1 Running 2 87d
cert-manager cert-manager-webhook-7f5bf9cbdf-mz9q8 1/1 Running 2 87d
gm-relay dns-6c679c78bc-ft5qm 1/1 Running 5 87d
gm-relay quagga-57f9cc9cfb-dw857 2/2 Running 4 87d
freeswitch config-provider-8445f95946-g89lc 1/1 Running 2 86d
freeswitch config-provider-8445f95946-5rq4c 1/1 Running 2 86d
kube-system coredns-d798c9dd-vm5pb 1/1 Running 2 87d
freeswitch fs-64dd9c75df-4v8sw 1/1 Running 2 86d
docker-registry docker-registry-ui-bdff85489-lbxm7 1/1 Running 5 87d
artnes wp-db-0 1/1 Running 1 82d
artnes sites-art-nes-0 1/1 Running 1 82d
seafile seafile-74d6567958-mwsjs 1/1 Running 52 13d
vault vault-69bc6b5cf4-r6tjc 1/1 Running 2 87d
Наиболее проблемно было возиться с FreeSwitch.
И пример г*внософта есть, Seafile. Крэшится, но работает, аварийной остановки нет. Надо на
официальный image с отделенной БД поменять