Kubernetes: Можно ли смонтировать всю файловую систему root хоста в контейнер и выполнять его команды? - PullRequest
1 голос
/ 05 мая 2020

У меня есть кластер Kubernetes, и мне нужно установить модуль ядра WireGuard как задание, подобное Daemonset, на каждом узле кластера, так как версия ядра, с которой мне приходится иметь дело, до 5.16.

Мой вопрос: можно ли заменить и смонтировать всю файловую систему хоста root в контейнер (если это возможно, тогда образ контейнера не имеет особого значения, давайте выберем ubuntu) и использовать команды хоста установить модуль ядра WireGuard (или вообще что-нибудь) из контейнера?

Ответы [ 2 ]

0 голосов
/ 06 мая 2020

Зачем вам монтировать файловую систему root, если вы можете использовать образ docker для wireguard.

Или создать свой собственный образ на основе файла dockerfile * Wireguard .

Существует также проект kubewg , который помогает вам управлять Wireguard.

kubewg - это контроллер Kubernetes, который позволяет настраивать и управлять [ Wireguard] Конфигурация VPN с использованием сервера Kubernetes API.

В ней представлены следующие ресурсы [CustomResourceDefinition]:

  • Сеть : представляет сеть Wireguard VPN.
  • Peer : представляет один Peer в сети. Каждому одноранговому узлу будет назначен адрес в сети su bnet.
  • RouteBinding : представляет дополнительную конфигурацию маршрута, которая должна использоваться всеми участниками сети VPN.

И Wormhole Плагин CNI для оверлейной сети на основе Wireguard для кубернетов.

Wormhole - это простой плагин CNI , предназначенный для создания зашифрованных оверлейная сеть для кластеров kubernetes .

WireGuard - это увлекательный быстрый, современный, безопасный VPN-туннель, который получил значительную оценку экспертов по безопасности и в настоящее время предлагается для включения в ядро ​​linux.

Wormhole использует WireGuard для создания простой и безопасной высокопроизводительной зашифрованной оверлейной сети для кластеров Kubernetes, которой легко управлять и устранять неполадки.

Wormhole не поддерживает реализовать сетевую политику, вместо этого мы рекомендуем использовать calico или kube-router в качестве сетевой политики. ролики.

0 голосов
/ 05 мая 2020

Хотя это довольно опасно, и вам действительно нужно знать, что вы делаете, это возможно с привилегированным контейнером, подробнее см. здесь , вам нужно добавить следующее в свой манифест:

securityContext:
   privileged: true

Пример для простого docker

...