实现k8s容器的终端登录

来源:互联网 发布:梅雨知时节的小说 编辑:程序博客网 时间:2024/06/05 02:56

简介:
要做一个基于容器的平台,平台必须应该有的一个功能就是登录容器终端,在k8s的dashboard的v1.6.3版本中已经实现了容器终端的登录。不过目前还有很多的bug,有待修复。

实现原理:
容器终端其实就是一个websocket的服务端和客户端的交互,所以只要实现一个websocket的服务端和客户端即可。
服务端:通过k8s的api结合websocket来实现
客户端:通过xterm.js来实现

实现容器登录终端的流程:

前端发送一个http的请求至服务端获取websocket连接校验用的sessionID, 然后通过获取的sessionID创建一个websocket连接(连接的方式:前端通过sockjs)之后实现socket交互,获取客户端发送的数据(就是在恰客户端终端输入的命令),然后发送对应的k8s的api到对应的容器,获取返回数据,回传给客户端终端,客户端终端通过xteam.js做相关的显示。

原创粉丝点击