Комментарии 10
Я очень извиняюсь )
Спасибо за исчерпывающее руководство.
Спасибо за исчерпывающее руководство.
+6
Спасибо, полезно.
Можно конечно пойти немного более простым путём и поручить эту работу ansible.
+1
Статья подробная, как обзор по основным частям Kubernetes подойдет.
Но, если не хочется тратить время на повторную установку и перенастройку, то лучше использовать готовые утилиты. Kubespray (уже упомянут в комментариях), либо самый простой и быстрый вариант — rancher/rke. Как минимум, для первоначального знакомства подойдет.
А в качестве площадки — Hetzner Cloud. За ~20$ можно 3 сервера, в сумме на 6 vCPU и 12 GB RAM.
Но, если не хочется тратить время на повторную установку и перенастройку, то лучше использовать готовые утилиты. Kubespray (уже упомянут в комментариях), либо самый простой и быстрый вариант — rancher/rke. Как минимум, для первоначального знакомства подойдет.
А в качестве площадки — Hetzner Cloud. За ~20$ можно 3 сервера, в сумме на 6 vCPU и 12 GB RAM.
0
Если хочется иметь мультимастер на всех нодах (все ноды и мастеры и воркеры) — требования кубспрея это 4+ гига памяти на каждом сервере, например
+1
Если каждую ноду использовать как мастер и воркер, то да, нужно много памяти и cpu. 2+ гигабайта на все процессы Kubernetes плюс должен быть большой резерв. Иначе, в случае нехватки памяти весь мультимастер превратится в тыкву. Если не использовать сервера с большим кол-вом ресурсов, то 1 ноды на мастер с 2 GB памяти и 1 CPU будет достаточно. В случае недоступности мастера (по сети), воркеры продолжат работать.
И важно указывать memory requests, memory limits для все подов, чтобы в случае чего системные сервисы не отлетали с нехваткой памяти и scheduler равномерно распределял нагрузку.
И важно указывать memory requests, memory limits для все подов, чтобы в случае чего системные сервисы не отлетали с нехваткой памяти и scheduler равномерно распределял нагрузку.
+1
Для первоначального знакомства можно и в GCP 300$ получить и юзать kubernetes оттуда.
+1
Дополню здесь про обычную маршрутизацию. На уровне L2 фреймы могут фильтроваться лишь по MAC-адресу. Неважно, что у вас стоит в IP-заголовках, они просто не видны на уровне L2. Другими словами: или у вас есть коннективити между хостами по L3 во всех случаях, или у вас ее нет совсем. Т.к. работает VXLAN, то в вашем случае коннективити есть. Посмотрите на нодах arp таблицу одноименной утилитой, адреса обеих нод присутствуют в таблицах друг-друга.
Все вышесказанное верно только если ноды находятся в одной подсети и трафик не идет через шлюз провайдера. В этом случае разговоры о L2 вообще не уместны, а трафик может фильтроваться по ip-заголовкам согласно правилам (возможно «нечестным») на шлюзе провайдера.
Если ищете сетевое решение без инкапсуляции, советую посмотреть в сторону Calico. Они утверждают, что для работы нужен только L3 и это правда :) У многих, кто использует k8s в проде, возникает вопрос сетевой безопасности, Calico предоставляет очень удобные сетевые политики, с помощью которых можно управлять фильтрацией любого траффика в вашем кластере.
P.S. Привет из Минска бывшим коллегам :)
Все вышесказанное верно только если ноды находятся в одной подсети и трафик не идет через шлюз провайдера. В этом случае разговоры о L2 вообще не уместны, а трафик может фильтроваться по ip-заголовкам согласно правилам (возможно «нечестным») на шлюзе провайдера.
Если ищете сетевое решение без инкапсуляции, советую посмотреть в сторону Calico. Они утверждают, что для работы нужен только L3 и это правда :) У многих, кто использует k8s в проде, возникает вопрос сетевой безопасности, Calico предоставляет очень удобные сетевые политики, с помощью которых можно управлять фильтрацией любого траффика в вашем кластере.
P.S. Привет из Минска бывшим коллегам :)
+1
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Kubernetes кластер за $20 в месяц