🛡️ 管理测试环境手册 | Admin Test Environment Guide
本手册面向集群管理员,提供测试环境的创建、权限管理、资源监控和故障处理等完整操作指南。本环境采用多租户隔离设计,通过 RBAC 和 ResourceQuota 实现严格的权限控制和资源隔离。
📋 目录 | Table of Contents
环境创建
环境创建
创建新的开发环境命名空间
权限管理
权限管理
生成开发人员 kubeconfig 配置
资源配额
资源配额
配置和管理资源限制
监控与验证
监控与验证
检查环境状态和权限隔离
扩容与维护
扩容与维护
在线扩容和环境清理
🏗️ 环境创建 | Environment Creation
创建新的开发环境
1
创建命名空间
dev-1 为对应的环境编号(dev-2, dev-3, dev-4 等)。2
应用资源配额
3
验证创建
资源配额配置示例
查看 quota.yaml 示例
查看 quota.yaml 示例
查看 limits.yaml 示例
查看 limits.yaml 示例
🔐 权限管理 | Permission Management
生成开发人员 kubeconfig
1
准备脚本
2
编辑脚本(如需要)
如需修改命名空间,编辑脚本中的
NAMESPACE 变量。3
执行脚本
- 创建 ServiceAccount (
dev-user) - 创建 RoleBinding(绑定
edit角色) - 生成 Token 并导出为 kubeconfig 格式
4
获取配置文件
执行成功后,会在当前目录生成
dev-1-kubeconfig.yaml。脚本工作原理
创建 ServiceAccount
在目标 Namespace 创建
dev-user ServiceAccount绑定角色
将 K8s 原生的
edit 角色绑定给 ServiceAccount(仅限该 Namespace)生成 Token
创建 Secret 并提取 Token,生成标准 kubeconfig 格式
分发给开发人员
1
安全传输
通过安全渠道(加密邮件、安全聊天工具等)将
dev-1-kubeconfig.yaml 发送给对应的开发人员。2
使用指导
指导开发人员:
- 保存文件到本地安全位置
- 设置
KUBECONFIG环境变量 - 验证连接:
kubectl get pods -n dev-1
📊 资源配额管理 | Resource Quota Management
查看配额使用情况
在线扩容环境
1
修改配额文件
编辑
manifests/dev/admin/dev-1/quota.yaml,调大 hard 部分的数值:2
应用更改
3
验证生效
Used 和 Hard 列,确认新限制已生效。🔍 监控与验证 | Monitoring & Verification
检查命名空间状态
验证权限隔离
利用kubectl auth can-i 模拟开发用户身份验证权限隔离:
管理员验证方法
方法 A:临时验证(推荐)
方法 A:临时验证(推荐)
直接指定 kubeconfig 文件运行命令:无需切换终端,可以同时管理生产环境和验证开发环境。
方法 B:合并上下文(高级)
方法 B:合并上下文(高级)
如果您希望在同一个 kubectl 中自由切换上下文:
-
合并配置文件(仅当前终端生效):
-
查看所有上下文:
您会看到
dev-user-dev-1-context和原来的default上下文。 -
切换上下文:
🛠️ 常用管理命令 | Common Admin Commands
批量检查资源
快速清理
如果需要删除并重建测试环境:删除命名空间会永久删除该环境下的所有资源,包括持久化存储(PVC)。请谨慎操作!
📈 资源监控 | Resource Monitoring
实时监控面板
访问 Grafana 监控面板 查看:- 集群整体资源使用情况
- 各命名空间的资源消耗
- Pod 运行状态和健康度
命令行监控
🔧 故障处理 | Troubleshooting
常见问题
开发人员无法连接集群
开发人员无法连接集群
检查步骤:
- 验证 ServiceAccount 是否存在:
kubectl get sa -n dev-1 - 检查 RoleBinding:
kubectl get rolebinding -n dev-1 - 验证 Token Secret:
kubectl get secret -n dev-1 | grep dev-user - 重新生成 kubeconfig
资源配额不足
资源配额不足
解决方法:
- 查看当前使用:
kubectl describe quota dev-quota -n dev-1 - 评估是否需要扩容
- 修改配额文件并应用
- 通知开发人员资源已扩容
跨命名空间访问问题
跨命名空间访问问题
验证隔离:如果返回
yes,说明权限配置有误,需要检查 RoleBinding。📚 相关文档 | Related Documentation
测试环境使用手册
开发人员操作指南
基础设施概览
了解集群架构
部署指南
生产环境部署操作
YAML 规范
配置文件标准格式
定期检查各环境的资源使用情况,及时响应开发人员的资源需求,确保环境稳定运行。