31 边缘 3.6 迁移 #
本节介绍了如何将您的 management 和 downstream 集群从 SUSE Edge 3.5 迁移到 SUSE Edge 3.6.0。
请务必从 latest Z-stream 的 SUSE Edge 3.5 版本执行集群迁移。
请务必迁移到 SUSE Edge 3.6.0 版本。有关后续迁移后的升级,请参阅 管理 (Chapter 32, 管理群集)
和 下游 (Chapter 33, 下游集群) 集群
中的各个部分。
下表列出了不同类型的集群以及升级集群的方法:
| 集群类型 | 方法 |
|---|---|
EIB 配置的集群 | 有关详细信息,请参见Section 31.1.3, “Fleet”。 |
Phone-home 配置的集群 | 有关 Kubernetes 版本升级,请参阅 升级 Kubernetes 版本;有关 SUC、操作系统和其他组件,请参阅 下游集群 (Chapter 33, 下游集群)。 |
31.1 管理群集 #
本节包含下列主题:
Section 31.1.1, “先决条件” - 开始迁移前需要完成的先决条件步骤。
Section 31.1.2, “升级控制器” - 如何使用 management 执行 Chapter 19, 升级控制器 集群迁移。
Section 31.1.3, “Fleet” - 如何使用 management 执行 Chapter 6, Fleet 集群迁移。
31.1.1 先决条件 #
31.1.1.1 迁移 Metal3 CA 证书配置 #
仅适用于使用额外的受信任 CA 来处理带有 TLS 的外部媒体服务器的 Metal3 部署。
Metal3 Helm chart 更改了受信任 CA 证书的配置方式。以前,额外的 CA 是通过带有 additionalTrustedCAs 布尔标志的 Secret (tls-ca-additional) 提供的。新版本使用包含由 global.trustedCAs 值引用的完整 CA 捆绑包的 ConfigMap。
如果您已为 Metal3 配置了额外的受信任 CA,则需要从基于 Secret 的方法迁移到基于 ConfigMap 的方法:
从现有的 Secret 创建包含您的 CA 捆绑包的 ConfigMap:
从旧的 Secret 中提取证书:
kubectl get secret tls-ca-additional -n metal3-system -o jsonpath='{.data}' | \ jq -r 'to_entries[] | .value' | base64 -d > ca-bundle.pem可选 - 包含系统 CA 捆绑包: 如果您的 Metal3 部署还需要信任公共 CA(例如,通过 HTTPS 访问外部资源时),则除了自定义 CA 之外,还需要包含系统 CA 捆绑包。从容器镜像中提取系统 CA 捆绑包,并将其添加到您的自定义 CA 之前:
# Extract system CAs from a container image (using podman or docker) podman run --rm registry.suse.com/bci/bci-base:latest cat /etc/ssl/certs/ca-certificates.crt > system-cas.pem # Combine system CAs with your custom CAs cat system-cas.pem ca-bundle.pem > combined-ca-bundle.pem mv combined-ca-bundle.pem ca-bundle.pemImportant如果您包含系统 CA 捆绑包,则您有责任使其保持最新。容器镜像中的系统 CA 可能会随着 CA 证书过期或被吊销而逐渐过时。您应该通过从更新的容器镜像中重新提取系统 CA 捆绑包来定期刷新它。
使用最终的 CA 捆绑包创建 ConfigMap:
kubectl create configmap tls-ca-bundle -n metal3-system --from-file=ca-bundle.pem=ca-bundle.pem更新您的 Metal3 Helm 值以使用新的 ConfigMap 引用:
更改自:
global: additionalTrustedCAs: true至:
global: trustedCAs: tls-ca-bundle使用新配置升级 Metal3 Helm chart 后,您可以删除旧的 Secret:
kubectl delete secret tls-ca-additional -n metal3-system
31.1.2 升级控制器 #
Upgrade Controller 目前仅支持 SUSE Edge 版本迁移,仅适用于 非隔离的管理 集群。
本节涵盖以下主题:
Section 31.1.2.1, “先决条件” - Upgrade Controller 的特定先决条件。
Section 31.1.2.2, “迁移步骤” - 使用 Upgrade Controller 将 management 集群迁移到新 SUSE Edge 版本的步骤。
31.1.2.1 先决条件 #
31.1.2.1.1 SUSE Edge 3.6 升级控制器 #
在使用 Upgrade Controller 之前,您必须首先确保其运行的版本能够迁移到所需的 SUSE Edge 版本。
要执行这一操作:
如果您已经从之前的
Upgrade Controller版本部署了SUSE Edge,请升级其 chart:helm upgrade upgrade-controller -n upgrade-controller-system oci://registry.suse.com/edge/charts/upgrade-controller --version 306.0.4+up0.1.3如果您 没有 部署
Upgrade Controller,请遵循 Section 19.3, “安装升级控制器”。
31.1.2.2 迁移步骤 #
使用 management 执行 Upgrade Controller 集群迁移与执行升级基本相似。
唯一的区别是您的 UpgradePlan 必须 指定 3.6.0 发布版本:
apiVersion: lifecycle.suse.com/v1alpha1
kind: UpgradePlan
metadata:
name: upgrade-plan-mgmt
# Change to the namespace of your Upgrade Controller
namespace: CHANGE_ME
spec:
releaseVersion: 3.6.0有关如何使用上述 UpgradePlan 进行迁移的信息,请参阅 Upgrade Controller 升级流程 (Section 32.1, “Upgrade Controller”)。
31.1.3 Fleet #
使用 management 执行 Fleet 集群迁移与执行升级基本相似。
*关键*区别在于:
必须使用
suse-edge/fleet-examples储存库的 release-3.6.0 版本中的 Fleet。计划升级的 Chart *必须*升级到与
SUSE Edge 3.6.0版本兼容的版本。有关SUSE Edge 3.6.0组件的列表,请参阅 Section 41.4, “3.6.0 版本”。
为确保 SUSE Edge 3.6.0 迁移成功,用户务必遵守上述要点。
考虑到上述几点,用户可以遵循 management 集群 Fleet (Section 32.2, “Fleet”) 文档,获取执行迁移所需步骤的综合指南。
31.2 下游集群 #
Section 31.2.1, “Fleet” - 如何使用 downstream 执行 Chapter 6, Fleet 集群迁移。
31.2.1 Fleet #
使用 downstream 执行 Fleet 集群迁移与执行升级基本相似。
*关键*区别在于:
必须使用
suse-edge/fleet-examples储存库的 release-3.6.0 版本中的 Fleet。计划升级的 Chart *必须*升级到与
SUSE Edge 3.6.0版本兼容的版本。有关SUSE Edge 3.6.0组件的列表,请参阅 Section 41.4, “3.6.0 版本”。
为确保 SUSE Edge 3.6.0 迁移成功,用户务必遵守上述要点。
考虑到上述几点,用户可以遵循 downstream 集群 Fleet (Section 33.1, “Fleet”) 文档,获取执行迁移所需步骤的综合指南。