🛡️ 管理测试环境手册 | Admin Test Environment Guide
本手册面向集群管理员,提供测试环境的创建、权限管理、资源监控和故障处理等完整操作指南。本环境采用多租户隔离设计,通过 RBAC 和 ResourceQuota 实现严格的权限控制和资源隔离。
📋 目录 | Table of Contents
环境创建
环境创建
创建新的开发环境命名空间
权限管理
权限管理
生成开发人员 kubeconfig 配置
资源配额
资源配额
配置和管理资源限制
监控与验证
监控与验证
检查环境状态和权限隔离
扩容与维护
扩容与维护
在线扩容和环境清理
🏗️ 环境创建 | Environment Creation
创建新的开发环境
资源配额配置示例
查看 quota.yaml 示例
查看 quota.yaml 示例
查看 limits.yaml 示例
查看 limits.yaml 示例
🔐 权限管理 | Permission Management
生成开发人员 kubeconfig
脚本工作原理
创建 ServiceAccount
在目标 Namespace 创建
dev-user ServiceAccount绑定角色
将 K8s 原生的
edit 角色绑定给 ServiceAccount(仅限该 Namespace)生成 Token
创建 Secret 并提取 Token,生成标准 kubeconfig 格式
分发给开发人员
📊 资源配额管理 | Resource Quota Management
查看配额使用情况
在线扩容环境
🔍 监控与验证 | 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 规范
配置文件标准格式
定期检查各环境的资源使用情况,及时响应开发人员的资源需求,确保环境稳定运行。