我有Kubernetes集群,托管在Google Cloud 平台上,运行两个部署: app1
和 app2
.
我的群集有两个节点池: pool1
和 pool2
.
从yaml文件部署pod,如下所示:
kubectl apply -f ./app1.yaml
kubectl apply -f ./app2.yaml
Actualy,它将两个pod部署到 pool1
,即集群"default-pool" .
我想更改此行为以将 app2
部署到 pool2
(和 app1
到 pool1
- 与以前一样,默认) . 寻找像这样的伪命令:
kubectl apply -f ./app1.yaml
kubectl apply -f ./app2.yaml --pool=pool2
发布新pod时显式给出池名称 .
怎么做对了?
谢谢!
2 回答
您需要使用标签来区分每个池中的节点 . 然后查看pod亲缘关系以将pod绑定到具有特定标签的节点 . 如果你必须从命令行中删除它,我相信它可以通过覆盖它看起来不像你想要的线那么漂亮
您可以为两个部署提供两个.yaml文件,您可以按如下方式选择节点池 .
将以上代码添加到yaml文件中 .