3.11. 关于 toolbox

toolbox 是一个在 Red Hat Enterprise Linux CoreOS(RHCOS)系统上启动容器的工具。该工具主要用于启动包含运行命令(如 sosreportredhat-support-tool)所需的二进制文件和插件的容器。

toolbox 容器的主要目的是收集诊断信息并将其提供给红帽支持。但是,如果需要额外的诊断工具,您可以添加 RPM 软件包或运行标准支持工具镜像的替代镜像。

将软件包安装到 toolbox 容器

默认情况下,运行 toolbox 命令会启动带有 registry.redhat.io/rhel8/support-tools:latest 镜像的容器。该镜像包含最常用的支持工具。如果需要一个不是镜像的一部分的支持工具来收集特定于具体节点的数据,可以安装额外的软件包。

先决条件

  • 已使用 oc debug node/<node_name> 命令访问节点。

流程

  1. /host 设为 debug shell 中的根目录。debug pod 在 pod 中的 /host 中挂载主机的 root 文件系统。将根目录改为 /host,您可以运行主机可执行路径中包含的二进制文件:

    # chroot /host
  2. 启动 toolbox 容器:

    # toolbox
  3. 安装额外的软件包,如 wget:

    # dnf install -y <package_name>

使用 toolbox 启动备用镜像

默认情况下,运行 toolbox 命令会启动带有 registry.redhat.io/rhel8/support-tools:latest 镜像的容器。您可以通过创建 .toolboxrc 文件并指定要运行的镜像来启动其他镜像。

先决条件

  • 已使用 oc debug node/<node_name> 命令访问节点。

流程

  1. /host 设为 debug shell 中的根目录。debug pod 在 pod 中的 /host 中挂载主机的 root 文件系统。将根目录改为 /host,您可以运行主机可执行路径中包含的二进制文件:

    # chroot /host
  2. 在 root 用户的主目录中,创建一个 .toolboxrc 文件:

    # vi ~/.toolboxrc
    REGISTRY=quay.io                <.>
    IMAGE=fedora/fedora:33-x86_64   <.>
    TOOLBOX_NAME=toolbox-fedora-33  <.>

    <.> Optional:指定替代容器 registry。<.> 指定要启动的替代镜像。<.> Optional:指定 toolbox 容器的备用名称。

  3. 使用备用镜像启动 toolbox 容器:

    # toolbox
    注意

    如果一个已存在的 toolbox pod 已在运行,则 toolbox 命令会输出 'toolbox-' already exists.Trying to start…​.使用 podman rm toolbox- 删除正在运行的 toolbox容器,并生成新的 toolbox 容器以避免 sosreport 插件出现问题。