kubernetes - ebs-csi-node 守护程序集未在 arm64 节点上运行
问题描述
我正在使用混合了 amd64 和 arm64 节点的 eks 集群,在将带有 helm chart 2.3.0 的 aws-ebs-csi 驱动程序部署到我的集群后发现 ebs-csi-node 守护程序集仅在 amd64 节点上而不是在 arm64 上创建由于未配置哪个卷。
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
aws-node 192 192 192 192 192 <none> 691d
ebs-csi-node 19 19 19 19 19 kubernetes.io/os=linux 256d
kube-proxy 192 192 192 192 192 <none> 691d
同时运行 ebs-csi-controller 的 2 个副本,它们都只部署在 amd64 节点上。我是否需要任何选择器来控制图表以选择需要部署 ebs-csi-controller 的节点?
解决方案
我正在使用 terraform 资源来配置 eks 集群中的 ebs-csi-controller,如下所示:
resource "helm_release" "aws-ebs-csi-driver" {
name = "aws-ebs-csi-driver"
repository = "https://kubernetes-sigs.github.io/aws-ebs-csi-driver"
chart = "aws-ebs-csi-driver"
namespace = "kube-system"
version = "2.3.0"
values = [
<<EOF
enableVolumeScheduling: true
enableVolumeResizing: true
enableVolumeSnapshot: true
node.tolerateAllTaints: true
EOF
]
}
发现即使在设置“node.tolerateAllTaints:true”值之后,在手动更新在所有节点上创建的 torelation DS 之后,DS 也没有使用 torelation“- operation: exists”进行更新。我正在纠正 terraform 中的关系。像这样更新值后:
values = [
<<EOF
enableVolumeScheduling: true
enableVolumeResizing: true
enableVolumeSnapshot: true
node:
tolerateAllTaints: true
EOF
]
DS 在所有节点上创建
推荐阅读
- oracle - 删除表和临时表空间
- gradle - Gradle 无法从应用的子脚本中识别插件任务
- java - 延迟获取不适用于 EclipseLink 中的 OneToOne 关系
- jquery - 如果输入无效,jQuery Steps 将停止下一步
- java - 由于异常的语法错误,运行 timertask 无法正常工作
- json - 如何计算 JSON 字符串中的节点数
- c++ - C++ 对象代码列表抛出 std::bad_alloc
- c# - NetCoreApp2.1 System.Data 引用错误
- json - 如何从 Postman 获取 JSON 数据到 Rest Controller
- firebase - Firebase多用户使用同一系统登录不同的浏览器