Pod 隔离

目录

介绍

Pod 隔离功能支持动态地将故障 Pod 从服务流量中排除,同时保持其运行状态。该功能:

  • 防止请求发送到故障的端点
  • 在故障排查期间保持服务可用性
  • 支持故障恢复后无缝重新接入

核心价值:通过精准的流量管理确保服务的持续可靠性

功能特性

  • 一键排除/恢复 Pod
  • 实时健康指标集成
  • 兼容传统服务模式
  • 非破坏性隔离(Pod 保持运行)

隔离 Pod

步骤 1:访问 Pod 管理

  1. 导航至:服务列表 > 目标服务
  2. 选择 Pod 组 标签页
  3. 通过指标或日志定位目标 Pod

步骤 2:执行隔离

# 隔离状态注解
metadata:
  annotations:
    asm.cpaas.io/isolated: "true"
UI 控件操作
打开上下文菜单
设置隔离切换隔离状态
设置确认配置

传统服务激活

需求清单

  • Kubernetes v1.18+
  • 服务创建于隔离功能发布之前
  • 集群管理员权限

配置更新

  1. 修改 Deployment 标签:

    metadata:
      labels:
        asm.cpaas.io/msselector: product-service
  2. 更新内部路由选择器:

    spec:
      selector:
        asm.cpaas.io/msselector: product-service

监控与验证

关键指标监控面板

指标阈值刷新控制
错误率<5%
延迟<500ms
活跃连接数±10% 变动范围

状态验证

kubectl get endpoints <service-name> -o jsonpath='{.subsets[].notReadyAddresses}'

运行限制

  1. 状态限制

    • 仅影响处于 Running 状态的 Pods
    • 不影响 Completed 或 CrashLoopBackOff 状态的 Pods
  2. 冲突场景

    • 灰度发布期间禁用
    • 被缩容/扩容事件覆盖
  3. 持久性

    • Pod 重启后隔离状态重置
    • 恢复后需手动重新隔离