Ohjelmointi

Microsoft lisää uuden Linux: CBL-Marinerin

Ajattele Microsoftia ja Linuxia, ja todennäköisesti ajattelet sen työtä optimoidun Linux-ytimen rakentamiseksi Windows-alijärjestelmälle Linuxille (WSL). Windows-päivityksen kautta työnnetty Microsoft tukee kaikkia WSL2 Linux-jakeluja, mukaan lukien Ubuntu ja SUSE.

Mutta WSL2: n ydin ei ole Microsoftin ainoa Linux-tarjonta. Olemme tarkastelleet joitain muita täällä aiemmin, mukaan lukien Azure Spheren suojattu Linux. Toiset sisältävät SONiC-verkkojakelun, joka on suunniteltu käytettäväksi Open Compute Project -laitteiston kanssa ja jota monet julkiset pilvet ja suuret verkkopalvelut käyttävät, ja Azure ONE: n (avoimen verkon emulaattorin) isännät, joita käytetään uusien verkkototeutusten validointiin Azureen.

Microsoftin Linux Systems Group

Microsoft Linux -ydinten ja -jakelujen määrän kasvaessa on nyt virallinen Linux Systems Group, joka hoitaa suuren osan yrityksen Linux-työstä. Tämä sisältää Azure-viritetyn ytimen, joka on saatavana korjaustiedostoina useille yleisimmille Linux-jakeluille, optimoimalla ne käytettäväksi Microsoftin Hyper-V-hypervisorin kanssa, ja joukon työkaluja, jotka auttavat järjestelmän eheyden valvonnassa, tehostavat jakelut turvallisemmiksi ja auttavat hallitsemaan päivitykset ja korjaustiedostot suurille Linux-palvelinten ja virtuaalikoneiden alueille.

Tiimi julkaisi äskettäin uuden Linux-jakelun: CBL-Mariner. Vaikka julkaisu on julkinen, suurta osaa sen käytöstä ei käytetä, koska se on osa Azure-infrastruktuuria, sitä käytetään sen reunaverkkopalveluihin ja osana pilvi-infrastruktuuria. Tuloksena on pienikokoinen, tiukasti kohdennettu jakelu, joka on vähemmän siitä, mitä siinä on, ja paljon enemmän siitä, mikä siinä toimii.

Esittelyssä CBL-Mariner: Microsoftin Linux-säilöisäntä

Sijoittaminen kevyeen Linuxiin, kuten CBL-Mariner, on järkevää, kun otetaan huomioon Microsoftin investoinnit konttipohjaisiin tekniikoihin. Pilvitalous edellyttää, että isännät käyttävät mahdollisimman vähän resursseja, jolloin Azure-kaltaiset palvelut saavat korkean käyttöasteen. Samaan aikaan Kubernetes-kontit tarvitsevat mahdollisimman vähän yleiskustannuksia, mikä sallii mahdollisimman monen solmun podia kohti ja mahdollistaa uusien solmujen käynnistämisen mahdollisimman nopeasti.

Sama koskee reunalaitteita, varsinkin seuraavan sukupolven reunasolmuja, jotka on tarkoitettu käytettäviksi 5G-verkkojen kanssa. Täällä, kuten julkisessa pilvessä, tärkeimmät ovat kuormitukset, jotka siirtävät ne ja tiedot lähemmäksi käyttäjiä. Microsoft käyttää kasvavaa reunalaitteistoa osana Azure Content Delivery Network -verkkoa tärkeimpien Azure-datakeskustensa ulkopuolella, välimuistiin välimuistiin Azure-verkkosovelluksista ja isännöiduista video- ja tiedostopalvelimista tavoitteenaan vähentää viivettä mahdollisuuksien mukaan. Azure CDN on keskeinen osa sen Jamstack-pohjaista Azure Static Websites -palvelua, joka isännöi sivuja ja JavaScriptiä, kun ne on julkaistu GitHubista.

Aiemmin Red Hatin CoreOS oli ensisijainen Linux-konttien isäntä, mutta sen äskettäinen vanhentuminen tarkoittaa, että sitä ei enää tueta. Jokaisen sitä käyttävän on täytynyt löytää vaihtoehto. Microsoft tarjoaa Flatcar Linux CoreOS -haarukan Azure-käyttäjille osana kumppanuutta kehittäjien Kinvolk kanssa, mutta oma jakelu omille palveluilleen varmistaa, että se voi päivittää ja hallita isäntä- ja säilöesiintymiään omalla aikataulullaan. Kehitys julkisesti on kaikille, jotka haluavat tehdä ja käyttää omia rakennuksiaan tai jotka haluavat lisätä uusia ominaisuuksia ja optimointeja, esimerkiksi lisätä tukea uusille verkko-ominaisuuksille.

CBL-Mariner ja kontit

CBL-Marinerilla on pakkauksesta vain peruspaketit, joita tarvitaan konttien tukemiseen ja ajamiseen, samalla tavoin kuin CoreOS. Sydämessä Linux-kontit ovat erillistä käyttäjäaluetta. Jaettujen resurssien pitäminen minimissä vähentää isäntä-käyttöjärjestelmän tietoturva-altistumista varmistamalla, että sovelluskontit eivät voi olla riippuvaisia ​​siitä. Jos käytät CBL-Marineria omissa säilöissään, varmista, että olet testannut julkiset Docker-kuvat ennen käyttöönottoa, koska ne eivät välttämättä sisällä sopivia paketteja. Sinulla voi olla omat peruskuvat paikallaan osana sovellustelakointitiedostojasi.

CBL-Mariner käyttää tuttuja Linux-työkaluja pakettien lisäämiseen ja tietoturvapäivitysten hallintaan tarjoamalla päivityksiä joko RPM-paketteina tai täydellisinä kuvina, jotka voidaan ottaa käyttöön tarvittaessa. RPM: n avulla voit lisätä omia pakettejasi CBL-Mariner-peruskuvaan tukemaan lisäominaisuuksia ja -palveluita tarpeen mukaan.

CBL-Marinerin käytön aloittaminen voi olla yhtä helppoa kuin Azure-palvelun käynnistäminen. Mutta jos haluat käytännön kokemusta tai haluat osallistua projektiin, kaikki lähdekoodit ovat tällä hetkellä GitHubissa, samoin kuin ohjeet omien asennusten rakentamiseen. Edellytyksiä Ubuntu 18.04: n rakentamiselle ovat Go-kieli, QEMU (Quick EMUlator) -apuohjelmat sekä rpm.

Rakenna oma asennus GitHub-arkistosta

Sinulla on useita eri vaihtoehtoja rakentamiseen lähteestä. Aloita tarkistamalla lähde GitHubista tekemällä paikallinen klooni projektivarastosta. Erilaisia ​​haaroja on saatavana, mutta ensimmäistä rakennusta varten kannattaa valita nykyinen vakaa haara. Täältä voit rakentaa Go-työkalut projektille ennen lähteiden lataamista.

Nopeaan koontiversioon sinulla on kaksi vaihtoehtoa, jotka molemmat käyttävät valmiita paketteja ja kokoavat niistä jakelun. Ensimmäinen, paljaita metalliasennuksia varten, luo asennettavaksi tarkoitetun ISO-tiedoston. Toinen, joka käyttää CBL-Marineria konttiisäntänä, rakentaa käyttövalmiin VHDX-tiedoston virtuaalikoneella käytettäväksi Hyper-V: n kanssa. Vaihtoehtoinen vaihtoehto rakentaa säilökuvan, jota voidaan käyttää lähteenä Mariner-pohjaisiin docker-tiedostoihisi, jolloin saat kaiken tarvittavan yhteensopivien säilöjen rakentamiseen ja käyttämiseen sovellusten kanssa.

Jos haluat rakentaa lähteestä, vaihtoehto on käytettävissä, vaikka koontiversio onkin huomattavasti hitaampaa kuin esikäännettyjen pakettien käyttö. Tämän avulla voit kuitenkin kohdistaa vaihtoehtoisiin suorittimiin, esimerkiksi rakentaa version, joka toimii uuden sukupolven ARM-pohjaisten reunalaitteiden kanssa, samanlainen kuin AWS: n Graviton-esiintymissä. Voit käynnistää koko rakennustyökaluketjun varmistaaksesi, että sinulla on hallita koko rakenneprosessia. Koko rakennusprosessia voidaan käyttää jopa tuettujen pakettien luomiseen, ja ydintiedostot luetellaan JSON-määritystiedostossa.

Valmistuttuasi voit aloittaa CBL-Marinerin ominaisuuksien määrittämisen. Näitä ovat esimerkiksi iptables-pohjainen palomuuri, tuki allekirjoitetuille päivityksille ja karkaistu ydin. Valinnaiset ominaisuudet voidaan määrittää samaan aikaan työkalujen avulla, jotka parantavat prosessin eristämistä ja salaavat paikallisen tallennustilan. Nämä ovat tärkeitä ominaisuuksia säilöisännälle monikerroksisessa ympäristössä, jossa sinun on suojattava paikallisia tietoja.

Tuloksena on tehokas korvaus CoreOS: lle, ja haluaisin, että se olisi saatavana Azure-käyttäjien ja Microsoftin omien tiimien saataville. CBL-Marinerilla ei välttämättä ole muiden konttipohjaisten Linuxien kypsyyttä, mutta sillä on varmasti riittävästi tukea sen takana, jotta se olisi uskottava työkalu käytettäväksi hybridipilvi- ja reunaverkkoarkkitehtuureissa, joissa suoritat koodia omilla reunapalvelimillasi ja Microsoftin pilvessä. Jos Microsoft ei tee siitä vaihtoehtoa, ainakin voit rakentaa sen itse.

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