|Index|SUSE Telco Cloud 文档|第 2 天运维|边缘 3.6 迁移
适用范围 SUSE Telco Cloud 3.6

57 边缘 3.6 迁移

本节介绍了如何将您的 management 和 downstream 集群从 SUSE Telco Cloud 3.5 迁移到 SUSE Telco Cloud 3.6.0。

重要
重要

请务必从 latest Z-stream 的 SUSE Telco Cloud 3.5 版本执行集群迁移。

请务必迁移到 SUSE Telco Cloud 3.6.0 版本。有关后续迁移后的升级,请参阅 管理 (第 58 章 “管理群集”) 中的各个部分。

下表列出了不同类型的集群以及升级集群的方法:

表 57.1︰ 集群以及升级下游集群的方法
集群类型方法

EIB 配置的集群

有关详细信息,请参见第 57.1.3 节 “Fleet”。

Metal3 配置的集群

有关详细信息,请参阅 下游集群升级 (第 59.3 节 “下游集群升级”)。

57.1 管理群集

本节包含下列主题:

第 57.1.1 节 “先决条件” - 开始迁移前需要完成的先决条件步骤。

第 57.1.2 节 “升级控制器” - 如何使用 management 执行 第 21 章 “升级控制器” 集群迁移。

第 57.1.3 节 “Fleet” - 如何使用 management 执行 第 9 章 “Fleet” 集群迁移。

57.1.1 先决条件

57.1.1.1 升级裸机操作员 CRD

注意
注意

仅适用于需要 第 11 章 “Metal3” chart 升级的 CAPI/Metal3 管理集群。

Metal3 Helm chart 通过利用 Helm 的 CRD 目录包含 Bare Metal Operator (BMO) CRD。

然而,这种方法有一定的局限性,特别是无法使用 Helm 升级此目录中的 CRD。有关详细信息,请参见 Helm 文档。

因此,在将 Metal3 升级到 SUSE Telco Cloud 3.6.0 兼容版本之前,用户必须手动升级底层的 BMO CRD。

在安装了 Helm 且 kubectl 配置为指向您的 management 集群的机器上:

  1. 手动应用 BMO CRD:

    helm show crds oci://registry.suse.com/edge/charts/metal3 --version 306.0.29+up0.15.0 | kubectl apply -f -

57.1.1.2 迁移 Metal3 CA 证书配置

注意
注意

仅适用于使用额外的受信任 CA 来处理带有 TLS 的外部媒体服务器的 Metal3 部署。

Metal3 Helm chart 更改了受信任 CA 证书的配置方式。以前,额外的 CA 是通过带有 additionalTrustedCAs 布尔标志的 Secret (tls-ca-additional) 提供的。新版本使用包含由 global.trustedCAs 值引用的完整 CA 捆绑包的 ConfigMap。

如果您已为 Metal3 配置了额外的受信任 CA,则需要从基于 Secret 的方法迁移到基于 ConfigMap 的方法:

  1. 从现有的 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.pem
    重要
    重要

    如果您包含系统 CA 捆绑包,则您有责任使其保持最新。容器镜像中的系统 CA 可能会随着 CA 证书过期或被吊销而逐渐过时。您应该通过从更新的容器镜像中重新提取系统 CA 捆绑包来定期刷新它。

    使用最终的 CA 捆绑包创建 ConfigMap:

    kubectl create configmap tls-ca-bundle -n metal3-system --from-file=ca-bundle.pem=ca-bundle.pem
  2. 更新您的 Metal3 Helm 值以使用新的 ConfigMap 引用:

    更改自:

    global:
      additionalTrustedCAs: true

    至:

    global:
      trustedCAs: tls-ca-bundle
  3. 使用新配置升级 Metal3 Helm chart 后,您可以删除旧的 Secret:

    kubectl delete secret tls-ca-additional -n metal3-system

57.1.2 升级控制器

重要
重要

Upgrade Controller 目前仅支持 SUSE Telco Cloud 版本迁移,仅适用于 非隔离的管理 集群。

本节涵盖以下主题:

第 57.1.2.1 节 “先决条件” - Upgrade Controller 的特定先决条件。

第 57.1.2.2 节 “迁移步骤” - 使用 Upgrade Controller 将 management 集群迁移到新 SUSE Telco Cloud 版本的步骤。

57.1.2.1 先决条件

57.1.2.1.1 SUSE Telco Cloud 3.6 升级控制器

在使用 Upgrade Controller 之前,您必须首先确保其运行的版本能够迁移到所需的 SUSE Telco Cloud 版本。

要执行这一操作:

  1. 如果您已经从之前的 Upgrade Controller 版本部署了 SUSE Telco Cloud,请升级其 chart:

    helm upgrade upgrade-controller -n upgrade-controller-system oci://registry.suse.com/edge/charts/upgrade-controller --version 306.0.4+up0.1.3
  2. 如果您 没有 部署 Upgrade Controller,请遵循 第 21.3 节 “安装升级控制器”。

57.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 升级流程 (第 58.1 节 “Upgrade Controller”)。

57.1.3 Fleet

注意
注意

尽可能使用 第 57.1.2 节 “升级控制器” 进行迁移。

仅在 Upgrade Controller 未涵盖的用例中参考本节。

使用 management 执行 Fleet 集群迁移与执行升级基本相似。

*关键*区别在于:

  1. 必须使用 suse-edge/fleet-examples 储存库的 release-3.6.0 版本中的 Fleet。

  2. 计划升级的 Chart *必须*升级到与 SUSE Telco Cloud 3.6.0 版本兼容的版本。有关 SUSE Telco Cloud 3.6.0 组件的列表,请参阅 第 75.4 节 “3.6.0 版本”。

重要
重要

为确保 SUSE Telco Cloud 3.6.0 迁移成功,用户务必遵守上述要点。

57.2 下游集群

第 57.2.1 节 “Fleet” - 如何使用 downstream 执行 第 9 章 “Fleet” 集群迁移。

57.2.1 Fleet

使用 downstream 执行 Fleet 集群迁移与执行升级基本相似。

*关键*区别在于:

  1. 必须使用 suse-edge/fleet-examples 储存库的 release-3.6.0 版本中的 Fleet。

  2. 计划升级的 Chart *必须*升级到与 SUSE Telco Cloud 3.6.0 版本兼容的版本。有关 SUSE Telco Cloud 3.6.0 组件的列表,请参阅 第 75.4 节 “3.6.0 版本”。

重要
重要

为确保 SUSE Telco Cloud 3.6.0 迁移成功,用户务必遵守上述要点。