所以,我正在为我的集群编写一个自定义自动重新调度程序,我正在使用Python客户端库来执行此操作 . 由于重新安排程序仍在提案中并且没有为此完成任何操作,唯一已知的方法是从过度使用的节点中删除该pod,并让复制控制器和调度程序处理其余部分(创建一个新的pod并将其分配给适当的节点) . 我想知道的是我可以使用客户端库将pod从一个节点移动到另一个节点而不删除pod . 基本上,我想首先在适当的节点中创建一个pod,然后删除过度使用的节点中的pod . 那可能吗?
使用节点标签可以在匹配的节点中启动容器 . 首先,您需要设置节点标签并更新部署文件并应用它 .
以下是我用于蓝绿色部署的示例yml文件,请参阅此帮助 .
apiVersion:extensions / v1beta1善意:部署元数据:名称:webserver-blue规格:复制品:2模板:元数据:标签:类型:网络服务器颜色:蓝色规格:容器:
图片:nginx:1.12.0name:webserver-container端口:
containerPort:80名称:http-servernodeSelector:svrtype:web
将另一个节点标签设置为newweb,并使用不同的名称和节点标记配置进行更新和部署 .
apiVersion:extensions / v1beta1善意:部署元数据:名称:webserver-green规格:复制品:2模板:元数据:标签:类型:网络服务器颜色:绿色规格:容器:
测试后,您可以删除旧的 . 这里的问题是您可以一次只将流量定向到一个部署 .
1 回答
使用节点标签可以在匹配的节点中启动容器 . 首先,您需要设置节点标签并更新部署文件并应用它 .
以下是我用于蓝绿色部署的示例yml文件,请参阅此帮助 .
图片:nginx:1.12.0
name:webserver-container
端口:
containerPort:80
名称:http-server
nodeSelector:
svrtype:web
将另一个节点标签设置为newweb,并使用不同的名称和节点标记配置进行更新和部署 .
name:webserver-container
端口:
名称:http-server
nodeSelector:
svrtype:newweb
测试后,您可以删除旧的 . 这里的问题是您可以一次只将流量定向到一个部署 .