• Русский
  • Руководство по обновлению реестра Alauda Container Platform

    Предварительные требования

    1. Привилегии администратора для Alauda Container Platform.
    2. Старый плагин относится к версиям Alauda Container Platform v4.1 (включительно) и ранее.
    3. Новый плагин относится к версиям Alauda Container Platform v4.2 (включительно) и позже.

    Обзор

    В этом документе приведены инструкции по обновлению Old Plugin до New Plugin. Из-за изменения названия плагина кластера требуется ручное вмешательство в зависимости от типа хранилища.

    Шаги обновления

    Проверка окружения и предварительная обработка

    Старый плагин не установлен

    Если старый плагин никогда не устанавливался, необходимо просто очистить старый плагин из [Marketplace/Cluster Plugins]:

    # Выполнить в глобальном кластере
    kubectl delete moduleplugins internal-docker-registry
    kubectl get moduleconfig -l cpaas.io/module-name=internal-docker-registry -o name | xargs kubectl delete

    Старый плагин установлен

    Если старый плагин установлен в любом кластере, следуйте процедуре миграции в зависимости от вашего типа хранилища.

    Миграция для S3 Storage

    Характеристики: Автоматическая миграция данных, ручные операции не требуются

    Процедура:

    1. Резервное копирование конфигурации старого плагина: (Выполнить в рабочем кластере, где установлен старый плагин)
      kubectl get clusterplugininstances internal-docker-registry -o yaml > backup-clusterplugininstances.yaml
    2. Удаление старого плагина: (Выполнить в глобальном кластере)
      # Замените <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]: (Выполнить в глобальном кластере)
      kubectl delete moduleplugins internal-docker-registry
      kubectl get moduleconfig -l cpaas.io/module-name=internal-docker-registry -o name | xargs kubectl delete

    Миграция для NFS Storage

    Характеристики: Требуется ручное сохранение PV и изменение политики восстановления.

    Процедура:

    1. Запись информации о PV: (Выполнить в рабочем кластере, где установлен старый плагин)
      OLD_PV=$(kubectl get pvc internal-docker-registry -n cpaas-system -o jsonpath='{.spec.volumeName}')
      echo "Old PV Name: $OLD_PV"
    2. Изменение политики восстановления PV: (Выполнить в рабочем кластере, где установлен старый плагин)
      kubectl patch pv $OLD_PV -p '{"spec":{"persistentVolumeReclaimPolicy":"Retain"}}'
    3. Резервное копирование конфигурации старого плагина (Как в шаге 1 для S3)
    4. Удаление старого плагина (Как в шаге 2 для S3)
    5. Освобождение привязки PV: (Выполнить в рабочем кластере, где установлен старый плагин)
      kubectl patch pv $OLD_PV -p '{"spec":{"claimRef":null}}'
    6. Установка нового плагина (Важно: необходимо задать config.persistence.volumeName для нового плагина, чтобы сохранить старые данные)
    • Отредактируйте файл конфигурации backup-clusterplugininstances.yaml, установите config.persistence.volumeName: <OLD_PV>
    • Примените конфигурацию (Как в шаге 3 для S3)
    1. Очистка старого плагина из [Marketplace/Cluster Plugins] (Как в шаге 4 для S3)

    Миграция для Local Storage

    Характеристики: Требуется ручное копирование данных

    Процедура:

    1. Резервное копирование конфигурации старого плагина (Как в шаге 1 для S3)
    2. Удаление старого плагина (Как в шаге 2 для S3)
    3. Установка нового плагина (Как в шаге 3 для S3)
    4. Миграция данных:
    • Выполните ssh-подключение к узлу Pod старого плагина, скопируйте данные из старого каталога в новый со всеми правами на файлы:
      sudo cp -a /cpaas/internal-docker-registry/* /cpaas/image-registry/
    1. Очистка старого плагина из [Marketplace/Cluster Plugins] (Как в шаге 4 для S3)