适用场景

多团队共用一个集群,核心是"隔离":资源不能互相抢占、网络不能乱窜、权限不能越界。四件事缺一件都会出问题。

配置步骤(配额、计量与成本分摊)

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
  • 巡检:配额使用率、资源标签完整、月度成本报表

小结

多租户的验收:模拟一个团队尝试越权(访问别的命名空间、抢资源、跨网访问),全部应被拒绝。

> 说明:文中命令为通用写法,不同型号/版本可能略有差异,落地前请对照设备实际版本的官方文档;带外管理与安全设备变更建议先在测试设备验证。