更新时间:2026-02-11 GMT+08:00

CCI 实例高可用部署(多AZ容灾)

应用场景

在生产环境中,高可用性(High Availability) 是核心诉求。

  • 单实例风险:若工作负载仅部署单实例(Replicas=1),当该实例所在的底层节点发生故障、升级或网络波动时,业务将直接中断。
  • 单 AZ 风险:即使部署了多实例,若所有实例都集中在同一个可用区(Availability Zone, AZ),当该 AZ 发生电力或网络故障时,服务依然会面临全量瘫痪的风险。

建议配置 多实例(Replicas > 1) 结合 多可用区(Multi-AZ) 部署。利用 Kubernetes 的调度策略,将 Pod 分散调度到不同的物理区域,实现“同城容灾”。

获取可用区信息

在配置调度策略前,您需要确认当前区域(Region)下 CCI 服务支持的可用区列表(AZ ID),该 ID 将作为 YAML 文件中 values 的参数。您可以通过控制台区域实时查看,也可以参考下表(注:支持的 Region 和 AZ 可能会随业务发展新增,以控制台实际显示为准)。

Region

AZ

中东-利雅得/me-east-1

me-east-1a

me-east-1b

me-east-1c

亚太-香港/ap-southeast-1

ap-southeast-1b

亚太-曼谷/ap-southeast-2

ap-southeast-2a

亚太-新加坡/ap-southeast-3

ap-southeast-3a

ap-southeast-3b

ap-southeast-3e

非洲-约翰内斯堡/af-south-1

af-south-1a

土耳其-伊斯坦布尔/tr-west-1

tr-west-1a

拉美-圣保罗一/sa-brazil-1

sa-brazil-1a

拉美-墨西哥城二/la-north-2

la-north-2a

la-south-2b

配置多 AZ 高可用调度(推荐)

通过配置 Pod 反亲和性(PodAntiAffinity),让调度器自动将 Pod 分散到不同 AZ。

CCI配置示例:

Key: failure-domain.beta.kubernetes.io/zone
apiVersion: apps/v1
kind: Deployment
metadata:
  name: app-ha-cci1
spec:
  replicas: 3
  template:
    metadata:
      labels:
        app: myapp
    spec:
      affinity:
        podAntiAffinity:
          # 软策略:尽量分散到不同 AZ,无法满足时仍可调度
          preferredDuringSchedulingIgnoredDuringExecution:
          - weight: 100
            podAffinityTerm:
              labelSelector:
                matchExpressions:
                - key: app
                  operator: In
                  values:
                  - myapp
              topologyKey: failure-domain.beta.kubernetes.io/zone

配置指定AZ调度

若需将 Pod 强制部署在特定 AZ(例如配合特定 AZ 的云硬盘使用),可使用节点亲和性(NodeAffinity)

CCI指定AZ示例:
apiVersion: v1
kind: Pod
metadata:
  name: nginx-pinned-cci1
spec:
  affinity:
    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: failure-domain.beta.kubernetes.io/zone
            operator: In
            values:
            - cn-north-4a # 替换为实际 AZ 名称
  containers:
  - name: nginx
    image: nginx:latest