在 Kubernetes 集群中将 Pod 作为部署的一部分移动

时间:2021-04-05 13:07:39

标签: go kubernetes kubectl kubernetes-pod

我正在创建一个自主重新调度器,它能够根据资源使用情况、网络指标等随时随地重新调度 Pod。我的 Kubernetes 集群目前只有 5 个部署作为测试设置,每个部署只有一个 Pod 实例(副本:1)。我能够在我的系统中生成一个新的调度,并通过执行以下补丁将其应用于集群;

kubectl patch deployment fake-microservice-1 -p "{\"spec\":{\"template\":{\"spec\":{\"nodeSelector\":{\"kubernetes.io/hostname\":\"node1\"}}}}}"

此补丁成功将 fake-microservice-1 部署中的 Pod 移至 node1

接下来我要实现的是,如果部署中有多个 Pod 副本,我可以将部署中的每个单独 Pod 移动到特定节点。例如,假设 fake-microservice-1 部署有 2 个副本(2 个 Pod)。例如,我如何将 Pod 中的一个移动到 node1,另一个移动到 node4

我曾尝试修补单个 Pod 的 nodeAffinity,但这是不可能的,因为 Kubernetes 不允许在 Pod 运行时更新此值。

是否可以通过修补某些值、添加标签或通过其他方式将部署中的单个 Pod 移动到特定节点?

并不是说它太重要,而是所有这些都是在 Go 中开发的。

0 个答案:

没有答案
相关问题