一次断电造成ingress"问题"

原创
2019/05/13 21:18
阅读数 917

现象

例如:

  1. http://bar.com, 自动重定向到https://bar.com/harbor/sign-in
  2. 即使配置ingress中ssl-redirect:false,其他的ingress,http://foo.com也会重定向到https://foo.com/harbor/sign-in

解决问题

  1. 关闭nginx-ingress的ssl-redirect。关闭后,仍然重定向到https。一头雾水。难道是配置没有生效。
  2. 查看nginx-ingress-controller的nginx.conf配置,发现配置已经生效。那为什么还会重定向?这里我卡了很久都没有想明白。
  3. 直接把nginx-ingress删了重装,在删了nginx-ingress后,无意间访问ingress地址,还是有响应,那说明不是nginx-ingress的配置问题。
  4. 考虑到环境中使用ingress是通过配置主机的HOST文件实现,有可能会有两种情况:
    1. ip的80端口是nginx-ingress服务;
    2. 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

展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部