现象:流水线升级之后,使用nodeip+端口30443是能够正常访问的,但是使用域名test-admin.xinxi.cn登录报错https://domain/error
定位过程:
1、ping该域名发现是能解析成功的;
2、使用域名登录的同时监测manager-ui pod的日志,没有打印日志;
原因是域名登录走的是ingress的路由,而不是node port类型的service服务;
输入域名后,经由/etc/hosts或者/etc/resolv.conf解析出ip,然后客户端与该ip建立tcp连接,握手之后再建立https连接;然后客户端发送报文给服务端,请求报文的host是域名est-admin.xinxi.cn,而不是解析后的服务端ip;
建立连接的端口号是443;
所以这个时候,应该查看的是服务器端哪个程序正在监控443端口,哪个程序在监听就由哪个程序响应;
最后找到是ingress-nginx在监听443端口,容器启动的时候使用的hostPort
注意截图下面的service是说service的端口是443(用于集群内部访问),映射到外部是30443
在集群内就可以通过service ip10.68.28.173:443来访问服务,集群外想访问这个服务就是通过node ip+30443端口来访问;



