Настройка учетных данных для Redis, PostgreSQL, ObjectStorage (s3) и учетных записей
В этом документе описаны методы настройки учетных данных, необходимых для экземпляров Harbor.
Содержание
ТребованияУчетные данные RedisТребованияФормат учетных данныхОбновление учетных данныхИспользование Alauda Cache Service для Redis OSSУчетные данные PostgreSQLТребованияФормат учетных данныхsslmodeОбновление учетных данныхИспользование PostgreSQL, предоставляемого Data ServicesУчетные данные учетной записи HarborУчетные данные Object StorageТребования
- Данный документ применим к версиям Harbor 2.12 и выше, предоставляемым платформой. Он отделен от платформы и основан на таких технологиях, как Operator.
Учетные данные Redis
Требования
Harbor предъявляет следующие требования к развертыванию Redis:
- Рекомендуется использовать Redis версии 7.x.
- Поддерживаются режимы развертывания
StandaloneиSentinel. Режим RedisClusterне поддерживается.
Подробные инструкции по развертыванию Redis см. в Официальной документации Harbor.
Формат учетных данных
Создайте Secret в namespace, где планируется развертывание экземпляра Harbor, выберите тип Opaque и добавьте следующие поля в конфигурацию:
- Если заданы обе конфигурации — sentinel и standalone, приоритет имеет конфигурация sentinel.
- При развертывании с шаблонами высокой доступности, если настроен standalone Redis, ответственность за обеспечение высокой доступности Redis лежит на пользователе.
Пример для Standalone:
Пример для Sentinel:
Обновление учетных данных
Если необходимо изменить информацию о подключении к Redis после развертывания экземпляра Harbor, следует обновлять ресурс экземпляра Harbor напрямую, а не изменять содержимое учетных данных. Подробности см. в разделе Настройка учетных данных Redis.
Использование Alauda Cache Service для Redis OSS
При предоставлении Redis через Alauda Cache Service для Redis OSS необходимо учитывать следующие важные требования:
- Рекомендуется использовать Redis версии 7.x.
- Для типа архитектуры выберите режим Sentinel.
- Для шаблона параметров выберите шаблон с RDB-персистентностью, например system-rdb-redis-7.2-sentinel.
- Включите сохранение данных с квотой хранилища не менее 2 ГБ.
- В сценариях с несколькими сетевыми интерфейсами Redis Sentinel использует IP-адрес по умолчанию узла для инициализации адреса доступа к каждому узлу Redis. Не поддерживается доступ к узлам с IP, отличным от IP по умолчанию, и открытым портом. Для создания экземпляров Redis используйте метод доступа LoadBalancer. Подробнее см. в документации по функционалу Alauda Cache Service для Redis OSS.
При создании экземпляра Redis автоматически создается Secret с информацией для подключения, который можно использовать напрямую для развертывания Harbor. Этот ресурс Secret можно отфильтровать по метке middleware.instance/type: Redis.
Если экземпляр Redis и экземпляр Harbor находятся в разных namespace, необходимо скопировать ресурс Secret в namespace экземпляра Harbor.
Для получения дополнительных параметров развертывания Redis и требований к высокой доступности см. Документация по развертыванию Redis.
Учетные данные PostgreSQL
Требования
Harbor предъявляет следующие требования к версиям PostgreSQL:
- Для Harbor 2.12.x требуется PostgreSQL версии 14.x
Формат учетных данных
Создайте Secret в namespace, где планируется развертывание экземпляра Harbor, выберите тип Opaque и добавьте следующие поля в конфигурацию:
Пример YAML:
Как создать базу данных на экземпляре PG
Подключитесь к экземпляру PG с помощью psql CLI и выполните команду для создания базы данных:
sslmode
sslmode — параметр, управляющий безопасностью соединения между сервисом Harbor и базой данных PostgreSQL. Доступные опции:
require: Требовать SSL-подключениеdisable: Отключить SSL-подключениеverify-ca: Проверять сертификат сервераverify-full: Проверять сертификат сервера и имя хоста
При использовании Alauda support for PostgreSQL параметр sslmode должен быть установлен в require.
При использовании внешнего PostgreSQL значение sslmode зависит от вашей конфигурации PostgreSQL.
Обновление учетных данных
Если необходимо изменить информацию о подключении к PostgreSQL после развертывания экземпляра Harbor, следует обновлять ресурс экземпляра Harbor напрямую, а не изменять содержимое учетных данных. Подробности см. в разделе Настройка учетных данных PostgreSQL.
Использование PostgreSQL, предоставляемого Data Services
Data Services поддерживает развертывание экземпляров PostgreSQL, которые можно использовать для развертывания Harbor. При создании экземпляра PostgreSQL учитывайте следующие важные требования:
- Выберите версию PostgreSQL, соответствующую версии Harbor, например, для Harbor 2.12.x требуется PostgreSQL 14.x
- Квота хранилища должна быть не менее 5 Ги
При создании экземпляра PostgreSQL автоматически создается Secret с информацией для подключения. Этот ресурс Secret можно отфильтровать по метке middleware.instance/type: PostgreSQL.
Этот Secret содержит информацию host, port, username, password. Необходимо дополнить его полями database и sslmode (установить в require) и создать новый Secret в namespace экземпляра Harbor.
При создании экземпляра Postgres автоматически создается Secret, начинающийся с postgres и содержащий информацию для подключения. Этот Secret можно использовать напрямую для развертывания Harbor и отфильтровать с помощью команды:
Если экземпляр Postgres и экземпляр Harbor находятся в разных namespace, необходимо скопировать ресурс Secret в namespace экземпляра Harbor.
Для получения дополнительных параметров развертывания PostgreSQL и требований см. Документация по развертыванию PostgreSQL.
Учетные данные учетной записи Harbor
Создайте Secret в namespace, где планируется развертывание экземпляра Harbor, выберите тип Opaque и добавьте следующие поля в конфигурацию:
Обратите внимание, что имя пользователя по умолчанию для Harbor — admin.
Учетные данные Object Storage
Когда Harbor использует ObjectStorage в качестве backend-хранилища Registry, необходимо создать Secret для хранения учетных данных Object Storage.
Для операций push и pull Registry требует следующую политику. Обязательно замените S3_BUCKET_NAME на имя вашего бакета.
Если у вас еще нет учетной записи, создайте ее и примените следующую политику.
Для получения дополнительной информации о хранилище см. Хранилище Harbor.