我有一个 Kubernetes 集群,需要WireGuard
在集群中的每个节点中安装内核模块作为类似 Daemonset 的作业,因为我必须处理的内核版本是 5.16 之前的版本。
我的问题是:是否可以将整个主机根文件系统替换并挂载到容器中(如果可以,那么容器映像并不重要,让我们选择 ubuntu)并使用主机命令安装 WireGuard 内核模块(或通常从容器中安装任何东西)?
我有一个 Kubernetes 集群,需要WireGuard
在集群中的每个节点中安装内核模块作为类似 Daemonset 的作业,因为我必须处理的内核版本是 5.16 之前的版本。
我的问题是:是否可以将整个主机根文件系统替换并挂载到容器中(如果可以,那么容器映像并不重要,让我们选择 ubuntu)并使用主机命令安装 WireGuard 内核模块(或通常从容器中安装任何东西)?
当您可以将 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 不实现网络策略,我们建议使用 calico 或 kube-router 作为网络策略控制器。