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

时间:2018-07-18 09:29:59

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

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

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

从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时明确指定池名称。

如何正确执行?

谢谢!

2 个答案:

答案 0 :(得分:3)

您需要具有区分每个池中节点的标签。然后查看Pod关联性,以将Pod绑定到具有某些标签的节点。如果您必须在命令行中关闭它,我相信可以通过覆盖来实现,它看起来不会像您想要的行一样漂亮

答案 1 :(得分:3)

对于两个部署,您可以具有两个.yaml文件,并且可以按照以下方式选择节点池。

nodeSelector:
    nodeclass: pool1

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