1

我正在尝试在 EKS 上使用 CNI 自定义网络来确保 Pod IP 是从备用子集分配的(以防止我的集群节点正在运行的子网中的 IP 匮乏)。为此,我需要创建一些 ENIConfigs 并注释每个节点。

如何确保在为每个节点安排任何 Pod 之前对其进行注释,以确保没有从我的节点运行的子网中分配 Pod IP?

编辑:到目前为止我能想到的唯一解决方案是:

  • 默认为所有节点添加 NoSchedule 污点
  • 部署一个可以容忍污点的自定义控制器
  • 让控制器根据需要注释所有节点并删除污点

但是,如果以上是托管服务需要大量工作的唯一解决方法

4

1 回答 1

1

怎么样:

  • 默认为所有节点添加一个ENIConfigComplete: false污点
  • 部署容忍的 DaemonSetENIConfigComplete: false
  • DaemonSet 在每个新节点上创建一个 pod
  • 在节点上创建一些 ENIConfigs(bash 脚本??)
  • 注释每个节点ENIConfigComplete: true
  • DaemonSet 不再容忍节点,所以
  • Pod 从节点中移除。

DaemonSet 将确保正确设置每个新节点。

Salesforce 谈到了在他们的新节点上配置磁盘的这种技术:

它将避免长时间运行控制器进程。

于 2019-03-27T15:20:53.410 回答