Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Managed Service for Kubernetes
  • Сопоставление с другими сервисами Yandex Cloud
  • Начало работы
    • Все инструкции
    • Подключение к узлу по SSH
    • Подключение к узлу через OS Login
    • Обновление Kubernetes
    • Настройка автомасштабирования
    • Подключение Terraform-провайдера Kubernetes
      • Основы работы с Cloud Marketplace
      • Установка Argo CD
      • Установка Chaos Mesh
      • Установка cert-manager c плагином Cloud DNS ACME webhook
      • Установка Container Storage Interface для S3
      • Установка Crossplane
      • Установка External Secrets Operator
      • Установка ExternalDNS c плагином для Cloud DNS
      • Установка Falco
      • Установка Filebeat OSS
      • Установка Fluent Bit
      • Установка Gatekeeper
      • Установка Gateway API
      • Установка GitLab Agent
      • Установка GitLab Runner
      • Установка HashiCorp Vault
      • Установка Ingress NGINX
      • Установка Ingress-контроллера Application Load Balancer
      • Обновление Ingress-контроллера Application Load Balancer
      • Установка Istio
      • Установка Jaeger
      • Установка Kruise
      • Установка Kyverno & Kyverno Policies
      • Установка Loki
      • Установка Metrics Provider
      • Установка NodeLocal DNS
      • Установка Policy Reporter
      • Установка Prometheus Operator
      • Установка Thumbor
      • Установка Velero
    • Подключение внешних узлов к кластеру
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • История изменений
  • Обучающие курсы

В этой статье:

  • Перед началом работы
  • Установка в консоли управления с помощью Cloud Marketplace
  • Установка с помощью Helm-чарта из репозитория Cloud Marketplace
  • Установка с помощью Helm-чарта из репозитория на GitHub
  • Параметры для установки с помощью Helm-чарта
  • См. также
  1. Пошаговые инструкции
  2. Установка приложений из Cloud Marketplace
  3. Установка Container Storage Interface для S3

Установка Container Storage Interface для S3

Статья создана
Yandex Cloud
Обновлена 16 апреля 2025 г.
  • Перед началом работы
  • Установка в консоли управления с помощью Cloud Marketplace
  • Установка с помощью Helm-чарта из репозитория Cloud Marketplace
  • Установка с помощью Helm-чарта из репозитория на GitHub
  • Параметры для установки с помощью Helm-чарта
  • См. также

Container Storage Interface для S3 (CSI) позволяет динамически резервировать бакеты S3-совместимых хранилищ и монтировать их к подам кластера Managed Service for Kubernetes в виде постоянных томов (PersistentVolume). Подключение выполняется при помощи FUSE-реализации файловой системы GeeseFS.

Примечание

Перед публикацией в Yandex Cloud Marketplace новые версии приложения тестируются на работоспособность в инфраструктуре Yandex Cloud, поэтому могут обновляться с задержкой. Чтобы использовать самую последнюю версию, установите ее c помощью Helm-чарта из репозитория на GitHub.

Установить Container Storage Interface для S3 можно следующими способами:

  • В консоли управления с помощью Cloud Marketplace
  • C помощью Helm-чарта из репозитория Cloud Marketplace
  • С помощью Helm-чарта из репозитория на GitHub

Перед началом работыПеред началом работы

  1. Создайте сервисный аккаунт с ролью storage.editor.

  2. Создайте статический ключ доступа для сервисного аккаунта. Сохраните идентификатор ключа и секретный ключ — они понадобятся при установке приложения.

  3. (Опционально) Чтобы новые тома помещались в один бакет с разными префиксами, создайте бакет Yandex Object Storage. Сохраните имя бакета — оно понадобится при установке приложения. Пропустите этот шаг, если для каждого тома требуется создавать отдельный бакет.

  4. Убедитесь, что группы безопасности для кластера Managed Service for Kubernetes и его групп узлов настроены корректно. Если отсутствует какое-либо из правил — добавьте его.

    Важно

    От настройки групп безопасности зависит работоспособность и доступность кластера, а также запущенных в нем сервисов и приложений.

Установка в консоли управления с помощью Cloud MarketplaceУстановка в консоли управления с помощью Cloud Marketplace

  1. Перейдите на страницу каталога и выберите сервис Managed Service for Kubernetes.
  2. Нажмите на имя нужного кластера Managed Service for Kubernetes и выберите вкладку Marketplace.
  3. В разделе Доступные для установки приложения выберите Container Storage Interface для S3 и нажмите кнопку Перейти к установке.
  4. Задайте настройки приложения:
    • Пространство имен — выберите пространство имен kube-system.

      Важно

      Приложение работает корректно только с пространством имен kube-system.

    • Название приложения — укажите название приложения, например csi-s3.

    • Создать класс хранения — выберите эту опцию, чтобы создать новый класс хранилища при развертывании приложения.

    • Создать секрет — выберите эту опцию, чтобы создать новый секрет для класса хранилища при установке приложения.

    • Идентификатор ключа S3 — скопируйте в это поле идентификатор ключа сервисного аккаунта.

    • Секретный ключ S3 — скопируйте в это поле секретный ключ сервисного аккаунта.

    • Общий бакет S3 для томов — укажите имя общего бакета, в котором будут создаваться динамически распределяемые тома. Чтобы CSI создавал новый бакет для каждого тома, оставьте это поле пустым.

    • Адрес S3-сервиса — адрес S3-сервиса, который будет использовать приложение. По умолчанию https://storage.yandexcloud.net.

    • Опции монтирования GeeseFS — опции монтирования для программы GeeseFS. Полный список опций см. в документации GeeseFS.

    • Политика очистки томов — выберите политику очистки томов PersistentVolume при удалении PersistentVolumeClaim:

      • Retain — сохранять том.
      • Delete — удалять том.
    • Название класса хранения — если вы ранее выбрали опцию Создать класс хранения, укажите имя нового класса хранилища.

    • Название секрета — если вы ранее выбрали опцию Создать секрет, укажите имя нового секрета, который будет создан для класса хранилища. В ином случае укажите имя существующего секрета, который будет использован для класса хранилища.

    • Игнорировать все политики taint — выберите эту опцию, чтобы драйвер CSI, который монтирует файловую систему на узлах, игнорировал все политики taint для узлов кластера Managed Service for Kubernetes.

  5. Нажмите кнопку Установить.
  6. Дождитесь перехода приложения в статус Deployed.

Установка с помощью Helm-чарта из репозитория Cloud MarketplaceУстановка с помощью Helm-чарта из репозитория Cloud Marketplace

  1. Установите менеджер пакетов Helm версии не ниже 3.8.0.

  2. Установите kubectl и настройте его на работу с созданным кластером.

  3. Для установки Helm-чарта с CSI выполните команду, указав в ней параметры ключа, созданного ранее:

    helm pull oci://cr.yandex/yc-marketplace/yandex-cloud/csi-s3/csi-s3 \
      --version 0.42.1 \
      --untar && \
    helm install \
      --namespace kube-system \
      --set secret.accessKey=<идентификатор_ключа> \
      --set secret.secretKey=<секретный_ключ> \
      csi-s3 ./csi-s3/
    

    Примечание

    Если вы используете версию Helm ниже 3.8.0, добавьте в начало команды строку export HELM_EXPERIMENTAL_OCI=1 && \, чтобы включить поддержку Open Container Initiative (OCI) в клиенте Helm.

    Также вы можете задать дополнительные параметры Container Storage Interface для S3.

Установка с помощью Helm-чарта из репозитория на GitHubУстановка с помощью Helm-чарта из репозитория на GitHub

В репозитории на GitHub размещается наиболее актуальная версия Container Storage Interface для S3 с поддержкой Object Storage.

  1. Установите менеджер пакетов Helm версии не ниже 3.8.0.

  2. Установите kubectl и настройте его на работу с созданным кластером.

  3. Для установки Helm-чарта с CSI выполните команду:

    helm repo add yandex-s3 https://yandex-cloud.github.io/k8s-csi-s3/charts && \
    helm repo update && \
    helm pull yandex-s3/csi-s3 --untar && \
    helm install \
      --namespace kube-system \
      --set secret.accessKey=<идентификатор_ключа> \
      --set secret.secretKey=<секретный_ключ> \
      csi-s3 ./csi-s3/
    

    Также вы можете задать дополнительные параметры Container Storage Interface для S3.

Параметры для установки с помощью Helm-чартаПараметры для установки с помощью Helm-чарта

При установке приложения Container Storage Interface для S3 обязательными являются параметры secret.accessKey и secret.secretKey. Вы можете не указывать остальные параметры, либо переопределить их в команде установки с помощью ключа --set <имя_параметра>=<новое_значение>.

Список доступных для переопределения параметров и их значения по умолчанию приведены в таблице:

Имя параметра Описание Значение по умолчанию
storageClass.create Требуется ли создание нового класса хранилища true
storageClass.name Имя класса хранилища csi-s3
storageClass.singleBucket Использовать один бакет для всех PersistentVolumeClaim
storageClass.mountOptions Опции монтирования GeeseFS --memory-limit 1000 --dir-mode 0777 --file-mode 0666
storageClass.reclaimPolicy Политика очистки томов Delete
storageClass.annotations Описание для класса хранилища
secret.create Требуется ли создание нового секрета true
secret.name Имя секрета csi-s3-secret
secret.accessKey Идентификатор ключа
secret.secretKey Секретный ключ
secret.endpoint Адрес S3-сервиса https://storage.yandexcloud.net

См. такжеСм. также

  • Спецификация CSI
  • Container Storage Interface для S3 с поддержкой Object Storage на GitHub
  • Интеграция с Object Storage
  • Примеры использования CSI
  • Работа с постоянными и динамическими томами в Kubernetes

Была ли статья полезна?

Предыдущая
Установка cert-manager c плагином Cloud DNS ACME webhook
Следующая
Установка Crossplane
Проект Яндекса
© 2025 ООО «Яндекс.Облако»