gpt4 book ai didi

kubernetes - 如何从k8s将 `sysctl`标志传递给docker?

转载 作者:行者123 更新时间:2023-12-02 11:38:13 25 4
gpt4 key购买 nike

Scanario:我有一个容器镜像,需要使用net.core.somaxconn> default_value运行。我正在使用Kubernetes在GCE中部署和运行。

我的集群中的节点(vms)配置了正确的net.core.somaxconn值。现在的挑战是使用来自kubernetes的--sysctl=net.core.somaxconn=4096标志启动docker容器。我似乎找不到合适的文档来实现这一目标。

我是否缺少明显的东西?

最佳答案

解决方案1 ​​:使用this answer作为模板,以了解如何将整个节点配置为该sysctl值。您可以使用echo 4096 >/proc/sys/net/core/somaxconn之类的东西。此后,您可以在使用具有所需sysctl配置的VM的节点上放置标签,并在Pod规范中使用nodeSelector强制对这些节点进行调度。 (这仅适用于非命名空间设置; sys.net.core.somaxconn似乎是命名空间。我想在此保留此解决方案,因为它可能会对其他人有所帮助。)

解决方案2 :同样,从same answer开始,您可以将--experimental-allowed-unsafe-sysctls=net.core.somaxconn添加到kubelet命令行中(这仅适用于命名空间设置; sys.net.core.somaxconn命名空间)。然后,您可以简单地执行类似(source)的操作:

apiVersion: v1
kind: Pod
metadata:
name: sysctl-example
annotations:
security.alpha.kubernetes.io/sysctls: net.core.somaxconn=4096

我希望这有帮助..

关于kubernetes - 如何从k8s将 `sysctl`标志传递给docker?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44439372/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com