1

我有一个 Kubernetes 集群,需要WireGuard在集群中的每个节点中安装内核模块作为类似 Daemonset 的作业,因为我必须处理的内核版本是 5.16 之前的版本。

我的问题是:是否可以将整个主机根文件系统替换并挂载到容器中(如果可以,那么容器映像并不重要,让我们选择 ubuntu)并使用主机命令安装 WireGuard 内核模块(或通常从容器中安装任何东西)?

4

2 回答 2

0

尽管这样做很危险,而且您确实必须知道自己在做什么,但使用特权容器是可能的,请参阅此处了解详细信息,您需要在清单中添加以下内容:

securityContext:
   privileged: true

普通 docker示例

于 2020-05-05T16:56:11.003 回答
0

当您可以将 docker 映像用于wireguard.

或者基于wireguard dockerfile构建自己的镜像。

还有一个项目kubewg可以帮助您管理 Wireguard。

kubewg 是一个 Kubernetes 控制器,允许您使用 Kubernetes API 服务器配置和管理 [Wireguard] VPN 配置。

它引入了以下 [CustomResourceDefinition] 资源:

  • 网络:代表 Wireguard VPN 网络。
  • Peer:表示网络中的单个 Peer。每个对等点都将在网络子网中分配一个地址。
  • RouteBinding:表示应由 VPN 网络的所有成员使用的附加路由配置。

以及基于Wormhole Wireguard 的覆盖网络 CNI 插件,用于 kubernetes。

Wormhole 是一个简单的 CNI 插件 ,旨在为 kubernetes 集群创建一个加密的覆盖网络。

WireGuard 是一个引人入胜的快速、现代、安全的 VPN 隧道,已获得安全专家的高度评价,目前被提议包含在 linux 内核中。

Wormhole 使用 WireGuard 为 kubernetes 集群创建一个简单安全的高性能加密覆盖网络,易于管理和故障排除。

Wormhole 不实现网络策略,我们建议使用 calicokube-router 作为网络策略控制器。

于 2020-05-06T10:58:13.223 回答