Перейти к основному содержимому
Примонтировать файловое хранилище
Последнее изменение:

Примонтировать файловое хранилище

Файловое хранилище можно примонтировать:

Примонтировать файловое хранилище к выделенному или облачному серверу

Процесс монтирования зависит от операционной системы на сервере и протокола файлового хранилища: NFSv4 или CIFS SMBv3.

  1. Подключитесь к облачному серверу.

  2. Откройте CLI.

  3. Установите пакет для работы с протоколом NFS:

    sudo apt install nfs-common
  4. Создайте папку для монтирования хранилища:

    sudo mkdir -p /mnt/nfs
  5. Примонтируйте файловое хранилище:

    sudo mount -vt nfs "<filestorage_ip_address>:/shares/share-<mountpoint_uuid>" /mnt/nfs

    Укажите:

    • <filestorage_ip_address> — IP-адрес файлового хранилища. Можно посмотреть в панели управления в разделе Облачная платформаФайловое хранилище → страница хранилища → вкладка Настройки → поле IP;
    • <mountpoint_uuid> — ID точки монтирования. Можно посмотреть в панели управления в разделе Облачная платформаФайловое хранилище → страница хранилища → блок Подключение → вкладка GNU/Linux.

Примонтировать файловое хранилище к кластеру Managed Kubernetes

Процесс монтирования зависит от протокола файлового хранилища: NFSv4 или CIFS SMBv3.

  1. Создайте PersistentVolume.
  2. Создайте PersistentVolumeClaim.
  3. Добавьте файловое хранилище в контейнер.

1. Создать PersistentVolume

  1. Подключитесь к кластеру Managed Kubernetes.

  2. Создайте yaml-файл с манифестом для объекта PersistentVolume:

    apiVersion: v1
    kind: PersistentVolume
    metadata:
    name: pv_name
    spec:
    storageClassName: storageclass_name
    capacity:
    storage: <storage_size>
    accessModes:
    - ReadWriteMany
    nfs:
    path: /shares/share-<mountpoint_uuid>
    server: <filestorage_ip_address>

    Укажите:

    • <storage_size> — размер PersistentVolume в ГБ (размер файлового хранилища), например 100 Gi. Ограничение — от 50 ГБ до 50 ТБ;
    • <mountpoint_uuid> — ID точки монтирования. Можно посмотреть в панели управления в разделе Облачная платформаФайловое хранилище → страница хранилища → блок Подключение → вкладка GNU/Linux;
    • <filestorage_ip_address> — IP-адрес файлового хранилища. Можно посмотреть в панели управления в разделе Облачная платформаФайловое хранилище → страница хранилища → вкладка Настройки → поле IP.
  3. Примените манифест:

    kubectl apply -f <persistent_volume.yaml>

    Укажите <persistent_volume.yaml> — имя yaml-файла с манифестом для создания PersistentVolume.

  4. Убедитесь, что создан объект PersistentVolume:

    kubectl get pv

2. Создать PersistentVolumeClaim

  1. Создайте yaml-файл с манифестом для объекта PersistentVolumeClaim:

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
    name: pvc_name
    spec:
    storageClassName: storageclass_name
    accessModes:
    - ReadWriteMany
    resources:
    requests:
    storage: <storage_size>

    Укажите <storage_size> — размер PersistentVolume в ГБ (размер файлового хранилища), например 100 Gi. Ограничение — от 50 ГБ до 50 ТБ.

  2. Примените манифест:

    kubectl apply -f <persistent_volume_claim.yaml>

    Укажите <persistent_volume_claim.yaml> — имя yaml-файла с манифестом для создания PersistentVolumeClaim.

  3. Убедитесь, что создан объект PersistentVolumeClaim:

    kubectl get pvc

3. Добавить хранилище в контейнер

  1. Создайте yaml-файл с манифестом для объекта Deployment:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
    name: filestorage_deployment_name
    labels:
    project: filestorage_deployment_name
    spec:
    replicas: 2
    selector:
    matchLabels:
    project: filestorage_project_name
    template:
    metadata:
    labels:
    project: filestorage_project_name
    spec:
    volumes:
    - name: volume_name
    persistentVolumeClaim:
    claimName: pvc_name
    containers:
    - name: container-nginx
    image: nginx:stable-alpine
    ports:
    - containerPort: 80
    name: "http-server"
    volumeMounts:
    - name: volume_name
    mountPath: <mount_path>

    Укажите <mount_path> — путь до папки внутри контейнера, в которую будет примонтировано файловое хранилище.

  2. Примените манифест:

    kubectl apply -f <deployment.yaml>

    Укажите <deployment.yaml> — имя yaml-файла с манифестом для создания Deployment.