3.5 KiB
Для создания кластера копируем мой шаблон в рабочую директорию и переименовываем. Переходим в свежую копию и готовимся к развертыванию ЧТо нам потребуется:
- Создать 3 мастер ноды
- Создать 3 воркер ноды
- Сгенерировать инвентарь для ансибл
- Установить кубспрей
- установить зависимости
- Запустить плейбук установки кубера Действия для выполнения. ТАк как надо создавать 2 вида вм то создадим 2 файла где опишем ресурсы и назовем их k8s-cp-node-01 и k8s-worker-node-01 Копируем в эти файлы содержимое темплейта и меняем название ресурса. С переменными в данной ситуации все сложно. Можно создать набор переменных для каждой установки, но тогда на потребуется указывать 2 набора переменных под каждый тип машин. Можно использовать переменные из шаблона не вводя новые, но так как ресурса 2 разных мы столкнемся с проблемой что переменные пересекаются в ресурсах и мешают друг другу (например Id вм должно быть индивидуальным, но без колхозинга оно таким не является и падает в ошибку )
Я предпочел колхозинг второму набору, так как его немного. А так же не надо городить второй набор практических неизменных значений. (подумать над решением такой проблемы)
Меняем значения переменных в файле значений. СЛЕДИМ ЗА ID!!!!! Так можно убить инфру. По хорошему надо добавить автотест с отдельной ручкой на случай сушествования ВМ с таким айди.
Так как у нас добавился счетчик, то для подставления значений в имя, ip и тд, нам нужно экранировать переменные, а так же добавить простой текст для того, что бы не городить второй набор. Этот текст будет различать разные виды ресурса. Переменные которые обязательно меняются: vm_id vm_hostname ip_address Значение для них записываются в виде :
"${var.vm_hostname}-cp-${count.index + 1}"
"${var.vm_id}1${count.index + 1}"
"${var.ip_address}${count.index + 1}/24"
Мы добавляем кавычки так как внутри содержится просто текст. Текст мы добавляем для каждого ресурса свой. Так как имя будет составное из переменной из файла и переменной счетчика то мы их экранируем друг от друга конструкцией ${}