Programmēšana

Pārskats: VMware Photon OS spīd Docker konteineriem

Ar Photon atvērtā pirmkoda projektu VMware cer izveidot kopienu, kas balstīta uz konteineru lietojumprogrammu palaišanas virtuālajā vidē praksi. Photon ir jumta termins vairākiem projektiem, kas ietver konteineru izvietošanas veidus ieslēgts VM, izmantojot Photon OS, kā arī konteineru izvietošanas veidi VM par VMware infrastruktūru.

Photon OS ir maza izmēra Linux konteineru resursdators, kas paredzēts darbam ar virtuālajām mašīnām un pielāgots VMware hipervizoriem. VMware noteikti ir lielā mērā aptvēris Docker kustību un ne tikai VMware. Photon OS var palaist citos hipervizoros, tostarp Google Compute Engine un Amazon EC2. Tomēr jūs nevarat instalēt Photon OS fiziskajā serverī.

Photon OS neveic pieņēmumus par konteinera rīkkopu, lai gan Docker ir instalēts pēc noklusējuma. Administratori, izmantojot Photon pakotņu pārvaldnieku, var slāņa izvēlētos konteineru pārvaldības rīkus salīdzināt ar bāzes OS.

Photon OS sistēmas administrēšana

Photon OS pakotņu pārvaldība tiek veikta ar TDNF (Tiny Dandified Yum), atvērtā koda VMware izveidi, kas piedāvā ar DNF saderīgu pakotņu pārvaldību bez liela Yum Python nospieduma.

VMware nodrošina savus ar Yum saderīgus krātuves paku pārvaldīšanai un paketes paraksta ar GPG (GNU Privacy Guard) parakstiem. Tas palīdz padarīt sistēmu drošu pēc noklusējuma. Parakstu pārbaude notiek automātiski, tāpēc sistēmas administratori vai skripti neprasa papildu darbības. Photon OS krātuves ir “apstrādātas”, tāpēc negaidiet, ka atradīsit katru lejupielādējamo paketi.

Tā kā Photon OS 1.0 2. redakcija ir iepakota ar vecāku Docker versiju, vispirms vēlējos izmēģināt atjauninājumu. Tas notika nevainojami, un minūtes laikā visi mani konteineri darbojās ar jaunāko Docker versiju.

Photon OS izmanto Systemd init sistēmu, tāpēc administratoriem būs jāapgūst šī sistēmas pārvaldības garša, ja vēl nav. Drošība ir galvenā uzmanība, un sistēma ietver SE Linux, lai uzlabotu konteineru izolāciju. Ugunsmūris (iptables) pēc noklusējuma ir ieslēgts, un paketes no ārējām saskarnēm (izņemot SSH trafiku) tiek atmestas, tāpēc administratoriem būs jāpievieno kārtulas, lai atļautu trafiku no ārpasaules.

Pārsvarā šī noklusējuma drošība netraucēja, izņemot gadījumus, kad no tīras instalēšanas obligāti mainīja saknes paroli. Jebkura kļūda izmet lietotāju no čaulas un atkal pieteikšanās uzvednē. Šī daļa varēja būt mazliet draudzīgāka lietotājam.

Photon OS instalēšana un konfigurēšana

Es instalēju Photon OS, izmantojot lejupielādējamo virtuālo mašīnu. Kā jūs varētu sagaidīt, manā VMware Workstation Pro iestatījumā tas bija nesāpīgi. Sistēma noteica lejupielādi, jautāja, vai es vēlos akceptēt aparatūras parametrus, un uzreiz sāku. Photon OS ir pieejama arī kā ISO un kā attēli Amazon un Google mākoņiem. Pēc pieteikšanās kā root un konfigurēšanas pieteikšanās bez paroles es biju izslēgts un palaidu.

Minimālajā instalācijā, tāpat kā citos konteineru Linux resursdatoros, gandrīz nekas nav, pat nav sudo, lai gan tajā ir iekļauts SSH. Administratori, izvietojot Photon OS VM flotes, vēlēsies skriptu iestatīt, un šim nolūkam Photon OS izmanto Cloud-Init - Python skriptu un utilītu komplektu, lai atvieglotu mākoņa izvietošanu un konfigurēšanu.

Pat attiecībā uz Docker konteineru operētājsistēmu Photon OS iestatīšana bija aptuveni tikpat vienkārša, kā tas notiek. Šķiet, ka tas, ka Nginx darbojas konteinerā, ir Docker “Hello world”. Šeit tas ir Photon OS:

# systemctl sākuma dokstacija

# systemctl iespējojiet dokstaciju

# dokera skrējiens –d –p 80:80 vmwarecna / nginx

Photon OS uzglabāšana un tīkla veidošana

Pateicoties darbībai virtualizētā aparatūras vidē, atmiņas ierīces izskatās kā parasta aparatūra, un Photon OS ir pieejamas standarta failu sistēmas darbības. Iekārtai varat pievienot jaunu (virtuālo) disku un piestiprināt to vietā, kur tas nepieciešams, tāpat kā jebkuru citu disku. Photon OS failu sistēmā ietilpst Btrfs un Ext4. Noklusējuma sakņu failu sistēma ir Ext4. Btrf piemēru ir maz, un šķiet, ka dominē Ext4.

Attālo glabāšanu apsaimnieko Photon NFS utilītas. Nevienā citā manis izmantotajā konteinerorientētajā Linux (Alpine, RancherOS, CoreOS un Atomic Host) nebija norādījumu par NFS, tāpēc man bija prieks redzēt, ka VMware ir dokumentējusi šo praksi. NFS joprojām ir dzīvs un spārdās uzņēmuma vidē, un es domāju, ka NFS disku uzstādīšana būs izplatīts Photon OS lietotāju gadījums.

Vienīgā neparastā uzglabāšanas iespēja Photon OS ir tikai lasāmu vai lasāmu un rakstāmu failu sistēmu izvēle, taču tas patiešām ir atkarīgs no lietošanas gadījuma, un es priecājos, ka man bija izvēle.

Tīklošana Photon OS izmanto iproute2 utilītprogrammas, lai arī tradicionālās ipconfig un netstat komandas ir iekļautas. Photon OS instalācijās pēc noklusējuma nav iekļauta nekāda konteineru tīkla konfigurācija, taču tiek dokumentētas daudzas populāras konfigurācijas: Docker, Rocket, DCOS utt. No tīkla perspektīvas Photon OS ir tāpat kā jebkura cita Linux garša, un tajā nebija pārsteigumu.

Photon OS jauninājumi un pazemināšana

Tāpat kā Red Hat’s Atomic Host, Photon OS izmanto rpm-ostree kā hibrīdu attēlu / pakotņu pārvaldības sistēmu ar savu OSTree serveri. Lai saprastu komandu rpm-ostree komandu kopas, terminoloģiju un paraugpraksi, administratori prasīs zināmu laiku. Papildus jaunu komandu apguvei, ko mācīties, administratoriem būs jāzina par tikai lasāmajiem direktorijiem un jānodrošina, lai lietojumprogrammas tajos nerakstītu failus. Piemēram, ja izmantojat rpm-ostree, direktorija / usr ir tikai lasāma. Profils rpm-ostree ir instalēšanas laika opcija, tāpēc lietotāji paketes pārvaldībai var izvēlēties no TDNF vai rpm-ostree. Dokumentācija par šo tēmu ir laba.

Izstrādājot Photon OS, VMware varēja noņemt visu veidu mantotos moduļus no Linux kodola. Tā kā VMware kontrolē visu aparatūru un OS kaudzīti, tā varēja arī pielāgot buferus, laika uzskaiti un apkopot karodziņus, lai novērstu atlaišanu starp konteinera izpildlaiku un hipervizoru. Organizācijām, kuras iegulda VMware virtualizācijā, Photon projektam vajadzētu būt saraksta augšdaļā, lai veiktu izmeklēšanu.

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