如何将nginx入口控制器仅部署到用户节点池 [英] How to deploy nginx ingress controller only to user node pool

查看:0
本文介绍了如何将nginx入口控制器仅部署到用户节点池的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在为AKS群集部署nginx入口控制器,其中我有一个用户节点池和一个系统节点池。

helm install nginx-ingress ingress-nginx/ingress-nginx --namespace basic-ingress --set controller.replicaCount=2 --set controller.nodeSelector."beta.kubernetes.io/os"=linux --set defaultBackend.nodeSelector."beta.kubernetes.io/os"=linux --set controller.admissionWebhooks.patch.nodeSelector."beta.kubernetes.io/os"=linux

由于Replica Count=2,所以当我检查Pod状态时,我可以看到一个Pod在系统节点池中运行,而1个在用户节点池中运行。

问题:

  1. 当我的所有工作负载部署在用户节点池中时,我应该在哪里运行我的nginx入口Pod、系统池或用户池?

  2. 我可以在用户节点池中同时运行两个入口副本吗?如果可以,如何运行?

  3. 如果我的入口在系统池中运行,工作负载(.Net应用程序)在用户池上运行,是否会有延迟?

推荐答案

这取决于您最初决定创建多个节点池的原因,用户池中的虚拟机是否具有更多资源?是因为您只想保留与Kubernetes相关的资源的系统节点池吗?无论如何,入口控制器可以毫无问题地部署在系统池中。

话虽如此,如果您希望运行用户节点池中的所有副本,则需要set a label on the node of your node pool,然后在您的Nginx部署上使用Node Selector。如果您使用的是Helm,则可以使用这些值来执行此操作。

将入口放在不同的节点池中并不会真的有更多延迟,无论如何,您尝试访问的Pod并不总是与入口控制器在同一个VM中,即使两者都在同一个节点池中。

这篇关于如何将nginx入口控制器仅部署到用户节点池的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆