Почему именно Kubespray?
С Kubernetes мы столкнулись чуть более двух лет назад — до этого у нас был опыт работы с Apache Mesos и мы успешно отказались от docker swarm. Поэтому освоение k8s сразу пошло по бразильской системе. Никаких миникубов или менеджед решений от гугла.
Kubeadm в тот момент не умел собрать кластер etcd, а из остальных вариантов kubespray был в топе выдачи гугла.
Мы его посмотрели и поняли — надо брать.
23 сентября 20.00 МСК Сергей Бондарев проведёт бесплатный вебинар «Обзор возможностей Kubespray», где расскажет, как готовят kubespray, чтобы получилось вкусно, эффективно и отказоустойчиво и не возникло потом мысли «не все йогурты одинаково полезны».
На вебинаре Сергей Бондарев расскажет, как устроен kubespray, в чем отличие от kubeadm, kops, rke. Поделится уникальными фишками kubespray и алгоритмом установки кластера. Разберёт особенности (недостатки) при промышленной эксплуатации.
Так почему же мы ухватились за kubespray всеми тремя руками?
- Это ансибль и opensource. Всегда можно допилить какие то моменты под себя.
- Можно ставить на Centos, ну и на другие дистрибутивы ;)
- HA-setup. Отказоустойчивый etcd-кластер из 3 мастеров.
- Возможность добавлять узлы и обновлять кластер.
- Установка дополнительного софта типа dashboard, metrics server, ingress controller и т.п.
Также ансибль сценарий работает с митогеном. Что дает ускорение на 10-15%, не больше, потому что основное время занимает выкачивание образов и установка.
Объективно говоря, на сегодняшний момент выбор kubespray для установки кластера далеко не так очевиден, как это было два года назад.
Если кратко...
Например, kops — вроде бы как и кубспрей позволяет установить кластер с нуля, даже виртуалки сам создаст. Но работает только AWS, GCE и опенстек. Что как бы вызывает вопрос — зачем он нужен, если в этих облаках есть менеджед решения, даже в опенстеке, например selectel и или mail.ru. rke — кому-то нравится, но у них свой собственный подход к структуре создаваемого кластера и не очень большие возможности по кастомизации компонентов кластера. Плюс требуется уже настроенный узел с установленным докером. kubeadm — также требуется докер, утилита от разработчиков кубернетес, наконец-то научилась создавать отказоустойчивые сетапы, хранить конфиг и сертификат внутри кластера и теперь не надо синкать эти файлы вручную между узлами. Хороший инструмент, но ориентирован только на поднятие контрол-плейна. Даже сеть в кластере не устанавливает, а документация предлагает применить манифесты с CNI вручную.
Ну и немаловажным фактом является то, что все эти три утилиты написаны на go, и если вам потребуется что-то свое, уникальное, надо знать go, чтобы подправить код и создать pull request.
Кубспрей — это ансибл, который явно проще изучить, чем go.
Ну, и конечно же на том же ансибль можно написать собственные сценарии для установки докера и кластера с помошью rke или kubeadm. И эти сценарии, за счет своей узкой специализированности конкретно под ваши требования, будут работать намного быстрее кубспрея. И это отличный, рабочий вариант. Если у вас есть компетенции и время.
А если вы только начинаете знакомиться с Kubernetes, то освоить кубспрей будет намного легче и быстрее.
И это только часть того, о чём мы поговорим. Скучно не будет. Приходите и регистрируйтесь на вебинар. Или регистрируйтесь и приходите. Как вам больше нравится.