kubernetes - kubelet 是否验证 PodSecurityPolicy?
问题描述
我在 Kubernetes 中描述了一个 pod,并从 kubelet 中看到了以下错误:
Warning FailedCreatePodSandBox 12m (x835 over 36m) kubelet, ip-1-2-3-4.eu-west-1.compute.internal (combined from similar events): Failed create pod sandbox: rpc error: code = Unknown desc = failed to set up sandbox container "5608c825cd175d595a89be91a27ba971e4160066a8d4690ef2ab29358dec8675" network for pod "coredns-747c45d54-627wn": NetworkPlugin cni failed to set up pod "coredns-747c45d54-627wn_kube-system" network: connection is unauthorized: pods "coredns-747c45d54-627wn" is forbidden: unable to validate against any pod security policy: [spec.containers[0].securityContext.capabilities.add: Invalid value: "NET_BIND_SERVICE": capability may not be added spec.containers[0].securityContext.capabilities.add: Invalid value: "NET_BIND_SERVICE": capability may not be added]
我的问题是关于这unable to validate against any pod security policy
部分的——我对 pod 安全策略的理解是,验证检查仅在 apiserver 准入时发生(并且由pod 安全策略准入控制器执行),所以当 kubelet 发现它需要运行一个 pod 时假设它已经过验证,但情况似乎并非如此,并且 kubelet 也在执行验证。
我这样说是否正确,这种行为是否记录在任何地方?还是我误解了错误信息?
Kubernetes 版本:14.1
解决方案
推荐阅读
- reactjs - 可以在 componentWillReceiveProps react 方法中比较两个数组吗?
- webpack - ES模块没有被babel和webpack转译,我做错了什么?
- javascript - 从类返回未定义的新创建的对象
- javascript - 如何挤压钻石
- r - R:计算每组连续点之间的距离并将它们分组
- angular - 如何从asp.net核心Web API方法以角度获取不同类型的responseType
- angular - 如何在单个 Angular cli 项目中创建多个应用程序
- r - 标头语法在 mainPanel 之后不开始换行符
- c# - 如何快速查看二进制/.txt 资源?
- node.js - Azure App Service (Node) CORS origins will not work 无论我在哪里添加它们