Здравствуйте, Zhendos, Вы писали:
Z>Здравствуйте, Vetal_ca, Вы писали:
Z>Совершенство тут не причем, необходим определенный уровень чтобы управлять и отлаживать систему XYZ,
Z>и чем сложнее система тем более больше нужно знать и уметь чтобы с ней справиться.
Z>Даже если каждая программа будет вылизана так что только 1% багов остался для вашего
Z>варианта использования, то наличие N программ с таким охрененным уровнем крутости
Z>уронит эти 99% глубоко вниз. Простая арифметика.
Что такое сложная? Набор Ansible Playbooks разной степени готовности и глючности запросто переплюнет по сложности взаимозависимостей сложность Kubernetes кластера. При гораздо более низком пороге знаний.
Растет уровень изоляции и структуризации. Image — отдельно, входные данные — отдельно, кластер оттестированный на миллионах пользователей отдельно. Многомерная задача превращается в сумму сложностей. Работает по принципу strategy pattern в программировании
Кроме того, люди по ходу крутят всякие доп-скрипты и патчи, повторяя в жалком прообразе то, что сделано гигантами индустрии. И отшлифовано миллионами пользователей-девопсов.
По факту — гораздо проще, иначе бы и не шел в данном направлении.
V_>>Даже для такого, личного и мелкого односерверного, случая точно окупается. По отсутствию головной боли и легкости переноса/обновлению ОС
Z>Так все эти образы нужно пересобирать при каждом выходе "security" обновлений
Z>в дистрибутиве на котом основаны их образы, а если таких дистрибутивов несколько,
Z>а сроки поддержки некоторых из них окончился?
Просмотре changelogs, в свободное время. Если ничего не бросается в глаза, то и обновлять не надо.
На практике, я не мог обновить host distro не нарушив работоспособности старой установки FreeSwitch. Теперь он полностью manageable, единственная часть в хозяйстве, перескочившая этап контейнеров.
Z>И конфигурировать k8s все равно нужно, смысл его развертывать для < 10 разных контейнеров,
Z>не проще docker compose использовать?
Docker compose страшно ограничен. Кроме того, отсутствует orchestration. "Выстрелил и забыл" основанная на рудиментарной restart-policy. Не говоря уже об отсутствии startup-priority
Дальше, FreeSwitch работает в host network mode, config provisioner — в стандартном. В докере их просто так связать красиво не получится.
Конфигурирование/установка K3S это одна строчка. Не стоит обращать внимание на местных "Рабиновичей", поющих о непомерной сложности:
curl -sfL https://get.k3s.io | sh -
Точно как и на обновление. Единственное что, обновление может идти с доп компонентами, которые нужно отключить. Например, добавили свой LB вместо уже настроенного MetalLB: нужно почитать changelog
У меня это
pod_cidr="..."
service_cidr="..."
curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="--no-deploy traefik --no-deploy servicelb --https-listen-port 16443 --cluster-cidr ${pod_cidr} --service-cidr ${service_cidr}" sh -
С заделом на будущее, чтобы при связке в будущем в единое целое сети не пересекались.