跳到主要内容

Web 终端

Rainbond 的 Web 终端用于在浏览器中进入组件运行实例,直接执行容器内命令。它适合查看运行环境、确认进程状态、检查端口监听、验证配置文件和排查组件访问问题。

Web 终端常用于以下场景:

  • 查看容器内环境变量、启动参数和挂载目录
  • 确认业务进程是否存在
  • 检查服务端口是否监听
  • 在容器内访问本地服务或依赖服务
  • 排查 DNS、网络连通性和访问链路问题
  • 临时执行一次性诊断命令

使用入口

  1. 进入目标组件。
  2. 点击右上角 Web终端
  3. 在左侧实例列表中选择需要连接的实例。
  4. 在实例下选择目标容器。
  5. 右侧会打开对应容器的终端页签。

组件存在多个实例或多个容器时,左侧会按实例和容器展示。普通业务容器、插件容器、Service Mesh 相关容器会分别显示,排障时应先确认当前连接的是目标业务容器。

默认容器终端

默认容器终端连接的是组件正在运行的容器,看到的是业务容器自身的文件系统、环境变量、进程和网络命名空间。它最适合确认业务实际运行状态。

常用命令如下:

查看环境变量

env
printenv

可以用来确认 Rainbond 注入的连接信息、启动参数和自定义环境变量是否符合预期。

查看进程

ps -ef
top

如果组件显示运行中但服务无响应,先确认业务进程是否存在、是否持续重启或占用过高资源。

检查端口监听

netstat -nltp
ss -nltp

如果业务端口没有出现在监听列表中,通常需要继续检查应用启动日志、启动命令和端口配置。

检查本地服务响应

curl -v http://127.0.0.1:<端口>
curl -v http://localhost:<端口>

如果本地访问正常,但外部访问异常,通常继续检查组件端口、网关访问策略和网络资源。

toolbox 调试容器

一些精简业务镜像中可能没有 curltelnetnetstatssdig 等排障工具。此时可以在 Web 终端中打开 toolbox 调试容器,使用内置工具辅助定位问题。

使用调试容器

  1. 进入组件 Web终端
  2. 在左侧实例和容器列表中找到需要排查的容器。
  3. 点击容器名称旁的工具图标。
  4. 在确认弹窗中点击 开始调试

打开后,Rainbond 会新建一个名为 {容器名称}-调试容器 的终端页签。调试终端用于排查问题,不会改变业务容器镜像本身。

调试容器适合以下场景:

  • 默认业务容器缺少排障工具
  • 需要测试容器内到其他服务、域名或 IP 的网络连通性
  • 需要检查 DNS 解析是否正常
  • 需要查看网络连接和挂载目录

检查服务间连通性

curl -v http://<服务地址>:<端口>
telnet <服务地址> <端口>

如果连接超时或拒绝连接,重点检查目标服务是否运行、端口是否开放、网络策略是否限制访问。

检查 DNS 解析

nslookup <域名>
dig <域名>

如果域名无法解析,通常需要检查组件 DNS 配置、集群 DNS 服务和目标域名记录。

默认终端与调试容器的区别

终端类型看到的内容适用场景
默认容器终端业务容器自身的运行环境查看环境变量、文件、进程、业务配置和本地服务状态
调试容器终端toolbox 调试环境使用排障工具测试网络、DNS、端口和访问链路

排障时建议先进入默认容器终端确认业务进程、配置和本地端口,再在工具不足时打开调试容器做网络与 DNS 测试。

提示

调试容器用于临时排障。不要依赖调试容器保存业务数据,也不要把需要长期存在的工具安装在调试容器中。

常见问题

Web 终端打不开

Web 终端依赖 WebSocket 通信。若页面无法连接终端,优先检查控制台访问地址、WebSocket 地址、反向代理或负载均衡是否支持 WebSocket Upgrade。详细排查方式请参考 Web 终端无法使用

命令不存在

如果默认容器中执行 curltelnetnetstat 等命令提示不存在,请使用 toolbox 调试容器。对于生产镜像,不建议为了临时排障把大量工具长期打入业务镜像。

终端进入的不是目标容器

多容器组件会在左侧展示多个容器。排查业务问题时,优先选择业务容器;排查插件或 Service Mesh 相关问题时,再选择对应插件容器或 mesh 容器。