Alauda Container Platform Registry 升级指南

前提条件

  1. 拥有 Alauda Container Platform 的管理员权限。
  2. 旧插件指 Alauda Container Platform v4.1(含)及更早版本。
  3. 新插件指 Alauda Container Platform v4.2(含)及更高版本。

概述

本文档提供了将 Old Plugin 升级到 New Plugin 的操作说明。由于集群插件名称发生了变化,需根据 存储类型 进行手动干预。

升级步骤

环境检查与预处理

未安装旧插件

如果从未安装过旧插件,只需清理 [Marketplace/Cluster Plugins] 中的旧插件:

# 在 global 集群执行
kubectl delete moduleplugins internal-docker-registry
kubectl get moduleconfig -l cpaas.io/module-name=internal-docker-registry -o name | xargs kubectl delete

已安装旧插件

如果在任一集群中安装了旧插件,请根据您的 存储类型 按照迁移流程操作。

S3 存储迁移

特点:自动数据迁移,无需手动操作

操作步骤

  1. 备份旧插件配置:(在安装旧插件的业务集群执行)
    kubectl get clusterplugininstances internal-docker-registry -o yaml > backup-clusterplugininstances.yaml
  2. 卸载旧插件:(在 global 集群执行)
    # 将 <CLUSTER-NAME> 替换为实际安装插件的集群名称
    kubectl get moduleinfo -l cpaas.io/cluster-name=<CLUSTER-NAME>,cpaas.io/module-name=internal-docker-registry -o name | xargs kubectl delete
  3. 安装新插件:(在将安装插件的业务集群执行)
  • 编辑备份文件 backup-clusterplugininstances.yaml,将所有 internal-docker-registry 替换为 image-registry
  • 应用新配置:
    kubectl apply -f backup-clusterplugininstances.yaml
  1. 清理 [Marketplace/Cluster Plugins] 中的旧插件:(在 global 集群执行)
    kubectl delete moduleplugins internal-docker-registry
    kubectl get moduleconfig -l cpaas.io/module-name=internal-docker-registry -o name | xargs kubectl delete

NFS 存储迁移

特点:需手动保留 PV 并修改回收策略

操作步骤

  1. 记录 PV 信息:(在安装旧插件的业务集群执行)
    OLD_PV=$(kubectl get pvc internal-docker-registry -n cpaas-system -o jsonpath='{.spec.volumeName}')
    echo "旧 PV 名称: $OLD_PV"
  2. 修改 PV 回收策略:(在安装旧插件的业务集群执行)
    kubectl patch pv $OLD_PV -p '{"spec":{"persistentVolumeReclaimPolicy":"Retain"}}'
  3. 备份旧插件配置(同 S3 第1步)
  4. 卸载旧插件(同 S3 第2步)
  5. 释放 PV 绑定:(在安装旧插件的业务集群执行)
    kubectl patch pv $OLD_PV -p '{"spec":{"claimRef":null}}'
  6. 安装新插件(重要:必须为新插件设置 config.persistence.volumeName 以保留旧数据)
  • 编辑配置文件 backup-clusterplugininstances.yaml,设置 config.persistence.volumeName: <OLD_PV>
  • 应用配置(同 S3 第3步)
  1. 清理 [Marketplace/Cluster Plugins] 中的旧插件(同 S3 第4步)

本地存储迁移

特点:需手动复制数据

操作步骤

  1. 备份旧插件配置(同 S3 第1步)
  2. 卸载旧插件(同 S3 第2步)
  3. 安装新插件(同 S3 第3步)
  4. 数据迁移:
  • 通过 ssh 登录旧插件 Pod 所在节点,复制旧目录数据到新目录,保留所有文件权限:
    sudo cp -a /cpaas/internal-docker-registry/* /cpaas/image-registry/
  1. 清理 [Marketplace/Cluster Plugins] 中的旧插件(同 S3 第4步)