Programmering

Gennemgang: VMwares Photon OS skinner til Docker-containere

Med Photon open source-projektet håber VMware at opbygge et samfund omkring praksis med at køre containeriserede applikationer i virtuelle miljøer. Photon er en paraplybetegnelse for flere projekter, der inkluderer måder at implementere containere på en VM ved hjælp af Photon OS samt måder at implementere containere på som VM'er på VMware-infrastruktur.

Photon OS er en Linux-host med lille fodaftryk designet til at køre på virtuelle maskiner og indstillet til VMware hypervisors. VMware har bestemt omfavnet Docker-bevægelsen på en stor måde og ikke kun på VMware. Du kan køre Photon OS på andre hypervisorer, herunder Google Compute Engine og Amazon EC2. Du kan dog ikke installere Photon OS på en fysisk server.

Photon OS antager ikke antagelser om containerværktøjssættet, selvom Docker er installeret som standard. Administratorer kan lagde containeradministrationsværktøjer efter eget valg over basis-OS ved hjælp af Photon-pakkehåndteringen.

Photon OS systemadministration

På Photon OS udføres pakkehåndtering med TDNF (Tiny Dandified Yum), en open source VMware-oprettelse, der tilbyder DNF-kompatibel pakkehåndtering uden det store Python-fodaftryk fra Yum.

VMware leverer sine egne Yum-kompatible arkiver til styring af pakker og underskriver pakker med GPG (GNU Privacy Guard) underskrifter. Dette hjælper med at gøre systemet sikkert som standard. Bekræftelse af signaturer sker automatisk, så der kræves ingen ekstra trin af systemadministratorer eller scripts. Photon OS-arkiverne er "kuraterede", så forvent ikke at finde alle pakker derude tilgængelige til download.

Fordi Photon OS 1.0 Revision 2 er pakket med en ældre version af Docker, var det første, jeg ville gøre, at prøve en opdatering. Dette gik fejlfrit, og i løbet af et minut kørte alle mine containere på den nyeste version af Docker.

Photon OS bruger Systemd init-systemet, så administratorer bliver nødt til at lære den smag af systemadministration, hvis de ikke allerede har gjort det. Sikkerhed er et fokus, og systemet inkluderer SE Linux for at forbedre containerisolering. En firewall (iptables) er tændt som standard, og pakker fra eksterne grænseflader (undtagen SSH-trafik) slettes, så administratorer bliver nødt til at tilføje regler for at tillade trafik fra omverdenen.

For det meste kom denne standardsikkerhed ikke i vejen, undtagen når du foretager en obligatorisk ændring af rodadgangskoden fra den rene installation. Enhver fejl kaster brugeren ud af skallen og tilbage i en loginprompt. Denne del kunne have været lidt mere brugervenlig.

Photon OS installation og konfiguration

Jeg installerede Photon OS ved hjælp af den virtuelle maskine, der kan downloades. Som du kunne forvente, var dette smertefrit på min VMware Workstation Pro-opsætning. Systemet registrerede downloadet, spurgte om jeg ville acceptere hardwareparametrene og startede med det samme. Photon OS er også tilgængeligt som ISO og som billeder til Amazon- og Google-skyerne. Efter at have logget ind som root og konfigureret adgangskodeløse login, var jeg i gang.

Den minimale installation, ligesom andre container Linux-værter, indeholder næsten intet, ikke engang sudo, selvom det inkluderer SSH. Administratorer, der implementerer flåder af Photon OS-virtuelle maskiner, vil scripte opsætningen, og til det bruger Photon OS Cloud-Init, et sæt Python-scripts og hjælpeprogrammer for at gøre skyinstallation og konfiguration lettere.

Selv for et OS til Docker-containere var opsætning af Photon OS omtrent lige så let som det bliver. Det ser ud til, at det at få Nginx til at køre i en container er "Hello world" for Docker. Her er det på Photon OS:

# systemctl start docker

# systemctl aktiverer docker

# docker-kørsel –d –p 80:80 vmwarecna / nginx

Photon OS-opbevaring og netværk

Takket være kørsel i et virtualiseret hardwaremiljø ser lagerenheder ud som normal hardware, og standardfilsystemoperationer er tilgængelige i Photon OS. Du kan tilføje en ny (virtuel) disk til maskinen og montere den, hvor den er nødvendig, ligesom enhver anden disk. Photon OS-filsystemet inkluderer Btrfs og Ext4. Standard rodfilsystemet er Ext4. Eksempler på Btrfs er få, og Ext4 ser ud til at være dominerende.

Fjernlagring håndteres af Photon NFS-værktøjer. Ingen af ​​de andre containerorienterede Linux'er, jeg har brugt (Alpine, RancherOS, CoreOS og Atomic Host), indeholdt instruktioner til NFS, så jeg var glad for at se, at VMware dokumenterede fremgangsmåden. NFS lever stadig og sparker i virksomhedsmiljøer, og jeg forventer, at montering af NFS-drev vil være en almindelig brugssag for Photon OS-brugere.

Den eneste usædvanlige lagringsmulighed i Photon OS er valget af read-only eller read-write filsystemer, men det afhænger virkelig af brugssagen, og jeg var glad for at have valget.

Netværk i Photon OS bruger iproute2-hjælpeprogrammerne, selvom de er traditionelle ipconfig og netstat kommandoer er inkluderet. Photon OS-installationer inkluderer ikke nogen containernetværkskonfiguration som standard, men mange populære konfigurationer er dokumenteret: Docker, Rocket, DCOS osv. Fra et netværksperspektiv er Photon OS ligesom enhver anden smag af Linux, og der var ingen overraskelser.

Photon OS opgraderinger og nedgraderinger

Ligesom Red Hats Atomic Host bruger Photon OS rpm-ostree som et hybrid image / pakkehåndteringssystem med sin egen OSTree-server. At forstå rpm-ostree kommandosæt, terminologi og bedste praksis vil tage administratorer noget tid. Ud over at lære et nyt sæt kommandoer at lære, skal administratorer være opmærksomme på skrivebeskyttede mapper og sikre, at applikationer ikke skriver filer til dem. For eksempel er / usr-biblioteket skrivebeskyttet, når du bruger rpm-ostree. Profilen rpm-ostree er en installationstid, så brugerne kan vælge mellem TDNF eller rpm-ostree til pakkehåndtering. Dokumentationen er god om dette emne.

Ved udviklingen af ​​Photon OS var VMware i stand til at fjerne alle mulige ældre moduler fra Linux-kernen. Da VMware styrer hele hardware- og OS-stakken, var det også i stand til at tune buffere, tidsregnskab og kompilere flag for at eliminere afskedigelser mellem containerruntiden og hypervisor. For organisationer med en investering i VMware-virtualisering skal Photon-projektet være øverst på listen for at undersøge.