3.2. 安装 Migration Toolkit for Applications Operator 和用户界面
您可以在 Red Hat OpenShift 版本 4.18, 4.17 上安装 Migration Toolkit for Applications (MTA)和用户界面。
先决条件
- 4 个 vCPU、8 GB RAM 和 40 GB 持久性存储。
- 4.18, 4.17 版本中的任何云服务或自托管版本 Red Hat OpenShift。
-
您必须以具有
cluster-admin权限的用户身份登录。
如需更多信息,请参阅 OpenShift Operator 生命周期。
流程
-
在 Red Hat OpenShift Web 控制台中,点 Operators
OperatorHub。 - 使用 Filter by keyword 字段搜索 MTA。
- 点 Migration Toolkit for Applications Operator,然后点 Install。
- 在 Install Operator 页面中,点 Install。
-
点 Operators
Installed Operators 来验证 MTA Operator 是否出现在 openshift-mta项目中,状态为Succeeded。 - 点 MTA Operator。
在 Provided APIs 下,找到 Tackle,然后点 Create Instance。
Create Tackle 窗口在 Form 视图中打开。
- 查看自定义资源(CR)设置。默认的选择应该可以被接受,但请确保检查系统对存储、内存和内核的要求。
要直接使用 YAML 文件,点 YAML 视图并查看 YAML 文件的
spec部分中列出的 CR 设置。这个表中列出了最常用的 CR 设置:
Expand 表 3.2. Tackle CR 设置 Name default 描述 cache_data_volume_size100Gi为缓存卷请求的大小;当
rwx_supported=false时会被忽略cache_storage_class默认存储类
用于缓存卷的存储类 ; 当
rwx_supported=false时会被忽略feature_auth_requiredtrue用于指明是否需要 keycloak 授权(单用户/"noauth")的标记
feature_isolate_namespacetrue指定是否启用使用网络策略进行命名空间隔离的标志
hub_database_volume_size10Gi为 Hub 数据库卷请求的大小
hub_bucket_volume_size100Gi为 Hub 存储桶卷请求的大小
hub_bucket_storage_class默认存储类
用于存储桶卷的存储类
keycloak_database_data_volume_size1Gi为 Keycloak 数据库卷请求的大小
keycloak_sso_req_passwd_updatetrue如果标志设为
true,则需要用户在第一次登录后更新其密码。pathfinder_database_data_volume_size1Gi为 Pathfinder 数据库卷请求的大小
maven_data_volume_size100Gi为 Maven m2 缓存卷请求的大小;在 MTA 6.0.1 中弃用
disable_maven_searchfalse将标志设置为
true,以禁用 MTA 依赖于 Maven 搜索索引,以确定依赖项在分析期间是否公开可用(如开源依赖项)或 Java 二进制应用程序内部。当您禁用 Maven 搜索时,MTA 会首先尝试从 JAR 文件的 POM 文件(若有)决定依赖项。如果此方法不成功,则 MTA 会通过目录结构来确定依赖项。这个方法可能无法生成可靠的依赖项分类,因为软件包结构可能与 MTA 预期的不同。您可能会看到更多事件,因为某些依赖项可能会被错误地归类为内部。
默认情况下,
disable_maven_search设置为false。因此,MTA 使用 JAR 文件的 SHA 摘要来搜索 Maven 搜索索引。此设置生成更准确的依赖项,但缺陷是 Maven 搜索索引经常不可用。rwx_storage_class不适用
为 Tackle RWX 卷请求的存储类;在 MTA 6.0.1 中弃用
rwx_supportedtrue指明集群存储是否支持 RWX 模式的标记
rwo_storage_class不适用
为 Tackle RW0 卷请求的存储类
analyzer_container_limits_cpu1允许 pod 使用的最大 CPU 数量
analyzer_container_limits_memory1Gipod 允许使用的最大内存量。如果 pod 显示
OOMKilled错误,您可以提高这个限制。analyzer_container_requests_cpu1pod 需要运行的最小 CPU 数量
analyzer_container_requests_memory512Mipod 运行所需的最小内存量
ui_container_limits_cpu500mUI pod 资源允许使用的最大 CPU 数量
ui_container_limits_memory800MiUI pod 资源允许使用的最大内存量。如果 pod 显示
OOMKilled错误,您可以提高这个限制。ui_container_requests_cpu100mUI pod 资源需要运行的最小 CPU 数量
ui_container_requests_memory350MiUI pod 资源需要运行的最小内存量
provider_java_container_limits_cpu1允许 Java 供应商资源使用的最大 CPU 数量
provider_java_container_limits_memory2.5Gi允许 Java 供应商资源使用的最大内存量。如果 pod 显示
OOMKilled错误,您可以提高这个限制。provider_java_container_requests_cpu1Java 供应商资源需要运行的最小 CPU 数量
provider_java_container_requests_memory2.5GiJava 供应商资源需要运行的最小内存量
YAML 文件示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 如果需要,编辑 CR 设置,然后点 Create。
-
在管理视图中,点 Workloads
Pods 来验证 MTA Pod 是否正在运行。 -
使用 OpenShift 中的
mta-ui应用公开的路由,从浏览器访问用户界面。 使用以下凭证登录:
- 用户名 :admin
- 密码 : Passw0rd!
- 出现提示时,创建新密码。
3.2.1. 驱除阈值 复制链接链接已复制到粘贴板!
每个节点分配有一定数量的内存。一些内存是为系统服务保留的。其余内存用于运行 pod。如果 pod 使用超过其分配的内存量,则会触发内存不足事件,并且节点会终止并带有 OOMKilled 错误。
要防止内存不足事件和保护节点,请使用 -eviction-hard 设置。此设置指定节点驱除 pod 的内存可用性阈值。设置的值可以是 absolute 或一个百分比。
节点内存分配设置示例
-
节点容量:
32Gi -
--system-reserved设置:3Gi -
--eviction-hard设置:100Mi
此节点上运行 pod 的内存量为 28.9 GB。这个数量是通过从节点整体容量中减去 system-reserved 和 eviction-hard 值来计算的。如果内存用量超过这个数量,节点将开始驱除 pod。