Kubernetes:将应用程序部署到多节点池

Kubernetes:将应用程序部署到多节点池,kubernetes,google-cloud-platform,google-kubernetes-engine,Kubernetes,Google Cloud Platform,Google Kubernetes Engine,我有一个Kubernetes集群,托管在Google云平台上,它运行两种部署:app1和app2 我的集群有两个节点池:pool1和pool2 从yaml文件部署POD,如下所示: kubectl apply -f ./app1.yaml kubectl apply -f ./app2.yaml 实际上,它将两个pod部署到pool1,这是集群的“默认池” 我想将此行为更改为将app2部署到pool2(和app1部署到pool1——与之前一样,默认设置)。查看以下伪命令: kubectl ap

我有一个Kubernetes集群,托管在Google云平台上,它运行两种部署:
app1
app2

我的集群有两个节点池:
pool1
pool2

从yaml文件部署POD,如下所示:

kubectl apply -f ./app1.yaml
kubectl apply -f ./app2.yaml
实际上,它将两个pod部署到
pool1
,这是集群的“默认池”

我想将此行为更改为将
app2
部署到
pool2
(和
app1
部署到
pool1
——与之前一样,默认设置)。查看以下伪命令:

kubectl apply -f ./app1.yaml
kubectl apply -f ./app2.yaml --pool=pool2
显式在发布新pod时提供池名称

如何做对


谢谢

您需要有标签来区分每个池中的节点。然后查看pod关联,将pod绑定到具有特定标签的节点。如果您必须将其从命令行中删除,我相信可以通过覆盖实现,它看起来不会像您想要的行那样漂亮,您可以为两个部署使用两个.yaml文件,并且可以如下选择节点池

nodeSelector:
    nodeclass: pool1

将上述代码添加到yaml文件。

我不确定是否理解。我将标签
nodeType=pool2
添加到
pool2
节点。我在
app2
中对pod做了同样的处理。kubernetes是否应该匹配这两个标签并“理解”它需要在
pool2
中分配新节点?请阅读这正是我搜索的内容!谢谢我应该在哪里插入此代码段?