сможет поднять N ВМ в Hetzner Cloud и собрать из них k8s кластер, на основании представленных параметров.
Сами ВМ нарезаются terraform, установка k8s производится kubespray.
Возникает несколько вопросов:
1. при создании ВМ им выделяются внешние IP, которые нужны только на ingress-нодах. Кроме вопроса исчерпания пула свободных IPv4, волнует вопрос минимальной защиты кластера, а именно использование Hetzner Cloud Firewall, которым планируется закрыть все порты, кроме 80 и 443 для ingress и 22 порта с фильтрацией по IP.
—-
Собственно вопрос: какие интерфейсы использовать для установки и работы k8s. Изначально я создавал локальную подсеть, по которой ноды работают друг с другом. Возможно это избыточно и достаточно использовать те интерфейсы, которые поставляются с ВМ, пусть и на белых адресах. Тут возникает проблема - они ходят через firewall, который не разрешает трафик кроме 80 и 443 порта. Понятно, что ограничение решается добавлением правила для внешних IP нод кластера, но я хотел бы отказаться от этого шага, в том числе из-за соображений, что маршрутизация в одноранговой сети лучше. Или я не прав?
2. Kubespray имеет сущность bastion, которая как я понимаю решает задачу разворачивания k8s кластера через промежуточную ноду, которая находится в локальной сети целевых нод. Кто-то имел опыт её эксплуатации? Возможно есть какие-то нюансы?
3. Подготовка окружения для эксплуатации скрипта - рабочего места, с которого он будет запускаться: правильно ли я понимаю, что под *nix проблем особых возникать не должно, а про виндовые тачки лучше даже не задумываться. Наверное этот вопрос решается созданием pipeline в jenkins или аналогичных ci-агентах?
Судя по чатику - hetzner это боль. 1. Стоит ли поднимать отдельную сетку для куба? Ну вопрос в нагрузке и тарификации трафика - hetzner берет деньги за трафик через белые IP? 2. через bastion прокси не прокинуть адекватно - но это не твой кейс) 3. Ну если у тебя куб будет умирать и запускаться постоянно - да лучше ci - а так пофиг на какой тачке - там же кроме ansible ничего не надо если ты kubespеем фигачишь. Ну и курла(terraforma) для апишечки hetzner
1. похоже берет денег, т.к. заявлено 20 TB в описании инстанса, остальное скорее всего за отдельный прайс. 2 и 3 спасибо за совет. Если не ошибаюсь, kubespray позволяет указать внешние IP для "сеансов связи" ansible, и локальные интерфейсы для нод k8s. На этом и остановлюсь.
Создаешь VPC В нем будет: 1-2 бастиона с белым IP 1-N Nginx/haproxy/etc для вытаскивания серверов наружу Все остальное в серой сети без ограничения трафика Доступ через бастион делается в ~/ssh/config Запускаешь плейбук где хочешь
А и наты забыл
Обсуждают сегодня