适用场景
多团队共用一个集群,核心是"隔离":资源不能互相抢占、网络不能乱窜、权限不能越界。四件事缺一件都会出问题。
配置步骤(配额、计量与成本分摊)
kubectl describe quota -n team-a
kubectl get pods -n team-a --show-labels | head
# 计量:按命名空间统计 CPU/内存请求与实际用量,形成成本分摊报表
关键参数与建议
- 命名空间:按团队/环境划分,禁止使用 default
- RBAC:按命名空间授权,禁止随意 cluster-admin
- 网络策略:默认拒绝跨命名空间,按需放通
- 资源配额:ResourceQuota + LimitRange,防止单团队吃满
- 审计与标签:资源必须有 owner 标签,便于计量与清理
容易踩的坑
- 配额过松等于没有,过紧业务无法扩容
- 无 owner 标签,资源无人认领无法清理
- 不做计量,成本无法分摊到团队
验证与巡检
kubectl describe quota -n team-a | head
- 巡检:配额使用率、资源标签完整、月度成本报表
小结
多租户的验收:模拟一个团队尝试越权(访问别的命名空间、抢资源、跨网访问),全部应被拒绝。
> 说明:文中命令为通用写法,不同型号/版本可能略有差异,落地前请对照设备实际版本的官方文档;带外管理与安全设备变更建议先在测试设备验证。