问题标签 [kubernetes-psp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
kubernetes - Kubernetes Pod 安全策略
Pod 安全策略控制被实现为可选(但推荐)准入控制器。PodSecurityPolicies 是通过启用准入控制器来强制执行的,但是在没有授权任何策略的情况下这样做会阻止在集群中创建任何 Pod。
由于 pod 安全策略 API (policy/v1beta1/podsecuritypolicy) 独立于准入控制器启用,因此对于现有集群,建议在启用准入控制器之前添加和授权策略。
问题:
我需要创建一个集群,然后定义一个 pod 安全策略来限制帐户/凭据以受限方式运行 pod。
这是否适用于该特定帐户或集群中的所有 pod?我更喜欢保持默认管理员帐户不受限制,同时只允许该特定用户帐户的修复 uid/gid 运行 pod。
我只是怀疑,如果我将 pod 限制为 runAs 仅修复 uid/gid ,它可能会破坏集群中的东西吗?
如何将 pod 安全策略应用于所有命名空间(现有和新)中的所有用户/服务帐户,集群管理员除外
kubernetes - 为什么即使我没有访问权限,我的 PodSecurityPolicy 也会被应用?
我有两个 PodSecurityPolicy:
- 000 特权(仅限 kube 系统服务帐户和管理员用户)
- 100-restricted(其他)
我对他们分配给 pod 有疑问。
第一个策略绑定:
第二个策略绑定:
在 kube 系统中一切正常。
但是,在其他命名空间中,它不能按预期工作:
如果我创建一个 Deployment (kubectl apply -f deployment.yml),它的 pod 会被标记为 psp 100-restricted。
如果我创建一个 Pod (kubectl apply -f pod.yml),它会被标记为 psp 000-privileged。我真的不明白为什么它不是 100-restricted。
我的 kubectl 配置了来自 OpenID Connect (OIDC) 的外部身份验证令牌。
我验证了访问权限,一切似乎都正常:
有什么线索吗?