Teleport 统一接入 K8S 多集群中间件访问与权限代理平台
项目背景
公司存在多套 Kubernetes 集群(Dev / Test / Prod / Overseas),各环境中间件分散部署,包括 MySQL、Redis、MongoDB、RabbitMQ 等。
原有问题:
• 运维需要分别登录不同 K8S / 节点
• SSH + kubeconfig 分散管理,权限混乱
• 数据库/中间件访问无统一审计
• 跨环境操作风险高(尤其生产环境)
• 海外环境与国内访问路径不一致
因此引入 Teleport 构建统一访问与代理层,实现 Zero Trust + 全链路审计 + 多集群统一入口。

技术架构
• Teleport Auth(统一认证中心)
• Teleport Proxy(统一访问入口)
• Teleport Node Agent(各 K8S 集群节点)
• Kubernetes 多集群(Dev / Test / Prod / Overseas)
• 中间件代理接入:
• MySQL
• Redis
• MongoDB
• RabbitMQ
• RBAC + SSO + MFA
• Audit Log 全链路审计

核心设计
1. 多 K8S 集群统一接入
• 每个 K8S 集群部署 Teleport Agent
• 自动注册到中心 Auth Server
• 实现跨集群统一资源视图
👉 运维只需要一个入口访问所有集群资源

2. 中间件访问代理(重点)
将传统“直连数据库”改为:
用户 → Teleport Proxy → 动态授权 → 中间件连接代理 → MySQL / Redis / MongoDB
实现:
• 无公网暴露数据库端口
• 所有访问走 TLS 加密通道
• 按角色控制访问权限(RBAC)

3. 权限体系设计
• dev:仅可访问测试库
• qa:可访问 test + 部分 staging
• ops:可访问生产(带审批)
• admin:全权限 + 审计
支持:
• SSO 登录
• MFA 二次验证
• 临时授权(TTL)

4. 全链路审计
所有操作均记录:
• SSH 登录记录
• kubectl 操作记录
• 数据库查询记录
• 命令回放(Session Recording)