我想在我的k8s集群的Pods中设置net.ipv4.tcp_timestamps=0,但是它给了我错误:



使用docker run命令直接创建的容器也存在同样的问题。无论如何要在container / Pod中设置参数?谢谢。

最佳答案

在Kubernetes中,sysctl已分为safeunsafe



默认情况下,所有safe sysctls均默认启用。
所有unsafe sysctls均已禁用,并且需要每个节点上的集群管理员手动允许。



Enabling Unsafe Sysctls k8s文档中对此进行了提及。

至于Setting Sysctls for a Pod:


apiVersion: v1
kind: Pod
metadata:
  name: sysctl-example
spec:
  securityContext:
    sysctls:
    - name: kernel.shm_rmid_forced
      value: "0"
    - name: net.core.somaxconn
      value: "1024"
    - name: kernel.msgmax
      value: "65536"
  ...

您可能有兴趣阅读有关StackOverflow Pros and cons of disabling TCP timestampsWhat benefit is conferred by TCP timestamp?的以下问题。

10-04 13:41