Granskning: VMwares Photon OS lyser för Docker-behållare

Med Photon öppen källkodsprojekt hoppas VMware kunna bygga en gemenskap kring praxis att köra containerapplikationer i virtuella miljöer. Photon är en samlingsbegrepp för flera projekt som inkluderar sätt att distribuera behållare en virtuell dator , med hjälp av Photon OS, samt sätt att distribuera behållare som virtuella datorer på VMware-infrastruktur.

Photon OS är en Linux-behållarvärd med liten fotavtryck som är utformad för att köras på virtuella maskiner och inställd för VMware-hypervisorer. VMware har verkligen omfamnat Docker-rörelsen på ett stort sätt, och inte bara på VMware. Du kan köra Photon OS på andra hypervisorer inklusive Google Compute Engine och Amazon EC2. Du kan dock inte installera Photon OS på en fysisk server.

Photon OS gör inte antaganden om containerverktygssatsen, även om Docker är installerat som standard. Administratörer kan lägga lagerhanteringsverktyg efter eget val över bas-operativsystemet med Photon-pakethanteraren.

Photon OS-systemadministration

På Photon OS görs pakethantering med TDNF (Tiny Dandified Yum), en öppen källkod för VMware-skapande som erbjuder DNF-kompatibel pakethantering utan Yums stora Python-fotavtryck.

VMware tillhandahåller sina egna Yum-kompatibla förvar för hantering av paket och signerar paket med GPG (GNU Privacy Guard) signaturer. Detta hjälper till att göra systemet säkert som standard. Signaturverifiering sker automatiskt, så det krävs inga extra steg av systemadministratörer eller skript. Photon OS-arkiv är "kuraterade", så förvänta dig inte att hitta alla paket som finns tillgängliga för nedladdning.

Eftersom Photon OS 1.0 Revision 2 är förpackad med en äldre version av Docker var det första jag ville göra att prova en uppdatering. Detta gick felfritt, och på några minuter körde alla mina containrar på den senaste versionen av Docker.

Photon OS använder Systemd init-systemet, så administratörer måste lära sig den smaken av systemhantering om de inte redan har gjort det. Säkerhet är ett fokus och systemet inkluderar SE Linux för att förbättra containerisolering. En brandvägg (iptables) är aktiverad som standard och paket från externa gränssnitt (förutom SSH-trafik) tappas, så administratörer måste lägga till regler för att tillåta trafik från omvärlden.

För det mesta kom denna standardsäkerhet inte i vägen, förutom när du gjorde en obligatorisk ändring av root-lösenordet från den rena installationen. Varje misstag kastar användaren ur skalet och tillbaka till en inloggningsprompt. Denna del kunde ha varit lite mer användarvänlig.

Photon OS installation och konfiguration

Jag installerade Photon OS med den nedladdningsbara virtuella maskinen. Som du förväntar dig var det smärtfritt på min VMware Workstation Pro-installation. Systemet upptäckte nedladdningen, frågade om jag ville acceptera hårdvaruparametrarna och startade omedelbart. Photon OS finns också som ISO och som bilder för Amazon- och Google-molnen. Efter att ha loggat in som root och konfigurerat lösenordslösa inloggningar var jag igång.

Den minimala installationen, liksom andra container Linux-värdar, innehåller nästan ingenting, inte ens sudo, även om det inkluderar SSH. Administratörer som distribuerar flottor av Photon OS-virtuella datorer vill skriptinstallationen, och för det använder Photon OS Cloud-Init, en uppsättning Python-skript och verktyg för att underlätta distribution och konfiguration av molnet.

Även för ett operativsystem för Docker-containrar var installationen av Photon OS ungefär lika enkelt som det blir. Det verkar som att få Nginx att köra i en container är "Hello world" för Docker. Här är det på Photon OS:

# systemctl start docker

# systemctl enable docker

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

Photon OS-lagring och nätverk

Tack vare att den körs i en virtualiserad hårdvarumiljö ser lagringsenheter ut som vanlig hårdvara och standardfilsystemoperationer är tillgängliga i Photon OS. Du kan lägga till en ny (virtuell) disk till maskinen och montera den där den behövs, precis som alla andra diskar. Photon OS-filsystemet inkluderar Btrfs och Ext4. Standardrotfilsystemet är Ext4. Exempel på Btrfs är få och Ext4 verkar dominera.

Fjärrlagring hanteras av Photon NFS-verktyg. Ingen av de andra containerorienterade Linux som jag har använt (Alpine, RancherOS, CoreOS och Atomic Host) innehöll instruktioner för NFS, så jag var glad att se att VMware dokumenterade praxis. NFS lever fortfarande och sparkar i företagsmiljöer och jag förväntar mig att montering av NFS-enheter kommer att vara ett vanligt användningsfall för Photon OS-användare.

Det enda ovanliga lagringsalternativet i Photon OS är valet av skrivskyddade eller skriv-skriv filsystem, men detta beror verkligen på användningsfallet, och jag var glad att ha valet.

Nätverk i Photon OS använder iproute2-verktygen, även om de traditionella ipconfigoch netstatkommandona ingår. Photon OS-installationer inkluderar som standard ingen containernätverkskonfiguration, men många populära konfigurationer är dokumenterade: Docker, Rocket, DCOS, etc. Ur ett nätverksperspektiv är Photon OS precis som alla andra Linuxsmaker och det fanns inga överraskningar.

Photon OS-uppgraderingar och nedgraderingar

Precis som Red Hats Atomic Host använder Photon OS rpm-ostree som ett hybrid image / package management system med sin egen OSTree-server. Att förstå rpm-ostree kommandoset, terminologi och bästa praxis tar administratörer lite tid. Förutom att lära sig en ny uppsättning kommandon att lära sig, måste administratörer vara medvetna om skrivskyddade kataloger och se till att applikationer inte skriver filer till dem. Till exempel är katalogen / usr skrivskyddad när du använder rpm-ostree. Profilen rpm-ostree är ett alternativ för installationstid, så användare kan välja mellan TDNF eller rpm-ostree för pakethantering. Dokumentationen är bra om detta ämne.

Vid utvecklingen av Photon OS kunde VMware ta bort alla typer av äldre moduler från Linux-kärnan. Eftersom VMware kontrollerar hela hårdvaran och OS-stacken kunde den också ställa in buffertar, tidsredovisning och kompilera flaggor för att eliminera uppsägningar mellan containerns körtid och hypervisor. För organisationer med en investering i VMware-virtualisering bör Photon-projektet ligga högst upp på listan för att undersöka.