我如何确保在 EKS 上将 Pod 调度到每个 Kubernetes 节点之前对每个 Kubernetes 节点进行注释



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

如何确保在向每个节点调度任何 Pod 之前对其进行注释,以确保不会从运行节点的子网中分配 Pod IP?

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

  • 默认情况下,向所有节点添加无计划污点
  • 部署允许污点的自定义控制器
  • 让控制器根据需要注释所有节点并删除污点

但是,如果以上是唯一的解决方法,则托管服务需要付出很多努力

怎么样:

    默认情况下,向
  • 所有节点添加ENIConfigComplete: false污点
  • 部署容许ENIConfigComplete: false的守护程序集
  • DaemonSet 在每个新节点上创建一个 pod,该节点
  • 在节点上创建一些 ENIConfigs(bash 脚本??
  • 使用ENIConfigComplete: true注释每个节点
  • 守护程序集不再容忍节点,因此
  • Pod 从节点中移除。

守护程序集将确保正确设置每个新节点。

Salesforce讨论了这种在新节点上配置磁盘的技术:

  • https://engineering.salesforce.com/provisioning-kubernetes-local-persistent-volumes-61a82d1d06b0

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

相关内容

  • 没有找到相关文章

最新更新