3.2. 安装 Migration Toolkit for Applications Operator 和用户界面
您可以在 Red Hat OpenShift 版本 4.15-4.17 上安装 Migration Toolkit for Applications (MTA)和用户界面。
先决条件
- 4 个 vCPU、8 GB RAM 和 40 GB 持久性存储。
- 在版本 4.15-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 设置:
表 3.2. Tackle CR 设置 Name default 描述 cache_data_volume_size
100Gi
为缓存卷请求的大小;当
rwx_supported=false
时会被忽略cache_storage_class
默认存储类
用于缓存卷的存储类 ; 当
rwx_supported=false
时会被忽略feature_auth_required
true
用于指明是否需要 keycloak 授权(单用户/"noauth")的标记
feature_isolate_namespace
true
指定是否启用使用网络策略进行命名空间隔离的标志
hub_database_volume_size
10Gi
为 Hub 数据库卷请求的大小
hub_bucket_volume_size
100Gi
为 Hub 存储桶卷请求的大小
hub_bucket_storage_class
默认存储类
用于存储桶卷的存储类
keycloak_database_data_volume_size
1Gi
为 Keycloak 数据库卷请求的大小
keycloak_sso_req_passwd_update
true
如果标志设为
true
,则需要用户在第一次登录后更新其密码。pathfinder_database_data_volume_size
1Gi
为 Pathfinder 数据库卷请求的大小
maven_data_volume_size
100Gi
为 Maven m2 缓存卷请求的大小;在 MTA 6.0.1 中弃用
rwx_storage_class
不适用
为 Tackle RWX 卷请求的存储类;在 MTA 6.0.1 中弃用
rwx_supported
true
指明集群存储是否支持 RWX 模式的标记
rwo_storage_class
不适用
为 Tackle RW0 卷请求的存储类
rhsso_external_access
False
指明是否创建了专用路由来访问 MTA 受管 RHSSO 实例的标志
analyzer_container_limits_cpu
1
允许 pod 使用的最大 CPU 数量
analyzer_container_limits_memory
4Gi
pod 允许使用的最大内存量。如果 pod 显示
OOMKilled
错误,您可以提高这个限制。analyzer_container_requests_cpu
1
pod 需要运行的最小 CPU 数量
analyzer_container_requests_memory
4Gi
pod 运行所需的最小内存量
ui_container_limits_cpu
500m
UI pod 资源允许使用的最大 CPU 数量
ui_container_limits_memory
800Mi
UI pod 资源允许使用的最大内存量。如果 pod 显示
OOMKilled
错误,您可以提高这个限制。ui_container_requests_cpu
100m
UI pod 资源需要运行的最小 CPU 数量
ui_container_requests_memory
350Mi
UI pod 资源需要运行的最小内存量
provider_java_container_limits_cpu
1
允许 Java 供应商资源使用的最大 CPU 数量
provider_java_container_limits_memory
2Gi
允许 Java 供应商资源使用的最大内存量。如果 pod 显示
OOMKilled
错误,您可以提高这个限制。provider_java_container_requests_cpu
1
Java 供应商资源需要运行的最小 CPU 数量
provider_java_container_requests_memory
2Gi
Java 供应商资源需要运行的最小内存量
YAML 文件示例
kind: Tackle apiVersion: tackle.konveyor.io/v1alpha1 metadata: name: mta namespace: openshift-mta spec: hub_bucket_volume_size: "25Gi" maven_data_volume_size: "25Gi" rwx_supported: "false"
- 如果需要,编辑 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。