Z Understand 和 Refactor
在现有 IBM Bob 本地部署中安装、配置和管理 Z Understand 和 Refactor 插件。
Z Understand 和 Refactor 是 IBM Bob 本地版的可选 IBM Z 高级包(Premium Package)插件。它通过 z/OS 应用程序分析和现代化功能扩展了基础 Bob Core 部署。该插件必须在基础架构级别启用并分配给用户后才能使用。有关更多信息,请参阅管理授权。
Z Understand 提供对包括 COBOL、PL/I、JCL 和 HLASM 源代码在内的 z/OS 应用程序资产的自动化分析。Refactor 公开 IBM Bob IDE 扩展用于生成现代化建议的服务。
前提条件
在安装和配置 Z Understand 和 Refactor 工作负载之前,请确保满足以下前提条件:
- 已安装并正常运行 IBM Bob 本地部署。更多信息,请参阅安装。
- 支持的关系型数据库可用且可从 Red Hat OpenShift Container Platform(OCP)集群访问:
- Db2:默认端口
50000 - Microsoft SQL Server:默认端口
1433
- Db2:默认端口
- 目标 OCP 集群具有
cluster-admin权限或同等权限。 config.yaml文件已为您的部署配置了适当的instanceNamespace值。
设置概述
启用工作负载
在 config.yaml 中启用 Z Understand:
bob:
understand:
enabled: true应用配置:
# 新安装
./bobctl install
# 现有安装
./bobctl upgrade配置 Z Understand
从数据库专用示例创建 setup.json 配置文件:
对于 Db2:
cp setup.sample.ocp.db2.json setup.json对于 SQL Server:
cp setup.sample.ocp.sqlserver.json setup.json编辑 setup.json,将所有 <INSERT_...> 占位符替换为您的环境值:
| 字段 | 描述 |
|---|---|
relationalDatabaseServer.host | 关系型数据库服务器的主机名或 IP 地址。 |
relationalDatabaseServer.port | 连接数据库服务器所用的端口。Db2 使用 50000,Microsoft SQL Server 使用 1433。 |
relationalDatabaseServer.username | 具有读写权限的数据库账户用户名。 |
relationalDatabaseServer.password | 数据库用户账户的密码。 |
graphDatabaseServer.password | 内部图数据库服务的密码。在设置期间配置并妥善保管。 |
userAccess.password | Z Understand 管理员账户的密码。 |
注意:
generalSettings.ip 无需手动配置。控制器会在部署期间自动检测并填充适当的集群入口主机名。
运行设置
运行 setup 命令,将配置存储为 Kubernetes Secret,更新 Bob CR 以启用工作负载,并监控部署状态:
./bobctl understand setup --config setup.json该命令将:
- 创建包含数据库凭证的 Kubernetes Secret。
- 更新 Bob 自定义资源以引用该 Secret。
- 等待工作负载达到 Ready 状态。
设置过程最长可能需要 15 分钟。
| 标志 | 是否必需 | 默认值 | 描述 |
|---|---|---|---|
--config <filepath> | 是 | 无 | setup.json 配置文件的路径。 |
--secret-name <name> | 否 | bobz-understand-setup | 用于存储配置的 Kubernetes Secret 名称。 |
--no-wait | 否 | 无 | 不等待工作负载达到 Ready 状态,立即退出。 |
--dry-run | 否 | 无 | 在不对集群应用更改的情况下验证并预览变更。 |
注意: setup 命令仅可在初始部署期间运行一次。后续生命周期管理请使用 enable 和 disable 命令。
验证部署
验证 Z Understand 和 Refactor Pod 是否正在运行:
oc get pods -n <instance-namespace> -l app=ibm-bobz-understand
oc get pods -n <instance-namespace> -l app=ibm-bobz-refactor检查工作负载状态:
oc get bob <cr-name> -n <instance-namespace> \
-o jsonpath='{.status.understand.status}'预期状态: Ready
这个主题怎么样?