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
  • 目标 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.passwordZ 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

这个主题怎么样?