Облако VMware
Работа с виртуальными машинами через VMware Cloud Director
Cоздание виртуальной машины из ISO образа
Добавление существующей сети из vDC в vApp
Изменение количества CPU и RAM виртуальной машины
Как включить и выключить виртуальную машину
Как загрузить виртуальную машину в BIOS?
Как загрузить виртуальную машину с ISO образа CD/DVD?
Как изменить размер диска виртуальной машины?
Как изменить тип (скорость) дисков виртуальной машины?
Как не получать уведомления о высокой загрузке CPU на виртуальной машине.
Как не получать уведомления о созданных снапшотах на виртуальной машине.
Как создать снапшот виртуальной машины?
Как установить VMware Tools на ОС LInux
Как установить VMware Tools на ОС Windows
Лимиты VDC и изменение ресурсов виртуальных машин
Подключение к MAC ОС по протоколу удалённого доступа VNC
Рекомендуемые типы адаптеров / контроллеров в облаке CLOUD4Y
Решение проблем с сетевой доступностью виртуальных машин
Удаление сети vDC
Работа с виртуальным маршрутизатором EDGE gateway
SaaS-решения
Корпоративная почта
Outlook постоянно подключается к Office 365 и просит пароль Microsoft
Outlook продолжает запрашивать учетные данные после изменения пароля
Диагностика при проблемах подключения к почтовому серверу Outlook
Изменение прав доступа к электронному почтовому ящику для других пользователей организации
Как исправить ошибку с кодом -1 при создании нового почтового ящика
Как мигрировать данные почтового ящика со стороннего хостера через PST файлы
Как настроить автоархивацию в Outlook
Как переслать NDR в Outlook
Как переслать NDR в Thunderbird
Настройка iOS и Android для работы с Exchange
Настройка Mozilla Thunderbird
Настройка Outlook
Настройка Outlook IOS/Android
Настройка The Bat!
Настройка и работа с общими папками
Настройка стандартного приложения "Почта" в MAC OS X
Настройка фильтров и переадресации писем электронного почтового ящика в panel.flexcloud.ru
Настройки DNS для услуги Hosted Exchange в тестовом периоде.
Настройки DNS необходимые для работы Hosted Exchange.
Ошибка Outlook 0x800ccc1a
Параметры подключения к почтовым серверам Cloud4Y
Перенос почты со стороннего сервера (mail.ru, gmail.com, yandex.ru и т.п.) на сервер Exchange
Подключение к ящику через web-интерфейс
Подключение по протоколам IMAP/POP3 к Outlook 2016
Подключение по протоколам IMAP/POP3/MAPI к Outlook 2019 и старших версий
Создание почтового ящика.
Создание списка рассылки

Подключение NFS-хранилища к Kubernetes через dynamic provisioner

Подключение NFS-хранилища к Kubernetes через dynamic provisioner

В этой заметке показан простой способ подключить NFS-хранилище к кластеру Kubernetes и включить динамическое создание PersistentVolume с помощью провиженера nfs-subdir-external-provisioner. Более подробная информация о том, что такое PVC, PV и архитектуре хранения данных в кластере kubernetes, вы можете прочитать в этой статье.

Такой подход позволяет приложениям автоматически получать хранилище через PVC, без ручного создания PV. Для дальнейшей настройки у вас уже должен быть развернут кластер k8s и добавлен еще один хост с диском большого объема для организации на нем NFS.

Архитектура

Application Pod

     │

PersistentVolumeClaim

     │

StorageClass

     │

nfs-subdir-external-provisioner

     │

NFS Server

Когда приложение создаёт PVC, provisioner автоматически создаёт каталог на NFS и привязывает его к Pod.

1. Подготовка NFS сервера

Установить NFS сервер:

sudo apt update

sudo apt install -y nfs-kernel-server

Создать директорию для Kubernetes:

sudo mkdir -p /srv/nfs/k8s

sudo chmod 777 /srv/nfs/k8s

Добавить экспорт в /etc/exports:

/srv/nfs/k8s *(rw,sync,no_subtree_check,no_root_squash)

Применить конфигурацию:

sudo exportfs -rav

sudo systemctl restart nfs-kernel-server

Проверить:

showmount -e

 

2. Установка NFS клиента на ноды Kubernetes

Каждая worker-нода должна иметь NFS клиент, иначе kubelet не сможет смонтировать volume.

Ubuntu / Debian:

sudo apt install -y nfs-common

RHEL / CentOS:

sudo yum install -y nfs-utils

3. Установка provisioner через Helm

Для установки используется пакетный менеджер Helm.

Добавить репозиторий:

helm repo add nfs-subdir-external-provisioner \

https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner

 

helm repo update

Установить provisioner:

helm install nfs-provisioner \

nfs-subdir-external-provisioner/nfs-subdir-external-provisioner \

--set nfs.server= \

--set nfs.path=/srv/nfs/k8s \

--set storageClass.name=nfs-storage

Проверить pod:

kubectl get pods

 

4. Проверка StorageClass

После установки появится StorageClass:

kubectl get storageclass

Пример:

При необходимости сделать его default:

kubectl patch storageclass nfs-storage \

-p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'

5. Проверка через PVC

Создать файл pvc.yaml:

apiVersion: v1

kind: PersistentVolumeClaim

metadata:
name: test-pvc

spec:
accessModes:
- ReadWriteMany

storageClassName: nfs-storage

resources:
requests:
 storage: 1Gi

Применить:

kubectl apply -f pvc.yaml

Проверить статус:

kubectl get pvc

Результат:

На NFS сервере появится директория:

/srv/nfs/k8s/pvc-xxxxxxx

Итог

После установки:

  • приложения создают PVC
  • Kubernetes автоматически выделяет PersistentVolume
  • provisioner создаёт каталог на NFS
  • Pod монтирует storage как обычный volume

Это позволяет централизованно использовать сетевое хранилище и упростить управление данными в кластере Kubernetes.

Вверх!