Настройка дополнительной функциональности для инсталляции
Файл /deploy/installer/group_vars/all/features.yml на деплой-ноде содержит параметры включения дополнительной функциональности.
По умолчанию параметры имеют следующие значения:
billing_pusher: falsego_toucher: truepolicebank: falsemultisite_replication: falsesse: falsesse_vault: falseusage_storage: falsezepto: false
Здесь:
billing_pusher— отправка собираемой статистики используемых ресурсов в сервис биллинга. Не работает без параметраusage_storage=true. Функциональность нельзя использовать для частной инсталляции.go_toucher— очистка хранилища от удаленных объектов. Параметр включен по умолчанию с версии 1.51.1.iam_v1_enabled— установка IAM версии 1. Флаг работает с версии 1.51.1.policebank— задание набора правил в рамках одного бакета на основе информации о пользователе, запросе, IP-адресе отправителя и других параметрах, запроса.multisite_replication— включает установку компонентов, необходимых для работы асинхронной репликации между двумя кластерами VK Object Storage.sse— шифрование данных на стороне сервера.sse_vault— установка KMS (HashiCorp Vault).usage_storage— сбор статистики используемых ресурсов.versioning— версионирование объектов.zepto— включает установку Zepto в качестве слоя хранения объектов.
Включение дополнительной функциональности доступно после установки, но может требовать дополнительной настройки (например, функциональность шифрования данных или политик бакетов).
-
В файле
inventory.ymlнастройте две группы узлов (policebank_routerиpolicebank_storage), указав инстансы и серверы, на которых их следует разместить.Пример:
policebank_routerhosts:policebank_router_01:ansible_host: mcs-mono01policebank_router_02:ansible_host: mcs-mono02policebank_router_03:ansible_host: mcs-mono03policebank_storagehosts:policebank_storage_01:ansible_host: mcs-mono01policebank_storage_02:ansible_host: mcs-mono02policebank_storage_03:ansible_host: mcs-mono03 -
Включите функциональность политик бакета:
-
Откройте на редактирование файл
features.yml:vim /deploy/installer/group_vars/all/features.yml -
Задайте значение
trueдля параметраpolicebank.
-
Для генерации и хранения ключа на стороне VK Object Storage используется ПО HashiCorp Vault — инструмент для безопасного хранения и доступа к секретам.
Определите узлы, на которых будет размещен Vault.
В архитектуре Vault используется два кластера, которые поддерживают транзитное шифрование (transit encryption):
Vault-transit. Хранит ключ для автоматического распечатывания (auto unseal) узлов основного кластера. При перезапуске серверов или сервисов Vault потребуется сделать unseal вручную необходимому узлу кластера.Vault-transitне несет какой-либо нагрузки, к нему только обращается кластерVaultпри запуске.Vault. Основной кластер. Не поддерживает unseal вручную. В случае перезапуска узлов обращается кVault-transitи автоматически распечатывается. Кластер является рабочим (production), выполняет расшифровку ключей для бакетов с включенным шифрованием (Server-Side Encryption).
Для отказоустойчивости каждый из кластеров должен состоять из 3 узлов, располагающихся на разных серверах. Узлы разных кластеров рекомендуется размещать на разных серверах.
Первоначальная установка Системы с функциональностью шифрования данных и установка после обновления VK Object Storage запускаются разными плейбуками.
Чтобы настроить первоначальную установку VK Object Storage с функциональностью шифрования данных:
-
Отредактируйте файлы конфигураций:
-
Отредактируйте файл конфигурации
/deploy/installer/inventory.yml: в секцияхvault_transitиvault, в спискеhostsукажите имена серверов, на которых будут установлены кластеры Vault. -
Убедитесь, что в файле
/deploy/installer/group_vars/all/features.ymlзначения параметровsseиsse_vault—true. -
Убедитесь, что в DNS корректно указаны записи типа CNAME — разрешены имена
[t|v].<installation_service_name>.<ИМЯ_ДОМЕНА>и указаны адреса балансировщиков нагрузки. -
Выполните установку VK Object Storage с переменными
vaultиvault-transit.
-
-
Сохраните на стороннем хранилище, отличном от VK Object Storage, содержимое файлов Ansible Vault
/deploy/installer/vaultи/deploy/installer/vault-transit. -
Настройте регулярное резервное копирование данных кластера Vault (подробнее — в документе Руководство администратора VK Object Storage в разделе Резервное копирование и восстановление → Резервное копирование и восстановление Vault).