Запускаем кластер, используя Rancher
Запускаем rancher
Для начала нам надо на всех k8s-n нодах получить рабочий docker. Есть масса вариантов, от банальной apt install docker.io
, когда на выходе вы получите старую 18.09 версию, до маунала, коих много и все как один. Используйте его, а можно прокатить моим ansible-скриптом, он даст больше возможностей при начальной установке.
Получив docker на нодах, продолжим.
Идем на первую ноду k8s-1 по shh
ssh root@ip
- ip можно подсмотреть в веб-консоли Hetzner
запускаем установку rancher, внешний порт 8443 я прописываю намеренно, т.к. у нас все системы и службы будут на одних и тех же нодах (так же будет и nginx балансер, котому как раз будут нужны 80 и 443 порты).
docker run -d --name rancher-1 --restart=unless-stopped -p 8443:443 rancher/rancher
идем в панель управления и далее все делаем там
https://<ip k8s-1>:8443/
Создаем кластер
Придумываем пароль, сохраяем урл по айпи-адресу (помним, что все это просто тестовое окружение).
Идем в раздел Clusters
и жмем Add cluster
. Выбираем From exiting nodes (Custom)
.
На следующей странице начинаем минимально заполнять данные:
k8s-test
и больше на этой страницы ничего не трогаем, жмем Next
.
Следующая страница крайне важна и тут надо быть осторожным, что бы потом снова все не переделывать.
НЕ нажимайте Done!
Для начала выбираем все три галочки etcd
, Control Plane
, Workers
Раскрываем Extended options
Прописываем в поле external ip - внешний адрес первой ноды k8s-1 (мы ранее заходили по нему по ssh).
Чуть ниже прописываем имя ноды - k8s-1
По мере заполнения полей, ниже в пункте для будет меняться строка (прям простыня) для запуска на ноде.
По завершению заполнения, справа от строки ждем синюю кнопку копирования в буфер и идем на ноду по ssh, вставляем и запускаем скопированный тест.
На ноде подкачаются нужные образы, запустится агент rancher, а у вас на странице снизу под кодом будет написано 1 new node has registered
кнопку Done - НЕ жмем!
На этой же странице меняем айпишник на адрес второй ноды k8s-2, а имя ноды соответствено на k8s-2, снова копируем код снизу и идем уже на вторую ноду k8s-2 по ssh. Копируем текст туда и запускаем.
Снова видим надпись 2 new nodes have registered
Ну и как вы догадались - все тоже самое проделываем с нодой k8s-3, дожидаемся записи 3 new nodes have registered
и наконец-то нажимаем заветное Done
.
На выходе: получаем рабочий кластер, с тремя нодами со всеми ролями на каждой ноде. Все три в состоянии Active
Откидываемся на спинку кресла и ожидаем завершения инициализации нашего тестового кластера (занимает обычно минут 5-7)
По завершению развертывания, фактически уже сейчас вы имеете вполне себе рабочий кластер (мы помним, что это тест и ни о какой отказоустойчивости мы не говорим).