在K8S 通过Pod Security Policies (PSP)来限制Pod的安全行为,只能使用只读的根文件系统
时间: 2024-10-17 22:06:46 浏览: 19
在 Kubernetes (K8S) 中,Pod Security Policies (PSP) 是一种用于控制 Pod 安全配置的机制。它们允许管理员设置规则,限制运行在特定 Pod 中的容器可以访问哪些资源,包括对文件系统的权限。如果想要限制 Pod 只能使用只读的根文件系统,你可以创建一个 PSP 规则,定义如下的策略:
1. **创建 PSP**:
使用 `kubectl` 或 YAML 文件,创建一个新的 PSP,指定 `fsGroup` 属性为只读模式,并且限制 `readOnlyRootFilesystem` 设置为 `true`。示例:
```yaml
apiVersion: policy/v1beta1
kind: PodSecurityPolicy
metadata:
name: readonly-rootfs-policy
spec:
runAsUser: {}
seLinux:
rule: RunAsAny
fsGroup:
rule: RunAsAny
seLinux:
rule: RunAsAny
supplementalGroups: {}
volumes:
- type: ConfigMap
readOnly: true
- type: Secret
readOnly: true
allowedCapabilities: []
runtimeClass: {}
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
```
2. **应用 PSP**:
当你创建、更新或部署 Pod 时,需要关联这个 Policy。可以在 Pod 的定义文件(如 Deployment、StatefulSet 或直接在 Pod 配置中)使用 `securityContext` 字段指定所使用的 Policy。
3. **验证效果**:
使用 `kubectl describe pod` 查看 Pod 是否确实遵循了这个 Policy,确认其 `readOnlyRootFilesystem` 属性是否为 `true`。
阅读全文