hvswitch_k8s
Ansible Роль для Hetzner vSwitch для Kubernetes
Эта Ansible роль позволяет настраивать vSwitch и серверы Hetzner для кластеров Kubernetes, поддерживающие дополнительные подсети на основе vSwitch.
Ни этот проект, ни его авторы не связаны с Hetzner. Это частный проект клиентов Hetzner.
Цели проекта / Особенности
С помощью этой Ansible роли вы можете легко настраивать vSwitch на ваших серверах Hetzner. Кроме того, если у вас есть подсеть на базе vSwitch, роль настроит все маршруты и IP-правила, необходимые для использования подсети в вашей сети vSwitch. Конфигурация совместима с MetalLB, что позволяет использовать балансировщики нагрузки Kubernetes на базе MetalLB с высокой доступностью.
Роль выполнит настройку vSwitch на серверах согласно официальному руководству Hetzner. Роль не создаст сам vSwitch и не зарегистрирует IP-адреса в Hetzner robot.
Конфигурация
Все vSwitch, которые необходимо настроить, должны быть определены под ключом vswitch
.
Следующий пример конфигурации показывает, как должна выглядеть конфигурация для настройки vSwitch с VLAN ID 4000:
vswitches:
- name: public # Имя vSwitch, используется для именования маршрутизирующей таблицы.
routing_table: 1 # ID для маршрутизирующей таблицы.
vlan: 4000 # VLAN ID для vSwitch. Поддерживаются ID от 4000 до 4091.
gateway: 327.0.0.1 # Если у vSwitch есть подсеть, эта переменная должна содержать IP-адрес шлюза подсети
addresses: # IP-адреса для сетевого интерфейса vSwitch (для каждого хоста)
- "{{ hostvars[inventory_hostname]['ip'] }}/24"
subnets: # Подсети, доступные на vSwitch (нужно зарегистрировать в Hetzner robot) для неприкрытых сетей
- subnet: 327.0.0.0/24
Роль будет использовать эту информацию для написания конфигурационного файла netplan.
Ansible role for setting up Hetzner vSwitches and server networking for Kubernetes
ansible-galaxy install MatthiasLohr/ansible-role-hvswitch-k8s