Pod 隔离
目录
介绍
Pod 隔离功能支持动态将故障 Pod 从服务流量中排除,同时保持其运行状态。此功能:
- 防止请求发送到故障端点
- 在排查期间保持服务可用性
- 恢复后实现无缝重新接入
核心价值:通过精准的流量管理确保服务持续可靠
功能
- 一键排除/恢复 Pod
- 实时健康指标集成
- 兼容传统服务模式
- 非破坏性隔离(Pod 保持运行)
优势
精准:针对特定 Pod,无需重启服务
安全:保证剩余 Pod 的法定人数
可视化:集成成功率和延迟监控
合规:符合 Kubernetes 编排规范
隔离 Pod
第一步:访问 Pod 管理
- 导航至:服务列表 > 目标服务
- 选择 Pod 组 标签页
- 通过指标或日志定位目标 Pod
第二步:执行隔离
# 隔离状态注解
metadata:
annotations:
asm.cpaas.io/isolated: "true"
UI 控件 | 操作 |
---|
 | 打开上下文菜单 |
设置隔离 | 切换隔离状态 |
设置 | 确认配置 |
传统服务激活
需求清单
- Kubernetes v1.18 及以上版本
- 服务创建于隔离功能发布之前
- 集群管理员权限
配置更新
-
修改 Deployment 标签:
metadata:
labels:
asm.cpaas.io/msselector: product-service
-
更新内部路由选择器:
spec:
selector:
asm.cpaas.io/msselector: product-service
监控与验证
关键指标监控面板
指标 | 阈值 | 刷新控制 |
---|
错误率 | <5% |  |
延迟 | <500ms |  |
活跃连接数 | ±10% 变动范围 |  |
状态验证
kubectl get endpoints <service-name> -o jsonpath='{.subsets[].notReadyAddresses}'
运行限制
-
状态限制:
- 仅影响 Running 状态的 Pod
- 不包括 Completed 或 CrashLoopBackOff 状态的 Pod
-
冲突场景:
-
持久性: