这不仅仅是设计问题,而是问题。我们已经在公司中部署了自己的Kubernetes基础架构,并且尝试使用入口和NGINX入口 Controller 从外部公开我们的服务,但是由于它不是GCP或AWS之类的云环境,因此我们不能使用服务类型“LoadBalancer ”。我们是否应该通过服务类型“NodePort”公开我们的入口 Controller ?这是用于生产环境(非云)的正常方法吗?
根据我在另一个post中阅读的内容,一个合适的建议是使用NodePort,然后将另一个外部负载均衡器手动指向Kubernetes节点上的端口。
似乎通过这种机制公开入口 Controller 在某种程度上不是很实用或不可靠(例如,您不知道服务将分配到哪个端口,并且该端口可能会在某个时候重新分配,等等)。
是否有其他机制可以将入口 Controller 暴露给外部世界?
最佳答案
负载平衡器服务方法是一种实现方法,但其背后仅是集群上的节点端口。
即使您使用在云提供商上创建LB的服务,LB也需要具有目标端 Eloquent 能与集群通信。
当使用主要用于处理Web请求的Nginx入口时,通常将Ingress放在nodeport服务的前面。
因此,我认为使用NodePort服务是您想要做的一个好主意;)
这是我的看法,我对其他人是否有其他方法感兴趣。
关于kubernetes - 如何公开Nginx入口 Controller [本地基础结构],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58286929/