Programmering

Gjennomgang: VMwares Photon OS skinner for Docker-containere

Med Photon open source-prosjektet håper VMware å bygge et fellesskap rundt praksis for å kjøre containeriserte applikasjoner i virtuelle miljøer. Photon er et paraplybegrep for flere prosjekter som inkluderer måter å distribuere containere på en VM ved hjelp av Photon OS, samt måter å distribuere containere på som VM-er på VMware-infrastruktur.

Photon OS er et Linux-container vert for lite fotavtrykk designet for å kjøre på virtuelle maskiner og innstilt for VMware hypervisors. VMware har absolutt omfavnet Docker-bevegelsen på en stor måte, og ikke bare på VMware. Du kan kjøre Photon OS på andre hypervisorer, inkludert Google Compute Engine og Amazon EC2. Du kan imidlertid ikke installere Photon OS på en fysisk server.

Photon OS legger ikke til grunn antagelser om containerverktøysettet, selv om Docker er installert som standard. Administratorer kan lagbehandle verktøy for valg etter eget valg over basen OS ved hjelp av Photon pakkebehandling.

Photon OS systemadministrasjon

På Photon OS gjøres pakkehåndtering med TDNF (Tiny Dandified Yum), en åpen kildekode-VMware-oppretting som tilbyr DNF-kompatibel pakkehåndtering uten det store Python-fotavtrykket til Yum.

VMware tilbyr egne Yum-kompatible arkiver for administrering av pakker, og signerer pakker med GPG (GNU Privacy Guard) signaturer. Dette bidrar til å sikre systemet som standard. Signaturbekreftelse skjer automatisk, så det er ingen ekstra trinn som kreves av systemadministratorer eller skript. Photon OS-arkivene er "kuraterte", så forvent ikke å finne alle pakker der ute som er tilgjengelige for nedlasting.

Fordi Photon OS 1.0 Revision 2 er pakket med en eldre versjon av Docker, var det første jeg ville gjøre å prøve en oppdatering. Dette gikk feilfritt, og i løpet av et minutt kjørte alle containerne mine på den nyeste versjonen av Docker.

Photon OS bruker Systemd init-systemet, så administratorer må lære den smaken av systemadministrasjon hvis de ikke allerede har gjort det. Sikkerhet er et fokus, og systemet inkluderer SE Linux for å forbedre containerisolasjon. En brannmur (iptables) er slått på som standard, og pakker fra eksterne grensesnitt (unntatt SSH-trafikk) blir droppet, så administratorer må legge til regler for å tillate trafikk fra omverdenen.

For det meste kom denne standardsikkerheten ikke i veien, bortsett fra når du gjorde en obligatorisk endring av rotpassordet fra den rene installasjonen. Enhver feil kaster brukeren ut av skallet og tilbake i en påloggingsprompt. Denne delen kunne ha vært litt mer brukervennlig.

Photon OS installasjon og konfigurasjon

Jeg installerte Photon OS ved hjelp av den nedlastbare virtuelle maskinen. Som du kanskje forventer, var dette smertefritt på VMware Workstation Pro-oppsettet mitt. Systemet oppdaget nedlastingen, spurte om jeg ville godta maskinvareparametrene og startet opp med en gang. Photon OS er også tilgjengelig som ISO, og som bilder for Amazon- og Google-skyene. Etter å ha logget på som root og konfigurert passordløse pålogginger, var jeg i gang.

Den minimale installasjonen, som andre container Linux-verter, inneholder nesten ingenting, ikke engang sudo, selv om det inkluderer SSH. Administratorer som distribuerer flåter av Photon OS VM-er, vil ønske å skript oppsettet, og for det bruker Photon OS Cloud-Init, et sett med Python-skript og verktøy for å gjøre skydistribusjon og konfigurering enklere.

Selv for et operativsystem for Docker-containere var det omtrent like enkelt å sette opp Photon OS. Det ser ut til at å få Nginx til å kjøre i en container er "Hello world" for Docker. Her er det på Photon OS:

# systemctl start docker

# systemctl aktiverer docker

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

Photon OS-lagring og nettverk

Takket være å kjøre i et virtualisert maskinvaremiljø, ser lagringsenheter ut som vanlig maskinvare, og standard filsystemoperasjoner er tilgjengelige i Photon OS. Du kan legge til en ny (virtuell) disk på maskinen, og montere den der den er nødvendig, akkurat som enhver annen disk. Photon OS-filsystemet inkluderer Btrfs og Ext4. Standard rotfilsystem er Ext4. Eksempler på Btrfs er få, og Ext4 ser ut til å være dominerende.

Fjernlagring håndteres av Photon NFS-verktøy. Ingen av de andre containerorienterte Linux-ene jeg har brukt (Alpine, RancherOS, CoreOS og Atomic Host) inneholdt instruksjoner for NFS, så jeg var glad for å se at VMware dokumenterte fremgangsmåten. NFS er fremdeles i live i bedriftsmiljøer, og jeg forventer at montering av NFS-stasjoner vil være en vanlig brukssak for Photon OS-brukere.

Det eneste uvanlige lagringsalternativet i Photon OS er valget av skrivebeskyttede eller lese-skrive filsystemer, men dette avhenger virkelig av brukssaken, og jeg var glad for å ha valget.

Nettverk i Photon OS bruker iproute2-verktøyene, selv om det er tradisjonelt ipconfig og netstat kommandoer er inkludert. Photon OS-installasjoner inkluderer ikke noen container-nettverkskonfigurasjon som standard, men mange populære konfigurasjoner er dokumentert: Docker, Rocket, DCOS, etc. Fra et nettverksperspektiv er Photon OS akkurat som enhver annen smak av Linux, og det var ingen overraskelser.

Photon OS oppgraderinger og nedgraderinger

I likhet med Red Hats Atomic Host bruker Photon OS rpm-ostree som et hybrid image / package management system, med sin egen OSTree-server. Å forstå rpm-ostree kommandosett, terminologi og beste praksis vil ta administratorer litt tid. I tillegg til å lære et nytt sett med kommandoer å lære, må administratorer være klar over skrivebeskyttede kataloger og sørge for at applikasjoner ikke skriver filer inn i dem. For eksempel er / usr-katalogen skrivebeskyttet når du bruker rpm-ostree. Rpm-ostree-profilen er et alternativ for installasjonstid, slik at brukere kan velge mellom TDNF eller rpm-ostree for pakkehåndtering. Dokumentasjonen er god om dette emnet.

Ved utviklingen av Photon OS klarte VMware å fjerne alle slags eldre moduler fra Linux-kjernen. Siden VMware kontrollerer hele maskinvaren og OS-stakken, var den også i stand til å stille buffere, tidsregnskap og kompilere flagg for å eliminere avvik mellom containerens kjøretid og hypervisor. For organisasjoner med en investering i VMware-virtualisering, bør Photon-prosjektet være øverst på listen for å undersøke.

$config[zx-auto] not found$config[zx-overlay] not found