一次断电造成ingress"问题"
声明:本文转载自https://my.oschina.net/hgfdoing/blog/3049104,转载目的在于传递更多信息,仅供学习交流之用。如有侵权行为,请联系我,我会及时删除。
现象
例如:
http://bar.com
, 自动重定向到https://bar.com/harbor/sign-in
。
- 即使配置ingress中
ssl-redirect:false
,其他的ingress,http://foo.com
也会重定向到https://foo.com/harbor/sign-in
。
解决问题
- 关闭nginx-ingress的
ssl-redirect
。关闭后,仍然重定向到https。一头雾水。难道是配置没有生效。
- 查看nginx-ingress-controller的
nginx.conf
配置,发现配置已经生效。那为什么还会重定向?这里我卡了很久都没有想明白。
- 直接把nginx-ingress删了重装,在删了nginx-ingress后,无意间访问ingress地址,还是有响应,那说明不是nginx-ingress的配置问题。
- 考虑到环境中使用ingress是通过配置主机的HOST文件实现,有可能会有两种情况:
- ip的80端口是nginx-ingress服务;
- ip的80端口不是nginx-ingress服务,然后它造成了http重定向到https。
我的故障是由于4.2 造成的。
问题分析
在kubernetes master节点上使用docker-compose
运行了harbor,使用docker-compose运行的harbor和nginx-ingress抢占kubernetes节点80端口。初次使用docker-compose部署harbor在nginx-ingress之后,无法使用一直被nginx-ingress占用的80端口,所以不妨碍其他k8s服务正常访问。当断电重启时,docker-compose运行的harbor在nginx前抢占80端口,造成nginx服务故障。故障的表现如上。
启发
不要再使用kubernetes的节点上部署本地程序服务,可能会有意外情况发生。
--Edited from Rpc
抱拳了,老铁!
本文发表于2019年05月14日 11:00
(c)注:本文转载自https://my.oschina.net/hgfdoing/blog/3049104,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如有侵权行为,请联系我们,我们会及时删除.
阅读 2476 讨论 0 喜欢 1