Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
© 2022 ООО «Яндекс.Облако»
Yandex Managed Service for Kubernetes
  • Сопоставление с другими сервисами Yandex Cloud
  • Начало работы
  • Пошаговые инструкции
    • Все инструкции
    • Настройка групп безопасности
    • Подключение к узлу по SSH
    • Создание файла конфигурации
    • Обновление Kubernetes
    • Настройка автомасштабирования
    • Установка приложений
      • Основы работы с Cloud Marketplace
      • Установка Jaeger
      • Установка Metrics Provider
    • Сетевые сценарии
      • Обеспечение доступа к приложению, запущенному в кластере Kubernetes
      • Настройка контроллера сетевых политик Calico
      • Настройка контроллера сетевых политик Cilium
      • Настройка Node Local DNS для контроллера сетевых политик Cilium
    • Работа с постоянными томами
      • Динамическая подготовка тома
      • Статическая подготовка тома
      • Управление классами хранилищ
      • Увеличение размера тома для подов
      • Увеличение размера тома для контроллера StatefulSet
      • Подключение тома в блочном режиме
      • Интеграция с Yandex Object Storage
    • Управление кластером Kubernetes
      • Добавление учетных данных кластера Kubernetes в конфигурационный файл kubectl
      • Информация об имеющихся кластерах
      • Создание кластера Kubernetes
      • Изменение кластера Kubernetes
      • Создание пространства имен в кластере Kubernetes
      • Удаление кластера Kubernetes
    • Управление группой узлов
      • Информация об имеющихся группах узлов
      • Создание группы узлов
      • Изменение группы узлов
      • Управление метками узлов кластера Kubernetes
      • Удаление группы узлов
    • Подключение внешних узлов к кластеру
  • Практические руководства
    • Все руководства
    • Интеграция с Container Registry
    • Запуск рабочих нагрузок с GPU
    • Установка NGINX Ingress-контроллера с Let's Encrypt®
    • Настройка Application Load Balancer Ingress-контроллера
    • Резервное копирование в Object Storage
    • Горизонтальное масштабирование приложения в кластере
    • Работа со снапшотами
    • Интеграция с корпоративной зоной DNS
    • Автоматическое масштабирование DNS по размеру кластера
    • Настройка локального кеширования DNS
    • Настройка Fluent Bit для работы с Yandex Cloud Logging
    • Синхронизация с секретами Yandex Lockbox
    • Использование продуктов Yandex Cloud Marketplace
      • Использование Jaeger для трассировки запросов в Yandex Managed Service for YDB
  • Концепции
    • Взаимосвязь ресурсов сервиса
    • Релизные каналы и обновления
    • Шифрование секретов
    • Использование объектов 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. Работа с постоянными томами
  3. Статическая подготовка тома

Статическая подготовка тома

Статья создана
Yandex Cloud
  • Перед началом
  • Создайте объект PersistentVolume
  • Создайте объект PersistentVolumeClaim
  • Создайте под со статически подготовленным томом

Создайте под со статически подготовленным томом:

  1. Создайте объект PersistentVolume.
  2. Создайте объект PersistentVolumeClaim.
  3. Создайте под.

Совет

Вы можете использовать бакет Yandex Object Storage в качестве хранилища для пода. Подробнее см. в разделе Интеграция с Object Storage.

Перед началом

Узнайте уникальный идентификатор диска, который будет использован для создания объекта PersistentVolume, или создайте новый диск:

  1. Если у вас еще нет диска, создайте его.

  2. Посмотрите уникальный идентификатор диска:

    yc compute disk list
    

    Результат выполнения команды:

    +----------------------+------+--------------+---------------+--------+----------------------+-------------+
    |          ID          | NAME |     SIZE     |     ZONE      | STATUS |     INSTANCE IDS     | DESCRIPTION |
    +----------------------+------+--------------+---------------+--------+----------------------+-------------+
    | ef3ouo4sgl86740ridn6 | k8s  |   4294967296 | ru-central1-c | READY  |                      |             |
    | ef3qh55ckuu7md2kqhbt |      | 103079215104 | ru-central1-c | READY  | ef3sin41eksav1kn4gct |             |
    | epd9vda1h0knttpcuhfu |      |  10737418240 | ru-central1-b | READY  | epdegdecs9o14r13gbad |             |
    +----------------------+------+--------------+---------------+--------+----------------------+-------------+
    

Создайте объект PersistentVolume

  1. Сохраните спецификацию для создания объекта PersistentVolume в YAML-файл с названием test-pv.yaml.

    Подробнее о спецификации читайте в документации Kubernetes.

    При указании параметра capacity: storage убедитесь, что задан точный объем диска. Container Storage Interface не обеспечивает проверку объема диска для статически подготовленных томов.

    Для создания объекта PersistentVolume на основе существующего облачного диска в параметре volumeHandle укажите уникальный идентификатор необходимого диска.

    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: test-pv
    spec:
      capacity:
        storage: 4Gi
      accessModes:
        - ReadWriteOnce
      storageClassName: "" 
      csi:
        driver: disk-csi-driver.mks.ycloud.io
        fsType: ext4
        volumeHandle: ef3ouo4sgl86740ridn6
    
  2. Выполните команду:

    kubectl create -f test-pv.yaml
    

    Результат выполнения команды:

    persistentvolume/test-pv created
    
  3. Посмотрите информацию о созданном объекте PersistentVolume:

    kubectl describe persistentvolume test-pv
    

    Результаты выполнения команды:

    Name:            test-pv
    Labels:          <none>
    Annotations:     <none>
    Finalizers:      [kubernetes.io/pv-protection]
    StorageClass:    yc-network-hdd
    Status:          Available
    ...
    

Создайте объект PersistentVolumeClaim

  1. Сохраните спецификацию для создания объекта PersistentVolumeClaim YAML-файл с названием test-claim.yaml.

    Подробнее о спецификации читайте в документации Kubernetes.

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: test-claim
    spec:
      accessModes:
        - ReadWriteOnce
      resources:
        requests:
          storage: 4Gi
      volumeName: test-pv
    
    1. Выполните команду:

      kubectl create -f test-claim.yaml
      

      Результат выполнения команды:

      persistentvolumeclaim/test-claim created
      
    2. Посмотрите информацию о созданном PersistentVolumeClaim:

      kubectl describe persistentvolumeclaim test-claim
      

      Результат выполнения команды:

      Name:          test-claim
      Namespace:     default
      StorageClass:  yc-network-hdd
      Status:        Bound
      Volume:        test-pv
      ...
      

Создайте под со статически подготовленным томом

  1. Сохраните следующий пример в YAML-файл с названием test-pod.yaml:

    apiVersion: v1
    kind: Pod
    metadata:
      name: test-pod
    spec:
      containers:
      - name: app
        image: ubuntu
        command: ["/bin/sh"]
        args: ["-c", "while true; do echo $(date -u) >> /data/out.txt; sleep 5; done"]
        volumeMounts:
        - name: persistent-storage
          mountPath: /data
      volumes:
      - name: persistent-storage
        persistentVolumeClaim:
          claimName: test-claim
    

    Подробнее о спецификации читайте в документации Kubernetes.

  2. Выполните команду:

    kubectl create -f test-pod.yaml
    

    Результат выполнения команды:

    pod/test-pod created
    
  3. Посмотрите информацию о созданном поде:

    kubectl describe pod test-pod
    

    Результат выполнения команды:

    Name:         test-pod
    Namespace:    default
    Priority:     0
    Node:         cl1gqrct5oier258n08t-ypap/10.0.0.9
    Start Time:   Tue, 23 Jul 2019 18:34:57 +0300
    Labels:       <none>
    Annotations:  <none>
    Status:       Pending
    ...
    Events:
      Type    Reason     Age   From               Message
      ----    ------     ----  ----               -------
      Normal  Scheduled  3s    default-scheduler  Successfully assigned default/test-pod to cl1gqrct5oier258n08t-ypap
    

После этого рядом с используемым диском в консоли управления в Yandex Compute Cloud в разделе Диски появится надпись Подключен.

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

Language / Region
© 2022 ООО «Яндекс.Облако»
В этой статье:
  • Перед началом
  • Создайте объект PersistentVolume
  • Создайте объект PersistentVolumeClaim
  • Создайте под со статически подготовленным томом