mknod:/dev/net/tun不允许在使用openvpn/stable的kubernetes群集上进行操作

mknod:/dev/net/tun不允许在使用openvpn/stable的kubernetes群集上进行操作,kubernetes,openvpn,Kubernetes,Openvpn,我正在kubernetes集群内设置openvpn服务,问题是我之前已经这样做并保存了图表配置,但现在我无法真正解决这个问题: 我已经尝试了我所能想到的一切,但不能真正找出是什么导致了这一点,tiller和所有东西都已经在集群中拥有权限 mknod:/dev/net/tun:不允许操作 2019年10月21日星期一11:24:12 OpenVPN 2.3.14 x86_64-alpine-linux-musl[SSL(OpenSSL)][LZO][EPOLL][MH][IPv6]于2016年12

我正在kubernetes集群内设置openvpn服务,问题是我之前已经这样做并保存了图表配置,但现在我无法真正解决这个问题:

我已经尝试了我所能想到的一切,但不能真正找出是什么导致了这一点,tiller和所有东西都已经在集群中拥有权限

mknod:/dev/net/tun:不允许操作
2019年10月21日星期一11:24:12 OpenVPN 2.3.14 x86_64-alpine-linux-musl[SSL(OpenSSL)][LZO][EPOLL][MH][IPv6]于2016年12月18日构建
2019年10月21日星期一11:24:12库版本:LibreSSL 2.4.4,LZO 2.09
2019年10月21日星期一11:24:12 Diffie Hellman用2048位密钥初始化
2019年10月21日星期一11:24:12套接字缓冲区:R=[87380->87380]S=[16384->16384]
2019年10月21日星期一11:24:12 ROUTE_GATEWAY 172.31.248.0/255.255.0.0 IFACE=eth0 HWADDR=22:15:8b:7a:8d:53
2019年10月21日星期一11:24:12错误:无法打开TUN/TAP dev/dev/net/TUN:没有这样的文件或目录(errno=2)

LE:在containerd和docker上工作,现在看来这是crio的问题,我只能猜测这是因为您缺少
NET\u ADMIN
功能

您可以尝试通过添加功能来解决此问题,您的
pod
可能如下所示:

apiVersion: v1
kind: Pod
metadata:
  name: context-demo
spec:
  containers:
  - name: ctx
    image: gcr.io/google-samples/node-hello:1.0
    securityContext:
      capabilities:
        add: ["NET_ADMIN"]
只需将部件复制到pod或部署中并进行测试

不幸的是,您没有发布足够的信息,因此我无法提供更好的答案。
请编辑问题并提供更多详细信息,如您使用的图像以及如何部署openvpn。

这是我想到的第一件事(但pod已经有了它),不幸的是,它与crio引擎有关,从外观上看,它忽略了该标志。对于cri-o,请检查这一点,这可能会有所帮助。这只会在使用crio引擎时发生,看起来它与@cru指定的
NET\u ADMIN
有关,但这是唯一一个这样做的引擎。