Kubernetes 由于PSP(pod安全策略),节点导出器出现问题

Kubernetes 由于PSP(pod安全策略),节点导出器出现问题,kubernetes,google-cloud-platform,Kubernetes,Google Cloud Platform,我得到这个错误 Error creating: pods "node-exporter" is forbidden: unable to validate against any pod security policy: [spec.secur ityContext.hostNetwork: Invalid value: true: Host network is not allowed to be used spec.securityContext.hostPID: Invalid value

我得到这个错误

Error creating: pods "node-exporter" is forbidden: unable to validate against any pod security policy: [spec.secur
ityContext.hostNetwork: Invalid value: true: Host network is not allowed to be used spec.securityContext.hostPID: Invalid value: true: Host PID is not allowed to be used spec.contain
ers[0].hostPort: Invalid value: 9100: Host port 9100 is not allowed to be used. Allowed ports: [0-8000]]

但我在GCP中检查了另一个集群,它没有给我任何问题。有人知道我为什么会遇到这个问题吗

节点导出器需要直接访问节点级网络名称空间才能收集有关此问题的统计信息。您具有阻止此访问的默认安全策略。您需要制定一个新的策略来允许它,并将该策略分配给节点导出器。

根据节点导出器的默认端口是
9100
,它超出了Pod安全策略指定的范围
[0-8000]
。您可以在提供的错误中看到这一点

就像coderanger在回答中提到的那样。您需要为节点导出器制定新策略

最简单的修复方法是从helm chart安装普罗米修斯,它将根据可以找到的模板自动创建
PSP

在另一个GCP集群中,您可以尝试查找现有的
PodSecurityPolicy
,以使节点导出器能够正常工作。确保查看所有名称空间
kubectl get psp--all namespace


希望有帮助。

我当前的pod安全策略是工作集群中的哑巴。所以我不明白您的意思,创建新策略并将其分配给节点导出器。我在gcp中的kubernetes中使用它。spec:AllowPrivilegeScalation:false allowedCapabilities:-“*”DefaultAllowPrivilegeScalation:false fsGroup:rule:RunAsAny主机端口:-最大值:8000分钟:0 runAsUser:rule:RunAsAny seLinux:rule:RunAsAny supplementalGroups:rule:RunAsAny这是我的psp文件,iam现在有