kubernetes - 当使用 k8s 设置 ipvs 模式时,“无法设置 sysctl net/ipv4/vs/conn_reuse_mode”是什么意思?
问题描述
当我将 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 lsmod | grep 连接跟踪
一切正常,那么我应该如何处理上述错误?
解决方案
您究竟对您的产品进行了哪些修改kube-proxy
以及如何进行修改?如果您只是设置 ipvs 模式,您可以按照此处描述的方式进行设置,应该不会有任何问题。
如果您还在 的 中配置了一些附加功能,sysctls
则可能需要考虑以下事项。securityContext
kube-proxy
Pods
请记住,有所谓的安全和不安全 sysctl。你可以在这里阅读:
默认情况下启用所有 安全sysctl。
默认情况下禁用所有 不安全 的 sysctl,并且必须由集群管理员在每个节点的基础上手动允许。将安排禁用不安全 sysctl 的 Pod,但将无法启动。
考虑到上述警告,集群管理员可以允许某些 不安全 的 sysctl 用于非常特殊的情况,例如高性能或实时应用程序调整。 使用 kubelet 标志逐个节点启用不安全的 sysctl;例如:
kubelet --allowed-unsafe-sysctls \ 'kernel.msg*,net.core.somaxconn' ...
推荐阅读
- amazon-web-services - AWS Parameter Store:不同环境的不同键
- python - 如何在python pandas中使用正则表达式生成与特定字母等级相关的名称列表
- git - ls-remote 输出中不存在的分支
- docker - 为什么“docker-compose”和“docker run”在不同的容器中运行
- python - 将 seaborn clustermap row_colors 条移动到绘图的另一侧?
- windows - 当窗口移动到另一个监视器时是否有通知?
- c# - 使用 JsonConverter 将接口反序列化为其具体子类型时出现堆栈溢出
- python - 大熊猫中的分组累积最大值
- javascript - 为什么 Object.keys() 返回排序后的键字符串(整数)数组?
- python - 如何让 PyAudio 连续录音?