我有一个应用程序,从GCP K8的自动驾驶运行的IP地址。
我尝试设置下面的第一,但它原来GCP K8的自动驾驶禁用该权限,如果你添加它。
securityContext:
capabilities:
add: ["NET_RAW"]
接下来,我尝试在部署文件中设置net.ipv4.ping_group_range,如下所示。
securityContext:
runAsNonRoot: true
seccompProfile:
type: RuntimeDefault
sysctls:
- name: kernel.shm_rmid_forced
value: "1"
- name: net.ipv4.ping_group_range
value: "0 200000000"
但上面给了我下面的错误,当我尝试部署它。
strict decoding error: unknown field "spec.template.spec.containers[0].securityContext.sysctls"
我也试过
command: ["/bin/sh"]
args:
- -c
- sysctl -w net.ipv4.ping_group_range=0 2000000
在我的部署文件中,但是当容器试图启动时,这给了我一个权限被拒绝的错误。
是否可以从GCP K8 AutoPilot群集中对IP地址执行Ping操作,或者如何正确应用sysctl -w net.ipv4.ping_group_range?
1条答案
按热度按时间13z8s7eq1#
GKE Autopilot集群始终使用Container-Optimized OS,并将containerd作为其节点映像。容器优化的OS内核在自动驾驶仪集群中被锁定,因此您无法对其执行写操作,因为它被限制为只读模式。
因此,群集禁用了为内核中的参数设置某些值的权限,因为内核已锁定。
为了根据需要修改属性,您可以使用GKE Standard Cluster,它提供了灵活性。