Назад
Hetzner детально описав еволюцію свого хмарного мережевого стеку
SiTech AI Team2 хв читання

Hetzner детально описав еволюцію свого хмарного мережевого стеку

Інженерна група Hetzner описує, як розвивалася хмережа компанії від Linux-містів 2011 року до власного data plane на основі Open vSwitch, який обслуговує понад мільйон серверів.

Від vServer до хмари

Продукт Hetzner vServer, який з'явився у 2011 році, використовував вбудовані місти Linux та статичні маршрути з подвійним стеком з'єднання зі швидкістю до 1 Gb/s на кожному хості; він обслуговував близько 25 000 інстансів. Оновлення, випущене у вересні 2015 року, перейшло на конфігурацію на основі гіперконвергентного Ceph з динамічною маршрутизацією BGP, 1:1 NAT для IPv4 та маршрутизованими префіксами для IPv6. З'єднання хостів були оновлені в 2016 році до 2x 10 Gb/s, і до 2018 року ця конфігурація досягла близько 50 000 інстансів.

Open vSwitch заповнює прогалину

У 2018 році при запуску Hetzner Cloud NAT було усунуто на користь прямої маршрутизації IPv4. Data plane на основі Open vSwitch з'явився в липні 2019 року разом з приватними хмарними мережами, побудованими на VXLAN. Публічна мережа перейшла на Open vSwitch у листопаді 2020 року, що у березні 2021 року дозволило увімкнути хмарні stateful файрволи на основі потоків Open vSwitch та netfilter.

Власна оркестрація з Flusskrebs

Замість стандартного control plane OVN Hetzner побудував власний оркестратор Flusskrebs на основі Python. Він використовує REST API для встановлення потоків Open vSwitch, необхідних для кожної VM або Load Balancer, з урахуванням правил файрволу, визначених користувачем, і працює як центральний DHCP-сервер для приватних інтерфейсів. На кожному хості також працює локальний udhcpd для публічних інтерфейсів та metadata-сервер на 169.254.169.254, який використовують cloud-init та інші інструменти.

Архітектура та наступні кроки

На кожному хості працює центральний міст Open vSwitch, який з'єднує всі сервери; кожен сервер має один публічний і до трьох приватних інтерфейсів. Хости, як правило, використовують uplink, з'єднаний за допомогою LACP з двома лінками по 10 Gb/s, і зараз відбувається перехід на native routed BGP uplink. Stateful файрвол використовує connection tracking netfilter, а внутрішній інструмент ctcount обмежує кожен сервер до 80 000 одночасних з'єднань. За словами Hetzner, стек зараз обслуговує понад мільйон хмарних серверів, але досяг обмежень масштабованості, тому ведеться робота над повністю самобудованим наступником, деталі якого будуть опубліковані в наступній статті.

Джерела: hetzner.com

SSiTech

SiTech — веброзробка з підтримкою AI

Створюємо швидкі та сучасні сайти й інтегруємо AI у бізнес-процеси. Маєте проєкт чи запитання? Із задоволенням допоможемо.