• Русский
  • Руководство по обновлению реестра 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

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

    Процедура:

    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

    Особенности: Требуется ручное сохранение 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. Резервное копирование конфигурации старого плагина (То же, что и шаг 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)

    Миграция для локального хранилища

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

    Процедура:

    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)