Web 终端
Rainbond 的 Web 终端用于在浏览器中进入组件运行实例,直接执行容器内命令。它适合查看运行环境、确认进程状态、检查端口监听、验证配置文件和排查组件访问问题。
Web 终端常用于以下场景:
- 查看容器内环境变量、启动参数和挂载目录
- 确认业务进程是否存在
- 检查服务端口是否监听
- 在容器内访问本地服务或依赖服务
- 排查 DNS、网络连通性和访问链路问题
- 临时执行一次性诊断命令
使用入口
- 进入目标组件。
- 点击右上角 Web终端。
- 在左侧实例列表中选择需要连接的实例。
- 在实例下选择目标容器。
- 右侧会 打开对应容器的终端页签。
组件存在多个实例或多个容器时,左侧会按实例和容器展示。普通业务容器、插件容器、Service Mesh 相关容器会分别显示,排障时应先确认当前连接的是目标业务容器。
默认容器终端
默认容器终端连接的是组件正在运行的容器,看到的是业务容器自身的文件系统、环境变量、进程和网络命名空间。它最适合确认业务实际运行状态。
常用命令如下:
查看环境变量
env
printenv
可以用来确认 Rainbond 注入的连接信息、启动参数和自定义环境变量是否符合预期。
查看进程
ps -ef
top
如果组件显示运行中但服务无响应,先确认业务进程是否存在、是否持续重启或占用过高资 源。
检查端口监听
netstat -nltp
ss -nltp
如果业务端口没有出现在监听列表中,通常需要继续检查应用启动日志、启动命令和端口配置。
检查本地服务响应
curl -v http://127.0.0.1:<端口>
curl -v http://localhost:<端口>
如果本地访问正常,但外部访问异常,通常继续检查组件端口、网关访问策略和网络资源。
toolbox 调试容器
一些精简业务镜像中可能没有 curl、telnet、netstat、ss、dig 等排障工具。此时可以在 Web 终端中打开 toolbox 调试容器,使用内置工具辅助定位问题。
使用调试容器
- 进入组件 Web终端。
- 在左侧实例和容器列表中找到需要排查的容器。
- 点击容器名称旁的工具图标。
- 在确认弹窗中点击 开始调试。
打开后,Rainbond 会新建一个名为 {容器名称}-调试容器 的终端页签。调试终端用于排查问题,不会改变业务容器镜像本身。
调试容器适合以下场景:
- 默认业务容器缺少排障工具
- 需要测试容器内到其他服务、域名或 IP 的网络连通性
- 需要检查 DNS 解析是否正常
- 需要查看网络连接和挂载目录
检查服务间连通性
curl -v http://<服务地址>:<端口>
telnet <服务地址> <端口>
如果连接超时或拒绝连接,重点检查目标服务是否运行、端口是否开放、网络策略是否限制 访问。
检查 DNS 解析
nslookup <域名>
dig <域名>
如果域名无法解析,通常需要检查组件 DNS 配置、集群 DNS 服务和目 标域名记录。
默认终端与调试容器的区别
| 终端类型 | 看到的内容 | 适用场景 |
|---|---|---|
| 默认容器终端 | 业务容器自身的运行环境 | 查看环境变量、文件、进程、业务配置和本地服务状态 |
| 调试容器终端 | toolbox 调试环境 | 使用排障工具测试网络、DNS、端口和访问链路 |
排障时建议先进入默认容器终端确认业务进程、配置和本地端口,再在工具不足时打开调试容器做网络与 DNS 测试。
调试容器用于临时排障。不要依赖调试容器保存业务数据,也不要把需要长期存在的工具安装在调试容器中。
常见问题
Web 终端打不开
Web 终端依赖 WebSocket 通信。若页面无法连接终端,优先检查控制台访问地址、WebSocket 地址、反向代理或负载均衡是否支持 WebSocket Upgrade。详细排查方式请参考 Web 终端无法使用。
命令不存在
如果默认容器中执行 curl、telnet、netstat 等命令提示不存在,请使用 toolbox 调试容器。对于生产镜像,不建议为了临时排障把大量工具长期打入业务镜像。
终端进入的不是目标容器
多容器组件会在左侧展示多个容器。排查业务问题时,优先选择业务容器;排查插件或 Service Mesh 相关问题时,再选择对应插件容器或 mesh 容器。