我正在处理一个需求,在这个需求中,我们希望在Kubernetes中更新一个特定的内核参数"net.ipv4.tcp_retries2“到"5”。
我们正在使用AKS集群v1.21.7
我尝试使用securityContext设置上述sysctl参数,但失败了。
template:
metadata:
labels:
app.kubernetes.io/name: weather-forecast-api
app.kubernetes.io/instance: RELEASE-NAME
spec:
serviceAccountName: RELEASE-NAME-weather-forecast-api
securityContext:
sysctls:
- name: net.ipv4.tcp_retries2
value: "5"当我在AKS中应用上述更改时,吊舱无法运行,并给出了错误。
禁用sysctl:"net.ipv4.tcp_retries2“未白
我知道我们可以在一个赤裸的Kubernetes集群上在Kubelet级别上修改内核级别的设置,但在我的例子中,它是Azure中的一个托管集群。
发布于 2022-03-18 05:40:18
使用init容器设置:
...
template:
metadata:
labels:
app.kubernetes.io/name: weather-forecast-api
app.kubernetes.io/instance: RELEASE-NAME
spec:
serviceAccountName: RELEASE-NAME-weather-forecast-api
initContainers:
- name: sysctl
image: busybox
securityContext:
privileged: true
command: ["sh", "-c", "sysctl -w net.ipv4.tcp_retries2=3"]
...发布于 2022-07-18 07:27:10
我通过把争论传递给库贝利特来解决问题。
的路径
systemctl status kubelet它给出了kubelet配置所处的路径。在我的例子中,它是/var/lib/kubelet/config.yaml
将allowedUnsafeSysctls选项添加到文件中。
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
...
allowedUnsafeSysctls:
- "net.ipv4.tcp_retries2"systemctl restart kubelet完成了!但是,您应该确保在其kubelet配置被更改的节点上调度吊舱。
https://stackoverflow.com/questions/71522553
复制相似问题