Z Understand 和 Refactor

在現有的 IBM Bob 本地部署中安裝、設定和管理 Z Understand 和 Refactor 附加元件。

Z Understand 和 Refactor 是 IBM Bob 本地部署的可選 IBM Z Premium Package 附加元件。它可在基礎的 Bob Core 部署上擴充 z/OS 應用程式分析和現代化功能。使用前必須在基礎架構層啟用此附加元件並指派給使用者。如需詳細資訊,請參閱管理授權。

Z Understand 提供 z/OS 應用程式資產(包括 COBOL、PL/I、JCL 和 HLASM 原始碼)的自動化分析。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 無需手動設定。控制器會在部署期間自動偵測並填入適當的叢集 ingress 主機名稱。

執行設定

執行 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

這個主題如何?