我有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时明确指定池名称。
如何正确执行?
谢谢!
答案 0 :(得分:3)
您需要具有区分每个池中节点的标签。然后查看Pod关联性,以将Pod绑定到具有某些标签的节点。如果您必须在命令行中关闭它,我相信可以通过覆盖来实现,它看起来不会像您想要的行一样漂亮
答案 1 :(得分:3)
对于两个部署,您可以具有两个.yaml文件,并且可以按照以下方式选择节点池。
nodeSelector:
nodeclass: pool1
将上述代码添加到您的yaml文件中。