You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

EKS混合amd64/arm64节点下ebs-csi组件无法调度到arm64节点问题咨询

你不需要添加额外的选择器限制ebs-csi-controller的部署范围,反而需要调整helm chart的默认节点亲和性配置,放开arm64架构的部署限制,具体操作如下:

问题根因

2.3.0版本的aws-ebs-csi-driver helm chart默认配置的节点亲和性规则仅支持amd64架构节点,因此不管是DaemonSet类型的ebs-csi-node还是Deployment类型的ebs-csi-controller,都只会调度到amd64节点上运行,导致arm64节点没有对应的CSI节点驱动,存储卷无法正常挂载供给。

调整helm values配置

新建values.yaml文件,加入以下配置:

# 配置ebs-csi-node DaemonSet同时适配amd64和arm64节点
node:
  affinity:
    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: kubernetes.io/os
            operator: In
            values:
            - linux
          - key: kubernetes.io/arch
            operator: In
            values:
            - amd64
            - arm64

# 配置ebs-csi-controller的调度规则
controller:
  affinity:
    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: kubernetes.io/os
            operator: In
            values:
            - linux
          # 如果你希望controller仅在amd64节点运行,只需保留amd64即可,不影响arm64节点的存储使用
          - key: kubernetes.io/arch
            operator: In
            values:
            - amd64
            - arm64

如果你的arm64节点配置了专属污点,还需要在node.tolerations字段下添加对应的污点容忍规则。

重新部署驱动

执行以下helm命令升级已部署的aws-ebs-csi-driver:
helm upgrade --install aws-ebs-csi-driver aws-ebs-csi-driver/aws-ebs-csi-driver --namespace kube-system --version 2.3.0 -f values.yaml

验证部署结果

升级完成后执行以下命令查看DaemonSet状态:
kubectl get daemonset ebs-csi-node -n kube-system
正常情况下DESIRED字段的数值会和aws-node、kube-proxy一致,代表arm64节点上也已经成功调度了ebs-csi-node pod。

内容的提问来源于stack exchange,提问作者Khushboo Kumari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 23:24:04