Облачная платформаAdvanced

Автоматическое применение обновлённых ключей доступа (AK/SK) для OBS Volume

Язык статьи: Русский
Показать оригинал
Страница переведена автоматически и может содержать неточности. Рекомендуем сверяться с английской версией.

Если ваши сервисные контейнеры используют OBS для хранения данных и доступа, вам необходимо вручную перезапустить их каждый раз, когда ключи доступа OBS volume изменяются, чтобы применить новые ключи. Этот процесс может прервать непрерывность сервиса.

CCE Container Storage (Everest) может автоматически применять новые ключи доступа для OBS volume после их обновления. После обновления ключей доступа OBS volume CCE автоматически обнаруживает изменение и применяет новые ключи ко всем затронутым рабочим нагрузкам. Это устраняет необходимость вручную перезапускать эти рабочие нагрузки, обеспечивая беспрепятственную непрерывность сервиса во время обновления ключей.

Требования

  • Доступен кластер CCE standard или Turbo, и версия кластера соответствует следующим требованиям:
    • v1.25: v1.25.16-r30 or later
    • v1.27: v1.27.16-r30 or later
    • v1.28: v1.28.15-r20 or later
    • v1.29: v1.29.13-r0 or later
    • v1.30: v1.30.10-r0 or later
    • v1.31: v1.31.6-r0 or later
    • v1.32: v1.32.1-r0 or later
    • Clusters of later versions
  • В кластере установлен аддон CCE Container Storage (Everest) версии v2.4.150 или более поздней.

Ограничения

  • Если версия дополнения находится в диапазоне от 2.4.150 (включительно) до 2.4.165 (исключительно), автоматическое обновление ключа доступа применяется только к параллельным файловым системам. Начиная с версии 2.4.165 и далее поддерживаются как параллельные файловые системы, так и OBS бакеты.
  • Автоматическое обновление ключа доступа применяется только к рабочим нагрузкам, созданным после обновления CCE Container Storage (Everest) до определённой версии (2.4.150 или новее для параллельных файловых систем и 2.4.165 или новее для OBS бакетов). Чтобы включить эту функцию для существующих нагрузок, вручную пересоберите их после обновления CCE Container Storage (Everest).

Шаг 1: Проверьте, поддерживает ли рабочая нагрузка автоматическое обновление ключей

Автоматическое обновление ключей для OBS томов доступно только для рабочих нагрузок, созданных после обновления CCE Container Storage (Everest) до требуемой версии. Убедитесь, что это дополнение правильно обновлено, и целевая рабочая нагрузка создана позже.

  1. Войдите в CCE console и нажмите название кластера, чтобы открыть консоль кластера.
  2. В панели навигации выберите Add-ons. Проверьте, соответствует ли версия CCE Container Storage (Everest) требованиям.

    • If the add-on version is 2.4.150 or later, click Edit. In Edit Add-on, ensure dynamic AK/SK update is enabled in Extended Parameter Settings under Advanced Settings. Verify that enable_aksk_refresh is set to true.

  3. Проверьте рабочие нагрузки, использующие OBS бакеты, и узлы, на которых эти нагрузки работают в кластере. Ниже приведён пример с параллельной файловой системой.

    1. В панели навигации выберите Storage. Нажмите вкладку PersistentVolumeClaims (PVCs) справа и проверьте, есть ли тома хранения, использующие параллельные файловые системы во всех пространствах имён.

    2. Подтвердите наличие хранилища параллельных файловых систем во всех пространствах имён. Ниже используется пространство имён default в качестве примера, где {pvc_name} указывает имя PVC:
      kubectl get pods -n default -o custom-columns="POD:.metadata.name,PVC:.spec.volumes[*].persistentVolumeClaim.claimName,hostIP:.status.hostIP,UID:.metadata.uid" | grep {pvc_name}

      Отображается информация, аналогичная следующей:

      obs-test-65c6dd7675-c67ss obs 192.168.0.227 adb83cd4-58cc-4d01-a91a-584c6ed477fc

      Под pod obs-test-65c6dd7675-c67ss смонтирован PVC obs. IP‑адрес узла, на котором работает pod, — 192.168.0.227, а UID узла — adb83cd4-58cc-4d01-a91a-584c6ed477fc.

  4. Войдите в узел, где развернут pod, и выполните следующую команду, чтобы проверить, когда инструмент obsfs будет обновлён после обновления CCE Container Storage (Everest):

    ls -l /usr/bin/obsfs

    Отображается информация, аналогичная следующей, указывающая, что obsfs был обновлён в 17:09 20 марта:

    -rwx------ 1 root root 9424176 Mar 20 17:09 /usr/bin/obsfs

  5. Проверьте время запуска obsfs на узле, где развернут pod.

    ps -ef | grep {pod_uid}

    Отображается информация, аналогичная следующей.

    obsfs, используемый pod, был смонтирован в 10:34, что позже времени обновления obsfs сервисом CCE Container Storage (Everest). Поэтому pod поддерживает автоматическое обновление ключей.

    Если процесс obsfs, используемый pod, происходит раньше времени обновления инструмента obsfs сервисом CCE Container Storage (Everest), необходимо вручную перезапустить pod. Автоматическое обновление ключей будет применено автоматически.

Шаг 2: Обновить пользовательские ключи доступа (AK/SK) OBS‑тома.

После подтверждения, что рабочая нагрузка с смонтированным OBS‑томом поддерживает автоматическое обновление ключей, вы можете обновить пользовательские ключи доступа (AK/SK) OBS‑тома.

  1. Войдите в CCE console и нажмите название кластера, чтобы открыть консоль кластера.
  2. В панели навигации выберите Storage. На вкладке PVCs найдите том и выберите More > Update Access Key в столбце Operation.
  3. Загрузите новые ключи доступа (AK/SK) и нажмите OK.

    Caution

    Убедитесь, что обновленные ключи действительны и имеют разрешения для доступа к соответствующему OBS‑тому. В противном случае рабочая нагрузка не сможет получить доступ к смонтированному объектному хранилищу.

Шаг 3: Подтвердить обновленные ключи для рабочей нагрузки.

После обновления ключей доступа, используемых OBS, вы можете выполнить следующие действия, чтобы проверить, что обновление вступает в силу примерно через 30 секунд, просмотрев события pod или сигналы тревоги:

  1. Войдите в CCE console и нажмите название кластера, чтобы открыть консоль кластера.
  2. В панели навигации выберите Workloads. Нажмите название рабочей нагрузки, чтобы перейти на страницу деталей.
  3. На вкладке Pods нажмите View Events в столбце Operation pod.

    Если отображается событие «failed to refresh ak/sk for xxx», ключи не удалось обновить для рабочей нагрузки. Определите причину, как указано в подсказке. Подробности см. в Common Events. Если сигнал тревоги или событие не сгенерированы, обновление прошло успешно.

Общие события

  • Сертификат недействителен. Событие выглядит следующим образом:
    failed to refresh ak/sk for xxx, reason: invalid credentials (host=xxx:443) - result of checking service.

    Решение

    Замените сертификат на действительный и проверьте, устранена ли ошибка.

  • Обновление AK/SK завершилось тайм‑аутом. Событие выглядит следующим образом:
    failed to refresh ak/sk for xxx, reason: wait timeout...

    Решение

    Это предупреждение может время от времени генерироваться, когда процесс obsfs завершается из‑за удаления pod или миграции. Это нормальная ситуация. Если предупреждение не поступает постоянно, игнорируйте его.

    Если это предупреждение сохраняется, пересоберите pod и проверьте, устранена ли ошибка.

Автоматическое применение обновлённых Access Keys (AK/SK) для OBS Volume — документация Cloud Container Engine руководство пользователя облако Cloud.ru