首页 文章

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

提问于
浏览
2

我有Kubernetes集群,托管在Google Cloud 平台上,运行两个部署: app1app2 .

我的群集有两个节点池: pool1pool2 .

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

kubectl apply -f ./app1.yaml
kubectl apply -f ./app2.yaml

Actualy,它将两个pod部署到 pool1 ,即集群"default-pool" .

我想更改此行为以将 app2 部署到 pool2 (和 app1pool1 - 与以前一样,默认) . 寻找像这样的伪命令:

kubectl apply -f ./app1.yaml
kubectl apply -f ./app2.yaml --pool=pool2

发布新pod时显式给出池名称 .

怎么做对了?

谢谢!

2 回答

  • 3

    您需要使用标签来区分每个池中的节点 . 然后查看pod亲缘关系以将pod绑定到具有特定标签的节点 . 如果你必须从命令行中删除它,我相信它可以通过覆盖它看起来不像你想要的线那么漂亮

  • 3

    您可以为两个部署提供两个.yaml文件,您可以按如下方式选择节点池 .

    nodeSelector:
        nodeclass: pool1
    

    将以上代码添加到yaml文件中 .

相关问题