Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
Yandex Managed Service for Kubernetes
  • Сопоставление с другими сервисами Yandex Cloud
  • Начало работы
  • Пошаговые инструкции
    • Все инструкции
    • Подключение к узлу по SSH
    • Обновление Kubernetes
    • Настройка автомасштабирования
    • Подключение к кластеру
      • Обзор способов подключения
      • Настройка групп безопасности
      • Создание статического файла конфигурации
    • Установка приложений из Cloud Marketplace
      • Основы работы с Cloud Marketplace
      • Установка Argo CD
      • Установка Container Storage Interface для S3
      • Установка Crossplane
      • Установка External Secrets Operator
      • Установка Falco
      • Установка Filebeat
      • Установка Fluent Bit
      • Установка Gateway API
      • Установка GitLab Agent
      • Установка GitLab Runner
      • Установка HashiCorp Vault
      • Установка Ingress-контроллера Application Load Balancer
      • Установка Jaeger
      • Установка Kyverno & Kyverno Policies
      • Установка Loki
      • Установка Metrics Provider
      • Установка NodeLocal DNS
      • Установка Policy Reporter
      • Установка Thumbor
    • Сетевые сценарии
      • Обеспечение доступа к приложению, запущенному в кластере Kubernetes
      • Настройка контроллера сетевых политик Calico
      • Настройка контроллера сетевых политик Cilium
      • Настройка NodeLocal DNS для контроллера сетевых политик Cilium
    • Работа с постоянными томами
      • Динамическая подготовка тома
      • Статическая подготовка тома
      • Управление классами хранилищ
      • Увеличение размера тома для подов
      • Увеличение размера тома для контроллера StatefulSet
      • Подключение тома в блочном режиме
      • Интеграция с Object Storage
    • Управление кластером Kubernetes
      • Получение информации о кластере Kubernetes
      • Создание кластера Kubernetes
      • Изменение кластера Kubernetes
      • Создание пространства имен в кластере Kubernetes
      • Удаление кластера Kubernetes
    • Управление группой узлов
      • Информация об имеющихся группах узлов
      • Создание группы узлов
      • Подключение к узлу по SSH
      • Настройка автомасштабирования
      • Изменение группы узлов
      • Управление метками узлов кластера Kubernetes
      • Удаление группы узлов
    • Подключение внешних узлов к кластеру
  • Практические руководства
    • Все руководства
    • Создание нового Kubernetes-проекта в Yandex Cloud
    • Интеграция с Container Registry
    • Подпись и проверка Docker-образов Container Registry
    • Сканирование уязвимостей Container Registry при непрерывном развертывании приложений с помощью GitLab
    • Запуск рабочих нагрузок с GPU
    • Установка Ingress-контроллера NGINX с Let's Encrypt®
    • Установка Ingress-контроллера NGINX с сертификатом из Certificate Manager
    • Резервное копирование в Object Storage
    • Горизонтальное масштабирование приложения в кластере
    • Вертикальное масштабирование приложения в кластере
    • Развертывание и нагрузочное тестирование gRPC-сервиса с масштабированием
    • Работа со снапшотами
    • Интеграция с корпоративной зоной DNS
    • Автоматическое масштабирование DNS по размеру кластера
    • Настройка локального кеширования DNS
    • Проверка DNS Challenge для сертификатов Let's Encrypt®
    • Мониторинг кластера с помощью Prometheus и Grafana
    • Непрерывное развертывание контейнеризованных приложений с помощью GitLab
    • Изменение параметров сервера метрик (Metrics Server)
    • Использование продуктов Cloud Marketplace
      • Интеграция с Argo CD
      • Интеграция с Crossplane
      • Синхронизация с секретами Yandex Lockbox
      • Настройка Fluent Bit для работы с Cloud Logging
      • Настройка Gateway API
      • Настройка Application Load Balancer Ingress-контроллера
      • Использование Jaeger для трассировки запросов в Managed Service for YDB
      • Настройка Kyverno & Kyverno Policies
      • Использование Metrics Provider для трансляции метрик
  • Концепции
    • Взаимосвязь ресурсов сервиса
    • Релизные каналы и обновления
    • Шифрование секретов
    • Использование объектов API Kubernetes
      • Том
      • Сервис
    • Группа узлов
      • Автоматическое масштабирование группы узлов
      • Расселение подов с узла
      • Динамическое резервирование ресурсов для узла
      • Группы узлов с GPU
    • Сеть в Managed Service for Kubernetes
    • Внешние узлы кластера
    • Сетевые настройки и политики кластера
    • Автоматическое масштабирование
    • Квоты и лимиты
    • Рекомендации по использованию Managed Service for Kubernetes
  • Управление доступом
  • Правила тарификации
  • Справочник API
    • Аутентификация в API
    • gRPC (англ.)
      • Overview
      • ClusterService
      • NodeGroupService
      • VersionService
      • OperationService
    • REST (англ.)
      • Overview
      • Cluster
        • Overview
        • create
        • delete
        • get
        • list
        • listNodeGroups
        • listNodes
        • listOperations
        • start
        • stop
        • update
      • NodeGroup
        • Overview
        • create
        • delete
        • get
        • list
        • listNodes
        • listOperations
        • update
      • Version
        • Overview
        • list
  • Вопросы и ответы
    • Общие вопросы
    • Хранилище данных
    • Настройка и обновление
    • Автоматическое масштабирование
    • Ресурсы
    • Логи
    • Все вопросы на одной странице
  1. Пошаговые инструкции
  2. Установка приложений из Cloud Marketplace
  3. Установка Container Storage Interface для S3

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

Статья создана
Yandex Cloud
  • Создание сервисного аккаунта
  • Установка с помощью Yandex Cloud Marketplace
  • Установка с помощью Helm-чарта
  • См. также

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

Создание сервисного аккаунта

  1. Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.

    По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

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

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

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

Установка с помощью Yandex Cloud Marketplace

  1. Перейдите на страницу каталога и выберите сервис Managed Service for Kubernetes.
  2. Нажмите на имя нужного кластера и выберите вкладку Marketplace.
  3. В разделе Доступные для установки приложения выберите Container Storage Interface для S3 и нажмите кнопку Использовать.
  4. Задайте настройки приложения:
    • Пространство имен — выберите пространство имен kube-system.
    • Название приложения — укажите название приложения, например csi-s3.
    • Создать класс хранения — выберите эту опцию, чтобы создать новый класс хранилища при развертывании приложения.
    • Создать секрет — выберите эту опцию, чтобы создать новый секрет для класса хранилища при установке приложения.
    • Идентификатор ключа S3 — скопируйте в это поле идентификатор ключа сервисного аккаунта.
    • Секретный ключ S3 — скопируйте в это поле секретный ключ сервисного аккаунта.
    • Общий S3 бакет для томов — укажите имя общего бакета, в котором будут создаваться динамически распределяемые тома. Чтобы CSI создавал новый бакет для каждого тома, оставьте это поле пустым.
    • Адрес S3-сервиса — адрес S3-сервиса, который будет использовать приложение. По умолчанию https://storage.yandexcloud.net.
    • Опции монтирования GeeseFS — опции монтирования для программы GeeseFS. Полный список опций см. в документации GeeseFS.
    • Политика очистки томов — выберите политику очистки томов PersistentVolume при удалении PersistentVolumeClaim:
      • Retain — сохранять том.
      • Delete — удалять том.
    • Название класса хранения — если вы ранее выбрали опцию Создать класс хранения, укажите имя нового класса хранилища.
    • Название секрета — если вы ранее выбрали опцию Создать секрет, укажите имя нового секрета, который будет создан для класса хранилища. В ином случае укажите имя существующего секрета, который будет использован для класса хранилища.
  5. Нажмите кнопку Установить.

Установка с помощью Helm-чарта

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

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

    export HELM_EXPERIMENTAL_OCI=1 && \
    helm pull oci://cr.yandex/yc-marketplace/yandex-cloud/csi-s3/csi-s3 \
      --version <версия Helm-чарта> \
      --untar && \
    helm install \
      --namespace <пространство имен> \
      --create-namespace \
      --set secret.accessKey=<идентификатор ключа> \
      --set secret.secretKey=<секретный ключ> \
      csi-s3 .
    

    Актуальную версию Helm-чарта можно посмотреть на странице приложения.

При установке приложения CSI обязательными являются параметры 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
  • Интеграция с Object Storage
  • Работа с постоянными и динамическими томами в Kubernetes

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

Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
В этой статье:
  • Создание сервисного аккаунта
  • Установка с помощью Yandex Cloud Marketplace
  • Установка с помощью Helm-чарта
  • См. также