15.2. 为单节点 OpenShift 集群准备基于镜像的升级
15.2.2. 为基于镜像的升级安装 Operator 复制链接链接已复制到粘贴板!
通过安装 Lifecycle Agent 和 OADP Operator 为升级准备集群。
要使用非 GitOps 方法安装 OADP Operator,请参阅"安装 OADP Operator"。
15.2.2.1. 使用 CLI 安装生命周期代理 复制链接链接已复制到粘贴板!
您可以使用 OpenShift CLI (oc
)安装生命周期代理。
先决条件
-
已安装 OpenShift CLI(
oc
)。 -
您已以具有
cluster-admin
权限的用户身份登录。
流程
为 Lifecycle Agent 创建
Namespace
对象 YAML 文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来创建
Namespace
CR:oc create -f <namespace_filename>.yaml
$ oc create -f <namespace_filename>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
为 Lifecycle Agent 创建
OperatorGroup
对象 YAML 文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来创建
OperatorGroup
CR:oc create -f <operatorgroup_filename>.yaml
$ oc create -f <operatorgroup_filename>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
为生命周期代理创建一个
Subscription
CR:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来创建
Subscription
CR:oc create -f <subscription_filename>.yaml
$ oc create -f <subscription_filename>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
要验证安装是否成功,请运行以下命令来检查 CSV 资源:
oc get csv -n openshift-lifecycle-agent
$ oc get csv -n openshift-lifecycle-agent
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME DISPLAY VERSION REPLACES PHASE lifecycle-agent.v4.17.0 Openshift Lifecycle Agent 4.17.0 Succeeded
NAME DISPLAY VERSION REPLACES PHASE lifecycle-agent.v4.17.0 Openshift Lifecycle Agent 4.17.0 Succeeded
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令验证 Lifecycle Agent 是否正在运行:
oc get deploy -n openshift-lifecycle-agent
$ oc get deploy -n openshift-lifecycle-agent
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME READY UP-TO-DATE AVAILABLE AGE lifecycle-agent-controller-manager 1/1 1 1 14s
NAME READY UP-TO-DATE AVAILABLE AGE lifecycle-agent-controller-manager 1/1 1 1 14s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
15.2.2.2. 使用 Web 控制台安装 Lifecycle Agent 复制链接链接已复制到粘贴板!
您可以使用 OpenShift Container Platform Web 控制台安装 Lifecycle Agent。
先决条件
-
您已以具有
cluster-admin
权限的用户身份登录。
流程
-
在 OpenShift Container Platform Web 控制台中导航至 Operators
OperatorHub。 - 从可用的 Operator 列表中选择 Lifecycle Agent,然后点 Install。
- 在 Install Operator 页面中,在 A specific namespace on the cluster 下选择 openshift-lifecycle-agent。
- 点 Install。
验证
确认安装成功:
-
点 Operators
Installed Operators。 确保 openshift-lifecycle-agent 项目中列出的 Lifecycle Agent 的 Status 为 InstallSucceeded。
注意在安装过程中,Operator 可能会显示 Failed 状态。如果安装过程结束后有 InstallSucceeded 信息,您可以忽略这个 Failed 信息。
-
点 Operators
如果 Operator 没有成功安装:
-
点 Operators
Installed Operators,检查 Operator Subscriptions 和 Install Plans 选项卡中的 Status 是否有任何错误。 -
点 Workloads
Pods,在 openshift-lifecycle-agent 项目中检查 pod 的日志。
15.2.2.3. 使用 GitOps ZTP 安装生命周期代理 复制链接链接已复制到粘贴板!
使用 GitOps Zero Touch Provisioning (ZTP) 安装生命周期代理,以执行基于镜像的升级。
流程
从
ztp-site-generate
容器镜像中提取以下 CR,并将它们推送到source-cr
目录:LcaSubscriptionNS.yaml
文件示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow LcaSubscriptionOperGroup.yaml
文件示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow LcaSubscription.yaml
文件示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 目录结构示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 CR 添加到通用
PolicyGenTemplate
中:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
15.2.2.4. 使用 GitOps ZTP 安装和配置 OADP Operator 复制链接链接已复制到粘贴板!
在开始升级前,使用 GitOps ZTP 安装和配置 OADP Operator。
流程
从
ztp-site-generate
容器镜像中提取以下 CR,并将它们推送到source-cr
目录:OadpSubscriptionNS.yaml
文件示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow OadpSubscriptionOperGroup.yaml
文件示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow OadpSubscription.yaml
文件示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow OadpOperatorStatus.yaml
文件示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 目录结构示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 CR 添加到通用
PolicyGenTemplate
中:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 只为目标集群创建
DataProtectionApplication
CR 和 S3 secret:从
ztp-site-generate
容器镜像中提取以下 CR,并将它们推送到source-cr
目录:DataProtectionApplication.yaml
文件示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow OadpSecret.yaml
文件示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow OadpBackupStorageLocationStatus.yaml
文件示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow OadpBackupStorageLocationStatus.yaml
CR 验证 OADP 创建的备份存储位置的可用性。使用覆盖将 CR 添加到站点
PolicyGenTemplate
中:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
15.2.3. 使用生命周期代理为基于镜像的升级生成 seed 镜像 复制链接链接已复制到粘贴板!
使用 Lifecycle Agent 生成带有 SeedGenerator
自定义资源 (CR) 的 seed 镜像。
15.2.3.1. seed 镜像配置 复制链接链接已复制到粘贴板!
seed 镜像以一组具有相同硬件和类似配置的单节点 OpenShift 集群为目标。这意味着 seed 镜像必须具有与目标集群的 seed 集群共享的所有组件和配置。因此,从 seed 集群生成的 seed 镜像不能包含任何特定于集群的配置。
下表列出了您必须且不得包含在 seed 镜像中的组件、资源和配置:
集群配置 | 在 seed 镜像中包括 |
---|---|
性能配置集 | 是 |
目标集群的 | 是 |
IP 版本 [1] | 是 |
第 2 天 Operator 集,包括 Lifecycle Agent 和 OADP Operator | 是 |
断开连接的 registry 配置 [2] | 是 |
有效的代理配置 [3] | 是 |
FIPS 配置 | 是 |
与目标集群大小匹配的容器存储的主磁盘上的专用分区 | 是 |
本地卷
| 否 |
OADP | 否 |
- 这个版本不支持双栈网络。
- 如果在断开连接的环境中安装了 seed 集群,则目标集群还必须在断开连接的环境中安装。
- 代理配置必须在 seed 和 target 集群中启用或禁用。但是,在集群中配置的代理服务器不必匹配。
15.2.3.1.1. 使用 RAN DU 配置集的 seed 镜像配置 复制链接链接已复制到粘贴板!
下表列出了在使用 RAN DU 配置集时必须且不得包含在 seed 镜像中的组件、资源和配置:
资源 | 在 seed 镜像中包括 |
---|---|
作为第 0 天安装的一部分应用的所有额外清单 | 是 |
所有第 2 天 Operator 订阅 | 是 |
| 是 |
| 是 |
| 是 |
| 是 |
| 是 |
|
No,如果在 |
| 否 |
| 否 |
资源 | 应用作为额外清单 |
---|---|
| 是 |
| 是 |
| 是 |
| 是 |
| 是 |
| 如果目标集群的接口与 seed 集群是通用的,您可以在 seed 镜像中包含它们。否则,将它作为额外清单应用。 |
| 如果 seed 和目标集群上的配置(包括命名空间)完全相同,您可以在 seed 镜像中包括它们。否则,应用它们作为额外的清单。 |
15.2.3.2. 使用生命周期代理生成 seed 镜像 复制链接链接已复制到粘贴板!
使用 Lifecycle Agent 从受管集群生成 seed 镜像。Operator 会检查所需的系统配置,在生成 seed 镜像前执行任何必要的系统清理,并启动镜像生成。seed 镜像生成包括以下任务:
- 停止集群 Operator
- 准备 seed 镜像配置
-
生成并推送 seed
Generator
CR 中指定的镜像存储库 - 恢复集群 Operator
- 使 seed 集群证书过期
- 为 seed 集群生成新证书
-
在 seed 集群中恢复和更新
SeedGenerator
CR
先决条件
- 在 seed 集群中没有安装 Kubernetes Operator 的 RHACM 和多集群引擎。
- 您已在 seed 集群中配置了共享目录。
- 您已在 seed 集群中安装 OADP Operator 的最低版本和 Lifecycle Agent。
- 确保在 seed 集群中没有配置持久性卷。
-
如果使用 Local Storage Operator,请确保 seed 集群中不存在
LocalVolume
CR。 -
如果使用 LVM 存储,请确保在 seed 集群中不存在
LVMCluster
CR。 -
如果使用 OADP,请确保 seed 集群中不存在
DataProtectionApplication
CR。
流程
从 hub 中分离受管集群,从 seed 集群中删除任何不能位于 seed 镜像中的任何 RHACM 特定资源:
运行以下命令手动分离 seed 集群:
oc delete managedcluster sno-worker-example
$ oc delete managedcluster sno-worker-example
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
等待受管集群被删除。删除集群后,创建正确的
SeedGenerator
CR。Lifecycle Agent 清理 RHACM 工件。
-
等待受管集群被删除。删除集群后,创建正确的
如果使用 GitOps ZTP,请通过从
kustomization.yaml
中删除 seed 集群的SiteConfig
CR 来分离集群:如果您有一个引用多个
SiteConfig
CR 的kustomization.yaml
文件,请从kustomization.yaml
中删除您看到的集群SiteConfig
CR:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您有一个引用一个
SiteConfig
CR 的kustomization.yaml
,请从kustomization.yaml
中删除您看到的集群SiteConfig
CR,并添加generators: {}
行:apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization generators: {}
apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization generators: {}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Git 存储库中提交
kustomization.yaml
更改,并将更改推送到您的存储库。ArgoCD 管道检测到更改并删除受管集群。
创建
Secret
对象,以便您可以将 seed 镜像推送到 registry。运行以下命令来创建身份验证文件:
MY_USER=myuserid AUTHFILE=/tmp/my-auth.json podman login --authfile ${AUTHFILE} -u ${MY_USER} quay.io/${MY_USER}
$ MY_USER=myuserid $ AUTHFILE=/tmp/my-auth.json $ podman login --authfile ${AUTHFILE} -u ${MY_USER} quay.io/${MY_USER}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow base64 -w 0 ${AUTHFILE} ; echo
$ base64 -w 0 ${AUTHFILE} ; echo
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将输出复制到
openshift-lifecycle-agent
命名空间中名为seedgen
的Secret
YAML 文件中的seedAuth
字段中:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来应用
Secret
:oc apply -f secretseedgenerator.yaml
$ oc apply -f secretseedgenerator.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
创建
SeedGenerator
CR:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来生成 seed 镜像:
oc apply -f seedgenerator.yaml
$ oc apply -f seedgenerator.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要当 Lifecycle Agent 生成 seed 镜像时,集群会重启并丢失 API 功能。应用
SeedGenerator
CR 会停止kubelet
和 CRI-O 操作,然后启动镜像生成。
如果要生成更多 seed 镜像,则必须使用您要从中生成 seed 镜像的版本置备一个新的 seed 集群。
验证
集群恢复并可用后,您可以通过运行以下命令来检查
SeedGenerator
CR 的状态:oc get seedgenerator -o yaml
$ oc get seedgenerator -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- seed 镜像生成已完成。
15.2.4. 使用 Lifecycle Agent 为基于镜像的升级创建 ConfigMap 对象 复制链接链接已复制到粘贴板!
Lifecycle Agent 需要嵌套在 ConfigMap
对象中的所有 OADP 资源、额外清单和自定义目录源才能处理它们以进行基于镜像的升级。
15.2.4.1. 使用生命周期代理为基于镜像的升级创建 OADP ConfigMap 对象 复制链接链接已复制到粘贴板!
创建用于在升级过程中备份和恢复资源的 OADP 资源。
先决条件
- 您已从一个兼容的 seed 集群生成了一个 seed 镜像。
- 您已创建了 OADP 备份和恢复资源。
- 您已在目标集群上创建一个单独的分区,用于 stateroots 之间共享的容器镜像。如需更多信息,请参阅"为基于镜像升级配置共享容器分区"。
- 您已部署了与 seed 镜像一起使用的版本兼容的 Lifecycle Agent 版本。
-
您已在目标集群上安装 OADP Operator、
DataProtectionApplication
CR 及其 secret。 - 您已创建了兼容 S3 的存储解决方案,以及一个可直接使用的存储桶,并配置了正确的凭证。如需更多信息,请参阅"关于安装 OADP"。
流程
为安装 OADP Operator 的同一命名空间中的平台工件 (
openshift-adp
) 创建 OADPBackup
和Restore
CR。如果目标集群由 RHACM 管理,请添加以下 YAML 文件来备份和恢复 RHACM 工件:
用于 RHACM 的 PlatformBackupRestore.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 如果您的
multiclusterHub
CR 没有定义.spec.imagePullSecret
,且 hub 集群中的open-cluster-management-agent
命名空间中不存在 secret,请删除v1/secrets/open-cluster-management-agent/open-cluster-management-image-pull-credentials
。
如果您通过 LVM 存储在集群中创建了持久性卷,请为 LVM Storage 工件添加以下 YAML 文件:
用于 LVM 存储的 PlatformBackupRestoreLvms.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
lca.openshift.io/apply-wave
值必须小于应用程序Restore
CR 中指定的值。
如果您需要在升级后恢复应用程序,在
openshift-adp
命名空间中为应用程序创建 OADPBackup
和Restore
CR。在
openshift-adp
命名空间中为集群范围的应用程序工件创建 OADP CR。LSO 和 LVM Storage 的集群范围应用程序工件的 OADP CR 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为您的命名空间范围的应用程序工件创建 OADP CR。
使用 LSO 时 OADP CR 命名空间范围的应用程序工件示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 为应用程序定义自定义资源。
使用 LVM 存储时 OADP CR 命名空间范围的应用程序工件示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要同一版本的应用程序必须在 OpenShift Container Platform 的当前和目标发行版本中正常工作。
运行以下命令,为 OADP CR 创建
ConfigMap
对象:oc create configmap oadp-cm-example --from-file=example-oadp-resources.yaml=<path_to_oadp_crs> -n openshift-adp
$ oc create configmap oadp-cm-example --from-file=example-oadp-resources.yaml=<path_to_oadp_crs> -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来修补
ImageBasedUpgrade
CR:oc patch imagebasedupgrades.lca.openshift.io upgrade \ -p='{"spec": {"oadpContent": [{"name": "oadp-cm-example", "namespace": "openshift-adp"}]}}' \ --type=merge -n openshift-lifecycle-agent
$ oc patch imagebasedupgrades.lca.openshift.io upgrade \ -p='{"spec": {"oadpContent": [{"name": "oadp-cm-example", "namespace": "openshift-adp"}]}}' \ --type=merge -n openshift-lifecycle-agent
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
15.2.4.2. 使用生命周期代理为基于镜像的升级创建额外清单的 ConfigMap 对象 复制链接链接已复制到粘贴板!
创建您要应用到目标集群的额外清单。
如果添加多个额外清单,且清单必须按照特定顺序应用,则必须为代表所需顺序的清单的文件名添加前缀。例如: 00-namespace.yaml
,01-sriov-extra-manifest.yaml
,等等。
流程
创建包含额外清单的 YAML 文件,如 SR-IOV。
SR-IOV 资源示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来创建
ConfigMap
对象:oc create configmap example-extra-manifests-cm --from-file=example-extra-manifests.yaml=<path_to_extramanifest> -n openshift-lifecycle-agent
$ oc create configmap example-extra-manifests-cm --from-file=example-extra-manifests.yaml=<path_to_extramanifest> -n openshift-lifecycle-agent
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来修补
ImageBasedUpgrade
CR:oc patch imagebasedupgrades.lca.openshift.io upgrade \ -p='{"spec": {"extraManifests": [{"name": "example-extra-manifests-cm", "namespace": "openshift-lifecycle-agent"}]}}' \ --type=merge -n openshift-lifecycle-agent
$ oc patch imagebasedupgrades.lca.openshift.io upgrade \ -p='{"spec": {"extraManifests": [{"name": "example-extra-manifests-cm", "namespace": "openshift-lifecycle-agent"}]}}' \ --type=merge -n openshift-lifecycle-agent
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
您可以通过为目录源生成 ConfigMap
对象并将其添加到 ImageBasedUpgrade
CR 的 spec.extraManifest
字段中,在升级后保留自定义目录源。有关目录源的更多信息,请参阅"目录源"。
流程
创建包含
CatalogSource
CR 的 YAML 文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来创建
ConfigMap
对象:oc create configmap example-catalogsources-cm --from-file=example-catalogsources.yaml=<path_to_catalogsource_cr> -n openshift-lifecycle-agent
$ oc create configmap example-catalogsources-cm --from-file=example-catalogsources.yaml=<path_to_catalogsource_cr> -n openshift-lifecycle-agent
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来修补
ImageBasedUpgrade
CR:oc patch imagebasedupgrades.lca.openshift.io upgrade \ -p='{"spec": {"extraManifests": [{"name": "example-catalogsources-cm", "namespace": "openshift-lifecycle-agent"}]}}' \ --type=merge -n openshift-lifecycle-agent
$ oc patch imagebasedupgrades.lca.openshift.io upgrade \ -p='{"spec": {"extraManifests": [{"name": "example-catalogsources-cm", "namespace": "openshift-lifecycle-agent"}]}}' \ --type=merge -n openshift-lifecycle-agent
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
15.2.5. 使用 GitOps ZTP 为基于镜像的升级创建 ConfigMap 对象 复制链接链接已复制到粘贴板!
在一个 ConfigMap
中创建您的 OADP 资源、额外清单和自定义目录源来准备基于镜像的升级。
15.2.5.1. 使用 GitOps ZTP 为基于镜像的升级创建 OADP 资源 复制链接链接已复制到粘贴板!
准备 OADP 资源,以便在升级后恢复应用程序。
先决条件
- 已使用 GitOps ZTP 置备一个或多个受管集群。
-
您已以具有
cluster-admin
权限的用户身份登录。 - 您已从一个兼容的 seed 集群生成了一个 seed 镜像。
- 您已在目标集群上创建一个单独的分区,用于 stateroots 之间共享的容器镜像。如需更多信息,请参阅"在使用 GitOps ZTP 时在 ostree stateroot 之间配置共享容器分区"。
- 您已部署了与 seed 镜像一起使用的版本兼容的 Lifecycle Agent 版本。
-
您已在目标集群上安装 OADP Operator、
DataProtectionApplication
CR 及其 secret。 - 您已创建了兼容 S3 的存储解决方案,以及一个可直接使用的存储桶,并配置了正确的凭证。如需更多信息,请参阅"使用 GitOps ZTP 安装和配置 OADP Operator"。
-
OADP
ConfigMap
对象的openshift-adp
命名空间必须存在于所有受管集群中,以及用于生成并复制到集群的 OADPConfigMap
的 hub。
流程
确保用于 ArgoCD 策略应用程序的 Git 存储库包含以下目录结构:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow source-crs/ibu/PlatformBackupRestoreWithIBGU.yaml
文件在 ZTP 容器镜像中提供。PlatformBackupRestoreWithIBGU.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 如果您的
multiclusterHub
CR 没有定义.spec.imagePullSecret
,且 hub 集群中的open-cluster-management-agent
命名空间中不存在 secret,请删除v1/secrets/open-cluster-management-agent/open-cluster-management-image-pull-credentials
。
注意如果您直接在受管集群中执行基于镜像的升级,请使用
PlatformBackupRestore.yaml
文件。如果使用 LVM 存储来创建持久性卷,您可以使用 ZTP 容器镜像中提供的
source-crs/ibu/PlatformBackupRestoreLvms.yaml
来备份 LVM 存储资源。PlatformBackupRestoreLvms.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
lca.openshift.io/apply-wave
值必须小于应用程序Restore
CR 中指定的值。
如果您需要在升级后恢复应用程序,在
openshift-adp
命名空间中为应用程序创建 OADPBackup
和Restore
CR:在
openshift-adp
命名空间中为集群范围的应用程序工件创建 OADP CR:LSO 和 LVM Storage 的集群范围应用程序工件的 OADP CR 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在
source-crs/custom-crs
目录中为您的命名空间范围的应用程序工件创建 OADP CR:使用 LSO 时 OADP CR 命名空间范围的应用程序工件示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 为应用程序定义自定义资源。
使用 LVM 存储时 OADP CR 命名空间范围的应用程序工件示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要同一版本的应用程序必须在 OpenShift Container Platform 的当前和目标发行版本中正常工作。
使用以下内容创建一个
kustomization.yaml
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 将更改推送到您的 Git 存储库。
15.2.5.2. 使用 GitOps ZTP 为基于镜像的升级标记额外的清单 复制链接链接已复制到粘贴板!
标记您的额外清单,以便 Lifecycle Agent 可以提取带有 lca.openshift.io/target-ocp-version: <target_version>
标签的资源。
先决条件
- 已使用 GitOps ZTP 置备一个或多个受管集群。
-
您已以具有
cluster-admin
权限的用户身份登录。 - 您已从一个兼容的 seed 集群生成了一个 seed 镜像。
- 您已在目标集群上创建一个单独的分区,用于 stateroots 之间共享的容器镜像。如需更多信息,请参阅"在使用 GitOps ZTP 时,在 ostree stateroots 之间配置共享容器目录"。
- 您已部署了与 seed 镜像一起使用的版本兼容的 Lifecycle Agent 版本。
流程
使用现有站点
PolicyGenTemplate
CR 中的lca.openshift.io/target-ocp-version: <target_version>
标签所需的额外清单:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 将更改推送到您的 Git 存储库。
15.2.6. 配置自动镜像清理容器存储磁盘 复制链接链接已复制到粘贴板!
通过注解设置可用存储空间的最小阈值,来配置 Prep
阶段中的未固定镜像。默认容器存储磁盘使用情况阈值为 50%。
Lifecycle Agent 不会删除在 CRI-O 中固定或当前使用的镜像。Operator 通过从悬停的镜像开始选择要删除的镜像,然后将镜像从最旧的镜像到最新的镜像进行排序,由 Created
时间戳决定。
15.2.6.1. 配置自动镜像清理容器存储磁盘 复制链接链接已复制到粘贴板!
通过注解配置可用存储空间的最小阈值。
先决条件
-
您已创建了
ImageBasedUpgrade
CR。
流程
运行以下命令,将阈值增加到 65%:
oc -n openshift-lifecycle-agent annotate ibu upgrade image-cleanup.lca.openshift.io/disk-usage-threshold-percent='65'
$ oc -n openshift-lifecycle-agent annotate ibu upgrade image-cleanup.lca.openshift.io/disk-usage-threshold-percent='65'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow (可选)运行以下命令来删除阈值覆盖:
oc -n openshift-lifecycle-agent annotate ibu upgrade image-cleanup.lca.openshift.io/disk-usage-threshold-percent-
$ oc -n openshift-lifecycle-agent annotate ibu upgrade image-cleanup.lca.openshift.io/disk-usage-threshold-percent-
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
15.2.6.2. 禁用自动镜像清理容器存储磁盘 复制链接链接已复制到粘贴板!
禁用自动镜像清理阈值。
流程
运行以下命令禁用自动镜像清理:
oc -n openshift-lifecycle-agent annotate ibu upgrade image-cleanup.lca.openshift.io/on-prep='Disabled'
$ oc -n openshift-lifecycle-agent annotate ibu upgrade image-cleanup.lca.openshift.io/on-prep='Disabled'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow (可选)运行以下命令来再次启用自动镜像清理:
oc -n openshift-lifecycle-agent annotate ibu upgrade image-cleanup.lca.openshift.io/on-prep-
$ oc -n openshift-lifecycle-agent annotate ibu upgrade image-cleanup.lca.openshift.io/on-prep-
Copy to Clipboard Copied! Toggle word wrap Toggle overflow