Paras vastaus
OpenStack on infrastruktuuri palveluna (IaaS) -pilvi. Se antaa käyttäjille käyttöliittymän tietyn prosessorin / muistin / levyn / verkon järjestelmien käynnistämiseen käyttämällä tiettyyn käyttöjärjestelmään (+ muihin toimintoihin) perustuvaa kuvaa. Loppukäyttäjä voi päättää järjestelmän käytöstä sen jälkeen, kun Openstack luo järjestelmän / vm. Hän osaa asentaa jonkin valitsemansa sovelluksen jne. Ja ajaa heidän työmääränsä. OpenStack tukee useita virtualisointihypervisoreita.
OpenShift on Platform as a Service (PaaS) -pilvi. Se antaa käyttäjille käyttöliittymän valita sovellusalusta, kuten jboss / python, ja suorita työkuormansa suoritettavalla sovelluskohtaisella koodilla / kokoonpanolla. Tämä toteutetaan kontilla / palkoilla. Red Hatin rekisteriä voi käyttää testatuissa / sertifioiduissa kontteissa, tai myös docker-rekisteriä tai muita kolmansien osapuolten rekistereitä.
Vastaus
Ei ole yhtä tapaa vertailla, koska ne ovat enimmäkseen erilaisia asioita. Tästä huolimatta yritän ensin määrittää kunkin tarpeen ja linkittää ne yhteen.
Aloitetaan pinon pohjalta. Tarvitset infrastruktuurin palvelimiesi ajamiseksi. Mitä voisit mennä? Voit käyttää VPS-palveluntarjoajaa, kuten DigitalOcean, tai käyttää AWS: ää.
Entä jos et jostain muusta kuin teknisestä syystä voi käyttää AWS: ää? Esimerkiksi on laillista vaatimusta, jonka mukaan tallentamani tiedot ja palvelimet ovat samalla maantieteellisellä alueella kuin asiakkaani, joita palvelen, ja AWS: llä ei ole aluetta samalle?
Tämä on mihin OpenStack tulee. Se on alusta infrastruktuurin hallinnalle. Ajattele sitä AWS: n avoimen lähdekoodin toteutuksena, jota voit käyttää paljailla metallikeskuksilla.
Seuraavaksi siirrymme pinoon. Haluamme tehokkaan tavan pakata ja lähettää sovelluksemme. Ajattele reaalimaailman esimerkkiä, jossa haluat siirtää kiinteän määrän autoja, hiiltä ja puuvillaa pisteestä A pisteeseen B. Emme vain pinota niitä kaikkia alukseen ja lähetä sitä! Käytämme kontteja. Säiliö on standardoitu yksikkö, joka tarjoaa tavaroidesi asianmukaisen eristämisen ja pakkaamisen, jotta tavaroita voidaan siirtää tehokkaasti.
Lähde: Kontit lastialuksella, Axel Ahoi (@axelahoi) -kuvan kuva Unsplashista
Docker on fyysisen säiliön ohjelmistovastaava. Se tarjoaa eristämisen ja pakkaamisen sovelluksillesi. Voit skaalata ne helposti. Konttikuljetustekniikoita on monia, mutta Docker on hallitseva.
Ymmärrät, että Docker tarjoaa sinulle niin monia etuja ja alat käyttää sitä enemmän. ”Säilytät” sovelluksesi ja lähetät ne tuotantoon. Pian kohtaat uuden ongelman. Kuinka hallita kaikkia näitä kontteja tehokkaasti? Kuinka voin orkestroida säilöni?
Lähde : Manuel Nägelyn (@gwundrig) orkesteriharjoituskuva Unsplashista
Miksi kontit tarvitsevat orkesterointia? Mahdollisuudet ovat, että luet tätä vastausta pöytätietokoneellasi, jossa on käyttöjärjestelmä. Kun avaat selaimen, käyttöjärjestelmäsi kohdistaa resursseja, kuten muistia ja laskentatehoa selainprosessille. Jonkin ajan kuluttua vaihdat selaimen välilehtiä ja avaat hetken myöhemmin uuden ohjelman. Käyttöjärjestelmä tekee paljon kovaa työtä kulissien takana, jotta kaikki prosessisi saavat kohtuullisen osan tarvitsemistaan laskentaresursseista. Tarvitsemme jotain käyttöjärjestelmää konttitasolla. Tämä on tarkka rooli Kubernetes .
Annamme Kubernetesille joukon laskentaresursseja (ns. Solmuja) ja työmäärän, kuten ”Hei, luo ja anna minulle 3 säilöä tämän PHP-sovelluksen ajamiseksi ”, ja Kubernetes aikoo luoda mainitut kontit olemassa olevien tietokoneresurssieni päälle. On olemassa myös muita kontti-orkesterointiratkaisuja, kuten Docker-parvi ja Mesos.
Kubernetes on klusterillesi mikä Linux-ydin on käyttöjärjestelmäsi. Aivan kuten ydin hallitsee vain käyttöjärjestelmän prosesseja, Kubernetes hallinnoi vain kontteja. Täysipainoisen käyttöjärjestelmän käyttämiseen tarvitaan paljon enemmän, kuten käyttäjiä, käyttöoikeuksia, laiteajureita ja muuta. Vastaavasti Kubernetesillä on itsessään rajoitettu hyöty. Se voi tarjota säiliöitä sinulle, jos annat sille eritelmän tai työmäärän. Kuinka rakennat kontin, ennen kuin annat sen Kubernetesille? Kuinka voit käynnistää uuden Kubernetes-valmistelun automaattisesti, kun lähetät uuden koodin? Kubernetesin päälle on rakennettu paljon ratkaisuja. Voit joko optimoida ja yhdistää ne tarpeidesi mukaan tai käyttää OpenShift -ominaisuutta.
Lähde: Lahja, jousi, nauha ja joulu HD-valokuva: Ben White (@benwhitephotography) Unsplashista
OpenShift on Kubernetes-jakelu, joka yhdistää kaikki nämä herkut paljaiden Kubernetesin päälle siististi pakattuna. OpenShift on Kubernetesille, mikä Ubuntu on Linux-ytimelle. Se ei ole Kubernetesin ”haarukka”, vaan rakentaa sen päälle.
Jos haluat sukeltaa syvälle siihen, mitä OpenShift rakentaa Kubernetesin päälle, voit tarkistaa viestini aihe, OpenShift vs Kubernetes – Craft of Coding .