Установка Thumbor
Thumbor — проект с открытым исходным кодом, предназначенный для обработки изображений по запросу. Thumbor работает как HTTP-сервис и выполняет такие преобразования как обрезка изображений, масштабирование, наложение фильтров и многие другие.
Возможности Thumbor:
- Поддержка всех популярных форматов изображений.
- Умная обрезка и масштабирование.
- Ускорение обработки изображений за счет кэширования.
- Поддержка различных типов хранилищ (локальный диск, Yandex Object Storage и другие).
- Распознавание лиц и предметов (очки, особенности внешности) на базе технологии компьютерного зрения.
- Интеграция с различными языками программирования.
Перед началом работы
-
Создайте сервисный аккаунт, необходимый для работы Thumbor.
-
Создайте для него статический ключ и сохраните в файл
sa-key.json
:yc iam access-key create \ --service-account-name <имя сервисного аккаунта для Thumbor> \ --format json > sa-key.json
-
Задайте права доступа на чтение объектов бакета для сервисного аккаунта.
Установка с помощью Yandex Cloud Marketplace
- Перейдите на страницу каталога и выберите сервис Managed Service for Kubernetes.
- Нажмите на имя нужного кластера Kubernetes и выберите вкладку Marketplace.
- В разделе Доступные для установки приложения выберите Thumbor и нажмите кнопку Использовать.
- Задайте настройки приложения:
- Пространство имен — выберите пространство имен для Thumbor или создайте новое.
- Название приложения — укажите название приложения.
- Имя бакета — укажите имя бакета, созданного ранее.
- Статический ключ для доступа к Object Storage — вставьте содержимое файла
sa-key.json
. - (опционально) Ключ безопасности — укажите ключ безопасности для подписывания URL.
- Разрешить URL без подписи (unsafe) — выберите эту опцию, если вы не указывали ключ безопасности на предыдущем шаге.
- Подкаталог в бакете — укажите имя каталога в бакете (без завершающего символа
/
), в котором находятся изображения.
- Нажмите кнопку Установить.
- Дождитесь перехода приложения в статус
Deployed
.
Установка с помощью Helm-чарта
-
Установите менеджер пакетов Helm версии не ниже 3.7.0.
-
Установите kubectl и настройте его на работу с созданным кластером.
-
Для установки Helm-чарта с Thumbor выполните команду:
URL без подписи разрешеныURL без подписи запрещеныexport HELM_EXPERIMENTAL_OCI=1 && \ helm pull oci://cr.yandex/yc-marketplace/yandex-cloud/thumbor/thumbor/chart/thumbor \ --version <версия Helm-чарта> \ --untar && \ helm install \ --namespace <пространство имен для Thumbor> \ --create-namespace \ --set bucket_name='<имя бакета Object Storage>' \ --set allow_unsafe_url='true' \ --set root_path='<имя подкаталога в бакете>' \ --set-file saAccessKeyFile='sa-key.json' \ thumbor ./thumbor
export HELM_EXPERIMENTAL_OCI=1 && \ helm pull oci://cr.yandex/yc-marketplace/yandex-cloud/thumbor/thumbor/chart/thumbor \ --version <версия Helm-чарта> \ --untar && \ helm install \ --namespace <пространство имен для Thumbor> \ --create-namespace \ --set bucket_name='<имя бакета Object Storage>' \ --set allow_unsafe_url='false' \ --set security_key='<ключ безопасности для подписывания URL>' \ --set root_path='<имя подкаталога в бакете>' \ --set-file saAccessKeyFile='sa-key.json' \ thumbor ./thumbor
Актуальную версию Helm-чарта можно посмотреть на странице приложения.
Получение доступа к приложению
После установки приложения будет автоматически развернут сетевой балансировщик нагрузки Yandex Network Load Balancer. Доступ к приложению осуществляется по протоколу HTTP.
Примечание
Перед использованием приложения убедитесь, что для вашего кластера настроены корректные правила для подключения к сервисам из интернета.
- Перейдите на страницу каталога и выберите сервис Network Load Balancer.
- Узнайте IP-адрес для балансировщика с описанием
cluster <имя вашего кластера>, service <пространство имен>/thumbor
. - В адресной строке браузера откройте ссылку
http://<IP-адрес балансировщика>/unsafe/<имя изображения в бакете>
.
-
Узнайте IP-адрес балансировщика с помощью команды:
kubectl get svc \ --namespace <пространство имен> \ --output jsonpath='{.status.loadBalancer.ingress[0].ip}' thumbor
-
В адресной строке браузера откройте ссылку
http://<IP-адрес балансировщика>/unsafe/<имя изображения в бакете>
.
Подробнее о работе с изображениями см. в документации Thumbor.