API 访问控制三段
每个发到 API Server 的请求都要经过三道关卡:- 认证(Authentication):确认你是谁。支持客户端证书、Bearer Token、ServiceAccount Token 等方式。
- 授权(Authorization):确认你能做什么。生产环境一律使用 RBAC 模式。
- 准入控制(Admission):对请求对象做最后的校验和修改,例如
PodSecurity、LimitRanger。
任何一段失败,请求都会被拒绝。排查权限问题时按「认证 → 授权 → 准入」的顺序逐段定位。
ServiceAccount 与 Token
ServiceAccount 是 Pod 访问 API Server 的身份。每个 namespace 自带一个default ServiceAccount。
serviceAccountName 指定身份:
RBAC 详解
RBAC 的核心是四个对象:示例:给开发者开 namespace 只读权限
Pod 安全
Pod Security Standards
Kubernetes 内置三档 Pod 安全标准,通过 namespace 标签启用准入控制:- privileged:不做任何限制,仅用于系统组件。
- baseline:禁止已知的提权手段,兼顾兼容性。
- restricted:最严格,强制非 root、只读根文件系统等最佳实践。