На днях мы писали о том, что компания VMware выпустила релизную версию своей минимальной операционной системы Photon OS 1.0, которая предназначена для исполнения виртуальных контейнеров Docker. Многие сразу задумались о том, как дело обстоит с работой контейнеров с хранилищами своих данных.
Как раз в этой связи компания VMware выпустила технологическое превью драйвера vSphere Docker Volume Driver, позволяющего напрямую работать с виртуальными хранилищами прямо из контейнеров Docker (версии 1.9 или выше).
Архитектура решения выглядит так:
Как видно из картинки, нам потребуется установить Volume Driver на серверы VMware ESXi, а также плагины vSphere Docker Volume Plugin на виртуальные машины Docker Host, где будут исполняться наши контейнеры. Также мы видим, что в качестве хранилищ поддерживаются практически все, что поддерживает платформа vSphere: тома VMFS (локальные и общие), NFS-хранилища, а также тома Virtual SAN (и соответственно их политики по обеспечению избыточности данных в целях отказоустойчивости).
Рассмотрим развертывание решения vSphere Docker Volume Driver по шагам.
1. На серверы VMware ESXi 6.0 или выше устанавливается компонент vSphere Data Volume Driver в виде обычного VIB-пакета.
4. Устанавливаем VMDK Plugin (Docker Volume Plugin) на хост ESXi.
Проверяем версию Docker:
root@photon-machine [ ~ ]# docker version
Client:
Version: 1.11.0
API version: 1.23
Go version: go1.5.4
Git commit: 4dc5990
Built: Wed Apr 13 19:36:04 2016
OS/Arch: linux/amd64
Server:
Version: 1.11.0
API version: 1.23
Go version: go1.5.4
Git commit: 4dc5990
Built: Wed Apr 13 19:36:04 2016
OS/Arch: linux/amd64
root@photon-machine [ ~ ]#
Install the RPM (I’ve used “-U” out of habit, but “-i” can also be used):
Устанавливаем RPM-пакет с плагином в гостевую ОС:
root@photon-machine [ ~ ]# ls
docker-volume-vsphere-0.1.0.tp-1.x86_64.rpm
root@photon-machine [ ~ ]# rpm -Uvh docker-volume-vsphere-0.1.0.tp-1.x86_64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:docker-volume-vsphere-0:0.1.0.tp-################################# [100%]
File: '/proc/1/exe' -> '/usr/lib/systemd/systemd'
Created symlink from /etc/systemd/system/multi-user.target.wants/\
docker-volume-vsphere.service to /usr/lib/systemd/system/docker-volume-vsphere.service.
5. Проверяем статус плагина:
root@photon-machine [ ~ ]# systemctl status docker-volume-vsphere
* docker-volume-vsphere.service - "Docker Volume Driver for vSphere"
Loaded: loaded (/usr/lib/systemd/system/docker-volume-vsphere.service;\
enabled; vendor preset: enabled)
Active: active (running) since Mon 2016-05-30 09:04:21 UTC; 28s ago
Main PID: 256 (docker-volume-v)
CGroup: /system.slice/docker-volume-vsphere.service
`-256 /usr/local/bin/docker-volume-vsphere
May 30 09:04:21 photon-machine systemd[1]: Started "Docker Volume Driver\
for....
Hint: Some lines were ellipsized, use -l to show in full.
root@photon-machine [ ~ ]#