如何将kubernetes Web服务器暴露给端口80

时间:2020-07-01 10:55:22

标签: nginx kubernetes ip

我有一个龙卷风Web服务器+ Nginx + DNS。我已经将网络服务器移到了kubernetes容器中,并且与nginx相同。

但是我意识到无法暴露给端口80,所以我将nginx保留在kubernetes之外,并通过pod的ip更改了Web服务器的ip,并且工作正常。

问题在于,每次ssh服务器重新启动pod的ip更改时,我都需要手动更改nginx conf上的ip。

如何在重新加载之间保持Pod的IP或将Pod上的Nginx暴露在外面?

1 个答案:

答案 0 :(得分:1)

在DNS和nginx入口控制器之间使用负载平衡器。负载平衡器可以在端口80上接受流量,并转发到暴露了nginx入口控制器的nod​​eport。

或者使用nginx ingress controller并在Deployment Pod规范中与hostNetwork: true一起运行,以在主机的网络名称空间的端口80上直接运行nginx入口控制器。然后配置DNS以将流量转发到nodeip:80

创建一个群集IP类型的kubernetes服务和一个ingress resource来访问通过nginx公开的pod。 Nginx入口控制器将流量直接转发到POD IP。如果pod IP发生更改,则此设置中的任何地方都不需要更改,因为nginx入口控制器会监视POD IP的任何更改并相应地更新nginx.conf