【问题标题】:Kubernetes: deploy application to multiple node poolKubernetes:将应用程序部署到多个节点池
【发布时间】:2018-12-26 03:54:53
【问题描述】:

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

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

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

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

实际上,它部署了两个 Pod 到pool1,也就是集群“default-pool”。

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

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

在发布新 pod 时明确给出池名称。

怎么做才对?

谢谢!

【问题讨论】:

    标签: kubernetes google-cloud-platform google-kubernetes-engine


    【解决方案1】:

    您需要有标签来区分每个池中的节点。然后查看 pod 亲和性,将 pod 绑定到具有特定标签的节点。如果您必须将其从命令行中删除,我相信它可以通过覆盖来实现,它看起来不会像您想要的那样漂亮

    【讨论】:

    • 不确定我是否理解。我将标签nodeType=pool2 添加到pool2 节点。我为 app2 中的豆荚做了同样的事情。 kubernetes 是否应该匹配这两个标签并“理解”它需要在pool2 中分配新节点?
    • 这正是我要寻找的!谢谢!
    【解决方案2】:

    两个部署可以有两个 .yaml 文件,可以如下选择节点池。

    nodeSelector:
        nodeclass: pool1
    

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

    【讨论】:

    • 我在哪里插入这个 sn-p ?
    猜你喜欢
    • 2011-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-24
    • 2020-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多