gpt4 book ai didi

azure - 如何将 nginx 入口 Controller 仅部署到用户节点池

转载 作者:行者123 更新时间:2023-12-02 08:21:22 26 4
gpt4 key购买 nike

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

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

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

enter image description here

问题:

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

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

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

最佳答案

这取决于您最初决定创建多个节点池的原因,用户池中的虚拟机是否拥有更多资源?是不是因为想保留系统节点池只用于kubernetes相关的资源?不管怎样,Ingress Controller 部署在系统池中没有任何问题。

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

通过将入口放在不同的节点池中,您实际上不会有更多的延迟,无论如何,您尝试访问的 pod 并不总是与入口 Controller 位于同一虚拟机中,即使两者位于同一节点池中也是如此。

关于azure - 如何将 nginx 入口 Controller 仅部署到用户节点池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68133452/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com