首页 文章

重新调度从一个节点到另一个节点的窗格

提问于
浏览
1

所以,我正在为我的集群编写一个自定义自动重新调度程序,我正在使用Python客户端库来执行此操作 . 由于重新安排程序仍在提案中并且没有为此完成任何操作,唯一已知的方法是从过度使用的节点中删除该pod,并让复制控制器和调度程序处理其余部分(创建一个新的pod并将其分配给适当的节点) . 我想知道的是我可以使用客户端库将pod从一个节点移动到另一个节点而不删除pod . 基本上,我想首先在适当的节点中创建一个pod,然后删除过度使用的节点中的pod . 那可能吗?

1 回答

  • 0

    使用节点标签可以在匹配的节点中启动容器 . 首先,您需要设置节点标签并更新部署文件并应用它 .

    以下是我用于蓝绿色部署的示例yml文件,请参阅此帮助 .

    • 在标记为web的节点上运行的Web服务器

    apiVersion:extensions / v1beta1
    善意:部署
    元数据:
    名称:webserver-blue
    规格:
    复制品:2
    模板:
    元数据:
    标签:
    类型:网络服务器
    颜色:蓝色
    规格:
    容器:

    • 图片:nginx:1.12.0
      name:webserver-container
      端口:

    • containerPort:80
      名称:http-server
      nodeSelector:
      svrtype:web

    • 将另一个节点标签设置为newweb,并使用不同的名称和节点标记配置进行更新和部署 .

    apiVersion:extensions / v1beta1
    善意:部署
    元数据:
    名称:webserver-green
    规格:
    复制品:2
    模板:
    元数据:
    标签:
    类型:网络服务器
    颜色:绿色
    规格:
    容器:

    • image:nginx:1.13.0
      name:webserver-container
      端口:
    • containerPort:80
      名称:http-server
      nodeSelector:
      svrtype:newweb

    测试后,您可以删除旧的 . 这里的问题是您可以一次只将流量定向到一个部署 .

相关问题