Преглед: Photon OS на VMware блести за Docker контейнери

С проекта с отворен код Photon VMware се надява да изгради общност около практиката за изпълнение на контейнеризирани приложения във виртуална среда. Photon е общ термин за множество проекти, които включват начини за разполагане на контейнери на виртуална машина, използвайки Photon OS, както и начини за разполагане на контейнери като виртуални машини на инфраструктурата на VMware.

Photon OS е домакин на контейнер за Linux с малък отпечатък, проектиран да работи на виртуални машини и настроен за хипервизори на VMware. VMware със сигурност е възприел движението на Docker в голяма степен, и то не само на VMware. Можете да стартирате Photon OS на други хипервизори, включително Google Compute Engine и Amazon EC2. Не можете обаче да инсталирате Photon OS на физически сървър.

Photon OS не прави предположения относно набора от инструменти за контейнери, въпреки че Docker е инсталиран по подразбиране. Администраторите могат да слоят инструменти за управление на контейнери по техен избор над базовата операционна система, използвайки Photon пакет мениджър.

Администрация на системата Photon OS

В Photon OS управлението на пакети се извършва с TDNF (Tiny Dandified Yum), създаване на VMware с отворен код, което предлага управление на пакети, съвместими с DNF, без големия отпечатък на Yum на Python.

VMware предоставя свои собствени Yum-съвместими хранилища за управление на пакети и подписва пакети с подписи GPG (GNU Privacy Guard). Това помага да се направи системата защитена по подразбиране. Проверката на подписите се извършва автоматично, така че не са необходими допълнителни стъпки от системните администратори или скриптове. Репозиториите на Photon OS са „подготвени“, така че не очаквайте да намерите всеки пакет, наличен за изтегляне.

Тъй като Photon OS 1.0 Revision 2 е снабден с по-стара версия на Docker, първото нещо, което исках да направя, беше да изпробвам актуализация. Това мина безупречно и след минута всичките ми контейнери работеха с последната версия на Docker.

Photon OS използва системата Systemd init, така че администраторите ще трябва да научат този вкус на управлението на системата, ако още не са го направили. Сигурността е фокус и системата включва SE Linux за подобряване на изолирането на контейнери. Защитната стена (iptables) е включена по подразбиране и пакетите от външни интерфейси (с изключение на SSH трафик) отпадат, така че администраторите ще трябва да добавят правила, за да разрешат трафик от външния свят.

Тази защита по подразбиране не пречи, освен при извършване на задължителна промяна на основната парола от чистото инсталиране. Всяка грешка изхвърля потребителя от черупката и отново в подкана за вход. Тази част може да е малко по-лесна за ползване.

Инсталация и конфигурация на Photon OS

Инсталирах Photon OS с помощта на виртуална машина за изтегляне. Както можете да очаквате, това беше безболезнено при моята настройка на VMware Workstation Pro. Системата откри изтеглянето, попита дали искам да приема хардуерните параметри и веднага се стартира. Photon OS се предлага и като ISO и като изображения за облаците на Amazon и Google. След като влязох като root и конфигурирах влизания без пароли, бях изключен и стартирах.

Минималната инсталация, подобно на други контейнерни Linux хостове, не съдържа почти нищо, дори sudo, въпреки че включва SSH. Администраторите, разгръщащи флоти от виртуални машини на Photon OS, ще искат да скриптят настройката и за това Photon OS използва Cloud-Init, набор от Python скриптове и помощни програми, за да улесни внедряването и конфигурирането на облака.

Дори за операционна система за контейнери Docker, настройването на Photon OS беше толкова лесно, колкото става. Изглежда, че стартирането на Nginx в контейнер е „Здравей, свят“ за Docker. Ето го на Photon OS:

# systemctl start docker

# systemctl enable docker

# docker run –d –p 80:80 vmwarecna/nginx

Photon OS съхранение и работа в мрежа

Благодарение на работата във виртуализирана хардуерна среда устройствата за съхранение изглеждат като нормален хардуер, а стандартните операции с файловата система са налични в Photon OS. Можете да добавите нов (виртуален) диск към машината и да го монтирате там, където е необходимо, точно както всеки друг диск. Файловата система Photon OS включва Btrfs и Ext4. Основната файлова система по подразбиране е Ext4. Примерите за Btrfs са малко и Ext4 изглежда преобладава.

Отдалеченото съхранение се обработва от помощните програми Photon NFS. Нито един от другите Linux-ориентирани към контейнери Linux (Alpine, RancherOS, CoreOS и Atomic Host) не включваше инструкции за NFS, така че се радвам да видя, че VMware документира практиката. NFS все още е жив и рита в корпоративна среда и очаквам, че монтирането на NFS устройства ще бъде често срещан случай за потребителите на Photon OS.

Единствената необичайна опция за съхранение в Photon OS е изборът на файлови системи само за четене или за четене и писане, но това наистина зависи от случая на употреба и се радвам, че имам избор.

Работата в мрежа в Photon OS използва помощните програми iproute2, въпреки че традиционните ipconfigи netstatкомандите са включени. Инсталациите на Photon OS по подразбиране не включват никаква мрежова конфигурация на контейнери, но са документирани много популярни конфигурации: Docker, Rocket, DCOS и др. От гледна точка на мрежата Photon OS е точно като всеки друг вкус на Linux и нямаше изненади.

Надстройки и понижавания на Photon OS

Подобно на атомния хост на Red Hat, Photon OS използва rpm-ostree като хибридна система за управление на изображения / пакети със собствен OSTree сървър. Разбирането на rpm-ostree набори от команди, терминология и най-добри практики ще отнеме известно време на администраторите. В допълнение към изучаването на нов набор от команди за учене, администраторите ще трябва да са наясно с директориите само за четене и да гарантират, че приложенията не записват файлове в тях. Например директорията / usr е само за четене, когато използвате rpm-ostree. Профилът rpm-ostree е опция за инсталиране, така че потребителите могат да избират от TDNF или rpm-ostree за управление на пакети. Документацията е добра по тази тема.

При разработването на Photon OS VMware успя да премахне всякакви наследени модули от ядрото на Linux. Тъй като VMware контролира целия стек на хардуера и ОС, той също така успя да настрои буфери, отчитане на времето и компилира флагове, за да премахне съкращенията между времето на изпълнение на контейнера и хипервизора. За организации с инвестиция във виртуализация на VMware, проектът Photon трябва да бъде в горната част на списъка за разследване.