为 AKS 群集中的特定 pod 设置 sysctl 参数 "net.ipv4.tcp_retries2" 时出错
Error setting sysctl parameters "net.ipv4.tcp_retries2" for a specific pod in the AKS cluster
我正在处理一项要求,其中我们希望将 Kubernetes POD 中的特定内核参数“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 中应用上述更改时,pod 无法 运行 并给出错误
forbidden sysctl: "net.ipv4.tcp_retries2" not whitelisted
我知道我们可以在基本的 Kubernetes 集群上修改 Kubelet 级别的内核级设置,但在我的例子中,它是来自 Azure 的托管集群。
使用初始化容器设置:
...
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"]
...
我正在处理一项要求,其中我们希望将 Kubernetes POD 中的特定内核参数“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 中应用上述更改时,pod 无法 运行 并给出错误
forbidden sysctl: "net.ipv4.tcp_retries2" not whitelisted
我知道我们可以在基本的 Kubernetes 集群上修改 Kubelet 级别的内核级设置,但在我的例子中,它是来自 Azure 的托管集群。
使用初始化容器设置:
...
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"]
...