先决条件
在本地安装 IBM Bob 之前所需的工作站要求、必需工具和访问权限、OpenShift 集群依赖项以及 LLM 配置。
要本地安装 IBM Bob,你需要一个专用的管理工作站,该工作站需具备与 OpenShift 集群的网络连通性。工作站必须安装所需的 CLI 工具,并能够下载 Bob 发布包和相关部署资产。
下载 Bob 发布包
在开始之前,请确保你具备以下条件:
- 有效的 IBM Bob 本地版授权。
- 访问 IBM Passport Advantage 的权限,用于下载 IBM Bob 发布包。
- 访问 IBM 授权容器镜像仓库(
cp.icr.io)的权限,用于获取授权容器镜像。 - 一台与目标 OpenShift 集群具有网络连通性的管理工作站。
发布包包含部署所需的 Kubernetes 清单、Helm charts、配置模板以及 bobctl 安装脚本。
可从以下来源之一获取发布包:
- Open VSX Registry — 使用此选项下载公开可用的 Bob 客户端资产、扩展和支持包。
- Passport Advantage — 使用此选项下载与你的 IBM 许可协议关联的授权 Bob 发布包和安装资产。
下表描述了安装资产及其分发渠道。
| 组件 | 描述 | 分发渠道 |
|---|---|---|
| Bob 发布包 | 部署清单、Helm charts、配置模板和安装脚本 | IBM Passport Advantage |
| Bob 后端容器镜像 | 部署到 OpenShift 集群的运行时服务 | IBM 授权容器镜像仓库(cp.icr.io) |
| Bob IDE 扩展和插件 | IDE 集成和可选客户端组件 | Open VSX Registry |
发布包不包含后端容器镜像。在开始安装之前,请分别获取发布包和相应的容器镜像。
下载发布包后,解压存档并进入发布目录:
tar -xvf ibm-bob-bundle-<version>.tar.gz
cd ibm-bob-bundle/release解压后的发布目录包含配置和部署 IBM Bob 本地版所需的文件和脚本。
所需工作站工具
在安装发布包之前,确保你的工作站已安装以下工具并在系统 PATH 中可用。这些工具在整个安装、配置和管理生命周期中都会用到。
| 工具 | 版本 | 用途 |
|---|---|---|
bobctl | 包含在发布包中(./bobctl) | 主要的 Bob CLI,用于安装、配置、更新和管理部署。从 release/ 目录以 ./bobctl 方式运行。 |
oc | 与你的 OCP 集群版本兼容(最低 OCP 4.20) | OpenShift CLI,用于向目标集群进行身份验证和管理。oc 客户端版本应与集群版本匹配,或在一个次要版本之内。 |
helm | 3.14.0 或更高版本 | Kubernetes 包管理器,bobctl 在部署和配置操作期间使用。 |
bash | 3.2 或更高版本 | 运行 bobctl 和支持脚本所需的 Shell 解释器。必须以 bash 形式在 $PATH 中可用。在 macOS 上(默认 shell 为 zsh),请安装 bash(例如使用 brew install bash)并确保其可从 $PATH 访问。 |
openssl | 3.5 或更高版本(或操作系统提供的版本) | 用于证书相关操作,包括 bobctl get-ca-cert、setup-route 和 reset-route。必须在 $PATH 中可用。 |
运行以下命令验证所有工具已安装并可访问:
bobctl --help
oc version
helm version
bash --version
openssl version继续安装之前,请确保每条命令都成功完成。
访问权限和许可
在开始安装之前,请确保你拥有以下访问权限和许可。
| 要求 | 描述 |
|---|---|
| GitHub 访问权限 | 从 IBM Bob 仓库下载 Bob 发布包的权限。 |
| 集群权限 | 目标 OpenShift 集群上的 cluster-admin 权限或等效的 RBAC 权限。 |
| IBM Container Registry 授权 | 访问 IBM Container Registry(cp.icr.io 或 icr.io)的权限以及拉取 Bob 容器镜像所需的授权凭证。 |
| 集群资源 | 足够的 CPU、内存、存储和工作节点容量以支持 Bob 以及你计划部署的任何可选组件。请参阅集群规模。 |
在安装前,请确认你能够:
- 下载 Bob 发布包。
- 向目标 OpenShift 集群进行身份验证。
- 访问 IBM Container Registry 并拉取容器镜像。
- 使用具有
cluster-admin权限的账号创建和管理集群范围的资源。 - 为部署分配所需的计算、存储和网络资源。
基于角色的访问控制(RBAC)和权限分离
Bob 发布包将集群范围的资源与命名空间范围的资源分开。这种设计允许安全和平台管理员独立审阅和批准集群范围的资源,与 Bob Operator 及应用部署分开处理。
Bob 使用两个命名空间:
| 命名空间 | 用途 |
|---|---|
| Operator 命名空间 | 托管 ibm-bob-operator,负责管理 Bob 生命周期和协调流程。 |
| Operand 命名空间 | 托管 Bob 应用工作负载,包括由 Operator 管理的服务、Pod 和支撑组件。 |
两个命名空间均由 bobctl install 创建和管理。安装期间创建的所有 RBAC 资源——包括 Role、RoleBinding 和 ServiceAccount 对象——均限定在这两个命名空间内。
发布包结构
发布包按照集群范围和命名空间范围的组件分别组织。
| 目录 | 范围 | 内容 |
|---|---|---|
ibm-bob-cluster-scoped/ | 集群范围 | 自定义资源定义(CRD)、ClusterRole、ClusterRoleBinding 以及其他需要管理员审阅和批准的集群范围资源。 |
ibm-bob/ | 命名空间范围 | Operator 部署、命名空间级 RBAC 资源、服务账号以及 Bob 应用工作负载。 |
安装工作流
使用以下两步流程部署 Bob:
| 步骤 | 操作 | 范围 | 所需权限 |
|---|---|---|---|
| 1 | 生成并应用集群范围的资源 | 集群范围 | cluster-admin,或具有创建 CRD、ClusterRole 和 ClusterRoleBinding 资源权限的角色 |
| 2 | 运行 bobctl install | 仅限 Operator 和 Operand 命名空间 | 目标命名空间上的命名空间管理员权限 |
生成并应用集群范围的资源:
./bobctl generate-cluster-resources
oc apply -f work/cluster-resources.yaml生成的 work/cluster-resources.yaml 文件仅包含来自 ibm-bob-cluster-scoped/ 目录的集群范围资源。应用集群范围资源后,bobctl install 完全在两个 Bob 命名空间内运行,不需要额外的集群范围权限。
IBM 建议集群管理员或安全团队在将生成的 work/cluster-resources.yaml 文件应用到集群之前先进行审阅。从 ibm-bob/ 目录部署的资源不需要单独的集群级安全审阅,因为所有 RBAC 权限均限定在 Operator 和 Operand 命名空间内。
集群先决条件
在安装 Bob 之前,确保目标 OpenShift 集群满足以下软件、连通性和服务先决条件。
安装 cert-manager
Bob 使用 cert-manager v1.14 或更高版本为集群中运行的组件颁发和管理 TLS 证书。在部署前安装并验证 cert-manager。
如果缺少 cert-manager 会发生什么?
bobctl install 命令在启动时会验证 cert-manager CRD 是否存在。如果未安装 cert-manager 或找不到所需的 CRD,安装将立即终止并显示明确的错误消息,且不会执行任何部署操作。
使用以下选项之一安装 cert-manager:
选项 1:适用于 OpenShift 的 Red Hat cert-manager Operator(推荐)
从 OperatorHub 使用 stable-v1 通道安装适用于 OpenShift 的 Red Hat cert-manager Operator。这是 OpenShift 环境的推荐选项,因为它通过 OpenShift operator 生命周期受到支持和维护。有关说明,请参阅 cert-manager Operator for Red Hat OpenShift。
选项 2:上游 cert-manager
使用 Helm charts 或 Kubernetes 清单安装上游 cert-manager 版本。确保已部署的版本为 v1.14 或更高版本。有关说明,请参阅 cert-manager Installation。
如果集群上已安装 v1.14 或更高版本的 cert-manager,可以直接复用——无需额外安装。
验证 cert-manager 已安装且运行正常:
# 验证所有 cert-manager Pod 正在运行
oc get pods -n cert-manager
# 验证所需的 cert-manager CRD 是否存在
oc get crd | grep cert-manager.io验证成功后,cert-manager 控制器 Pod 应处于 Running 状态,集群上应存在核心 cert-manager CRD。
配置大型语言模型
Bob 本地版需要访问一个或多个受支持的大型语言模型(LLM)。Bob 负责管理与模型端点的连接,但模型基础设施的配置、托管、扩缩容和维护不在 Bob 核心安装的范围之内。
在安装之前配置以下模型端点:
- 核心推理模型 — 处理用户请求并生成响应。从已批准的推理模型列表中部署一个受支持的模型(例如 Mistral 3.5)。
- 护栏模型 — 对请求和响应进行安全、策略和内容治理检查。部署一个用于请求和响应审核的护栏模型(例如
openai/gpt-oss-20b)。
有关模型配置的更多信息,请参阅模型网关配置。
确保 Bob 后端和已配置的模型服务可以通过网络进行通信。在继续安装之前,请验证防火墙、网络策略、安全组、代理和路由规则允许 OpenShift 集群与模型端点之间的流量。
Bob 不提供安全事件日志记录功能。你有责任通过 OpenShift 及相关企业安全工具配置安全日志记录、审计日志记录和监控。