一次断电造成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,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如有侵权行为,请联系我们,我们会及时删除. 
                                阅读 2828 讨论 0 喜欢 1