当我将 kube-proxy 模式从 iptales 修改为 ipvs,重新启动 kube-proxy 后, "kubectl logs kube-proxy" 返回以下错误:
server.go:485] 无法创建代理:无法设置 sysctl net/ipv4/vs/conn_reuse_mode:打开/proc/sys/net/IPv4/vs/conn_reuse_mode:没有这样的文件或目录
我确认我已经通过以下cmd安装了依赖内核模块:
LSMOD | grep ip_vs 洛斯莫德 |格雷普·康斯特拉克
一切都很好,那么我该怎么办上面的错误?
你到底在你的kube-proxy
中引入了哪些修改,如何?如果您只设置 ipvs 模式,则可以按照此处描述的方式进行操作,并且应该没有任何问题。
如果您还在kube-proxy
Pods
securityContext
中配置一些其他sysctls
,则可能需要考虑以下事项。
请记住,有所谓的安全和不安全的系统。正如你可以在这里读到的:
默认情况下,所有安全系统都处于启用状态。
默认情况下,所有不安全的 sysctls 都是禁用的,必须允许 由群集管理员基于每个节点手动执行。带禁用的豆荚 不安全的 sysctls 将被安排,但将无法启动。
考虑到上述警告,群集管理员可以允许某些不安全的 sysctls 适用于非常特殊的情况,例如高性能或实时应用程序调优。在 逐个节点为基础,带有库贝莱特的旗帜;例如:
kubelet --allowed-unsafe-sysctls 'kernel.msg*,net.core.somaxconn' ...