故障现象
执行terraform事件时,无法与服务器建立web socket连接,实时输出编排的控制台内容。
故障影响
高。
故障定位
websocket服务无法连接,可能的原因很多种,可能是网络问题(比如dns,clb配置问题),还有后端服务的问题。
由于云API不支持websocket协议,前端的websocket的流量原封不动地转发到cgi-server pod中,因此需要检查websocket服务是否正常运行。
进入cgi-server pod, 查看websocket启动端口。
检查websocket端口服务是否正常运行。
可以在浏览器上查看websocket的连接状态,比如说打开chrome的网络面板后,执行apply事件,我们可以看到websocket的握手协议:
客户端发送了一个HTTP GET请求,服务返回101 Switching Protocols时即表示握手协议建立成功,已经从HTTP协议升级到了Websocket协议。然后点开Messages tab,就能够看到所有的websocket数据了,在定位问题的时候很有用:
规避措施(可选)
在tce环境初始化的时候,检查cgi-server的websocket服务是否正常启动,否则TIC将无法看到TIC实时编排日志信息。