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



我收到这个错误

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安装Prometheus,它将根据此处的模板自动创建PSP

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

希望能有所帮助。

最新更新