Kliimahalduse korraldamine kollektiivis

See on esimene vĂ€ljaanne sarjast materjale, mis kĂ€sitleb Red Hat OpenShifti 4.0 platvormi tulevaste uuenduste, parenduste ja lisaelementide muutusi, mis aitavad valmis olla ĂŒleminekuks uuele versioonile.

Kliimahalduse korraldamine kollektiivis

Alates hetkest, mil Kubernetes'e alles kujuneva kogukonna esindajad esmakordselt 2014. aasta sĂŒgisel Google'i kontoris Seattle'is kokku said, oli juba selge, et Kubernetes on mÀÀratud muutma kaasaegseid lĂ€henemisviise tarkvara arendamisele ja rakendamisele. Samal ajal jĂ€tkasid avalikud pilveteenuste pakkujad aktiivset investeerimist infrastruktuuri ja teenuste arendamisse, mis sageli lihtsustas ja hĂ”lbustas IT-d ja tarkvara loomist, muutes need uskumatult kergesti kĂ€ttesaadavaks, mille ĂŒle ei osanud keegi unistadagi veel kĂŒmnendi alguses.

Muidugi, iga uue pilveteenuse kuulutamisega kaasnes mitmeid arutelusid spetsialistide seas Twitteris, kus vaidlused kĂ€idi erinevatel teemadel - sealhulgas avatud lĂ€htekoodide ajastu lĂ”pp, klientide (on-premises IT) IT-d lĂ”pp, uue tarkvaramonopoli vĂ€ltimatuse ĂŒle pilves ning kuidas uus X paradiigma asendab kĂ”ik teised paradiigmad.

Pole vaja öelda, et kĂ”ik need vaidlused olid ĂŒsna rumalad.

Reaalsus on see, et miski ei kao kuhugi ja tĂ€na on vĂ”imalik jĂ€lgida lĂ”ppproduktide ja nende arendamise viiside eksponentsiaalset kasvu, mis on seotud pidevalt meie ellu tuleva uue tarkvaraga. Ja vaatamata sellele, et kĂ”ik ĂŒmberringi muutub, jÀÀb kĂ”ik oma olemuselt muutumatuks. Tarkvaraarendajad kirjutavad ikka veel vigadega koodi, opsiekspedeerijad ja usaldusspetsialistid kĂ€ivad endiselt pageritega ning saavad automaatseid teateid Slackis, juhid opereerivad endiselt mĂ”istetega OpEx ja CapEx, ja iga kord, kui ilmneb rike, ohkab vanem arendaja kurvalt sĂ”nadega: „Ma ju ĂŒtlesin...“

Mis on tĂ”eliselt arutleda, nii et need on tööriistad, mida meil on vĂ”imalik kasutada, et luua kvaliteetsemaid tarkvaratooteid, ja kuidas need aitavad parandada turvalisust ning muuta arenduse lihtsamaks ja usaldusvÀÀrsemaks. Projektide keerukuse suurenemisega kaasnevad uued riskid ning tĂ€napĂ€eval sĂ”ltuvad inimeste elud nii palju tarkvarast, et arendajad peavad lihtsalt pĂŒĂŒdma oma tööd paremini teha.

Kubernetes on ĂŒks selline tööriist. Red Hat OpenShift'i raames tehakse tööd selle integreerimise nimel teiste tööriistade ja teenustega, et luua ĂŒhtne platvorm, mis muudaks tarkvara usaldusvÀÀrsemaks, haldamise lihtsamaks ja kasutajate jaoks turvalisemaks.

Nagu öeldud, kĂŒsib OpenShift'i meeskond endalt lihtsat kĂŒsimust:

Kuidas saaks Kubernetes'e kasutamist lihtsustada ja mugavamaks muuta?

Üllataval kombel on vastus ilmne:

  • automatiseerida keerulisi hetki pilves vĂ”i vĂ€ljaspool seda;
  • fookustada usaldusvÀÀrsusele, varjates samal ajal keerukust;
  • jĂ€tkata pidevat tööd lihtsate ja turvaliste uuenduste vĂ€ljalaskmisel;
  • saama kontrollitavust ja auditeeritavust;
  • pĂŒĂŒdma algusest peale pakkuda kĂ”rge turvalisuse taset, kuid mitte kasutatavuse arvelt.

JĂ€rgmine OpenShift'i versioon peab arvestama nii arendajate kui ka teiste tarkvaraarendajate kogemustega, kes rakendavad tarkvara suurel skaalal maailma suurimates ettevĂ”tetes. Samuti peab see arvestama kogu avatud ökosĂŒsteemide kogutud kogemustega, mis tĂ€napĂ€eva maailmas aluseks on. Peame loobuma varasest harjumusest, mis on seotud hobiarendajaga, ja minema ĂŒle uuele automatiseeritud tuleviku filosoofiale. See peaks olema "sild" vanade ja uute tarkvarade kasutamise viiside vahel ning tĂ€ielikult Ă€ra kasutama kogu olemasolevat infrastruktuuri – olenemata sellest, kas seda teenindab suurima pilveteenuse pakkuja vĂ”i see on ĂŒles seadistatud vĂ€ikestes servasĂŒsteemides.

Kuidas selleni jÔuda?

Red Hat'is on traditsioon kaua aega raisata igavaid ja tĂ€namatuid ĂŒlesandeid, et sĂ€ilitada vĂ€ljakujunenud kogukond ja vĂ€ltida projektide sulgemist, milles ettevĂ”te osaleb. Avatud lĂ€htekoodiga kogukonnas on suur hulk andekaid arendajaid, kes loovad erakordseid asju – meelelahutuslikke, harivaid, uusi vĂ”imalusi avavaid ja lihtsalt ilusaid. Kuid loomulikult ei oota keegi, et kĂ”ik osalejad liiguvad ĂŒhes suunas vĂ”i jĂ€rgivad ĂŒhiseid eesmĂ€rke. Selle energia kasutamine, suunamine Ă”igesse kohta on mĂ”nikord vajalik suundumuste arendamiseks, mis oleksid meie kasutajatele kasulikud, kuid samal ajal peame jĂ€lgima oma kogukondade arengut ja neist Ă”ppima.

2018. aasta alguses omandas Red Hat CoreOS projekti, millel olid sarnased vaated tulevikule – turvalisem ja usaldusvÀÀrsem, pĂ”hinev avatud lĂ€htekoodiga printsiipidel. EttevĂ”te töötas nende ideede edasise arendamise ja rakendamise nimel, jĂ€rgides meie filosoofiat – saavutada kogu tarkvara ohutu töö. KĂ”ik see töö pĂ”hineb Kubernetesel, Linuxil, avalikel ja privaatsetel pilvedel ning tuhandetel teistel projektidel, mis on meie kaasaegse digitaalökosĂŒsteemi aluseks.

Uus OpenShift 4 vÀljaanne on arusaadav, automatiseeritud ja loomulik.

OpenShift platvorm töötab parimate ja usaldusvÀÀrsete Linuxi operatsioonisĂŒsteemidega, bare-metal riistvaratoega, mugava virtualiseerimisega, infrastruktuuri automaatse programmeerimisega ja loomulikult konteineritega (mis on pĂ”himĂ”tteliselt lihtsalt Linuxi pildid).

Platvorm peab olema algusest peale turvaline, kuid samas vĂ”imaldama arendajatele mugavaid iteratsioone – see tĂ€hendab, et tal peab olema piisavalt paindlikkust ja usaldusvÀÀrsust, vĂ”imaldades samas administraatoritel auditit lĂ€bi viia ja haldamist hĂ”lbustada.

See peab vĂ”imaldama tarkvara kĂ€ivitamist „teenusena“ ning mitte viima operaatorite jaoks juhtimatu infrastruktuuri laienemiseni.

See vĂ”imaldab arendajatel keskenduda tĂ”eliste toodete loomisele kasutajatele ja klientidele. Ei pea enam lĂ€bi illustreeritud seadistuste ja tarkvara dĆŸungli lĂ€bima, kĂ”ik juhuslikud keerukused jÀÀvad minevikku.

OpenShift 4: NoOps platvorm, mis ei vaja hooldust.

V selles publikatsioonis kirjeldatud ĂŒlesanded aitasid kujundada ettevĂ”tte nĂ€gemust OpenShift 4 osas. Meeskonnal on ĂŒlesanne maksimaalselt lihtsustada igapĂ€evaste tarkvara haldamise ja hooldamise ĂŒlesannete tĂ€itmist, et need protsessid oleksid sujuvad ja muretud – nii rakendajatele kui ka arendajatele. Kuid kuidas selle eesmĂ€rgiga lĂ€heneda? Kuidas luua tarkvara kĂ€ivitamise platvorm, mis vajab minimaalset sekkumist? Mida tĂ€hendab NoOps selle konteksti jaoks?

Kui pĂŒĂŒda abstraktse mĂ”tlemise suunas liikuda, siis arendajate jaoks tĂ€hendavad mĂ”isted „serverless” vĂ”i „NoOps” tööriistu ja teenuseid, mis vĂ”imaldavad varjata „haldamise” aspekti vĂ”i minimeerida selle koormust arendajale.

  • Töötage mitte sĂŒsteemidega, vaid rakendusliideste (API) kaudu.
  • Ärge tegelege tarkvara rakendamisega – laske selle eest hoolitseda teenusepakkujatel.
  • Ära proovige kohe luua suurt raamistikku – alustage vĂ€ikeste fragmentide kirjutamisega, mis toimivad "ehitusplokkidena". PĂŒĂŒdke, et see kood töötaks andmete ja sĂŒndmustega, mitte ketaste ja andmebaasidega.

Nagu varemgi, on eesmĂ€rk kiirendada tarkvara arendamise iteratsioone, pakkuda vĂ”imalust kvaliteetsemate toodete loomiseks ning et arendaja ei peaks muretsema selle ĂŒle, millistel sĂŒsteemidel tema tarkvara kĂ€ivitub. Kogenud arendaja mĂ”istab suurepĂ€raselt, et kui keskenduda kasutajatele, vĂ”ib olukord kiiresti muutuda. SeetĂ”ttu ei tasu pĂŒhendada liiga palju aega tarkvara kirjutamisele, kui teil pole selle vajalikkuses tĂ€iesti kindlat veendumust.

Operatsioonigruppide töötajatele vĂ”ib termin "NoOps" kĂ”lada hirmutavalt. Kuid diskussioonides operatsioonitehnika inseneridega on selge, et nende kasutatavad mustrid ja tehnikad, mis on suunatud usaldusvÀÀrsuse tagamisele (Site Reliability Engineering, SRE), kattuvad suurel mÀÀral ĂŒlaltoodud mustritega:

  • Ärge haldage sĂŒsteeme – automatiseerige nende haldusprotsessid.
  • Ärge tegelege tarkvara juurutamisega – looge selle ĂŒlesseadmise töövoog.
  • Ärge pange kĂ”iki oma teenuseid kokku ja vĂ€ltige olukordi, kus ĂŒhe teenuse tĂ”rge pĂ”hjustab kogu sĂŒsteemi pealejĂ”udmise – hajutage need oma infrastruktuuri ja kasutage automatiseerimise vahendeid, et neid siduda ning tagada kontroll ja jĂ€lgimine.

SRE spetsialistid teavad, et midagi vĂ”ib valesti minna, ja nad peavad jĂ€lgima ja lahendama probleeme – seetĂ”ttu nad automatiseerivad rutiinset tööd ja mÀÀravad ette lubatud kĂ”rvalekalded (error budgets), et valmistuda prioriteetide seadmiseks ja otsustamiseks probleemide korral.

Kubernetes OpenShiftis on platvorm, mis on loodud kahe peamise ĂŒlesande tĂ€itmiseks: selle asemel, et sundida teid tegelema virtuaalmasinate vĂ”i koormuse jaotamise API-dega, töötate kĂ”rgema taseme abstraktsioonidega – rakenduste juurutamise ja teenustega. Tarkvaraliidese paigaldamise asemel saate kĂ€ivitada konteinerid ja oma jĂ€lgimisstacki loomise asemel kasutada juba platvormil olemasolevaid tööriistu. Seega, OpenShift 4 saladus ei ole tegelikult saladus – peate lihtsalt lĂ€htuma SRE pĂ”himĂ”tetest ja serverivabast kontseptsioonist ning viima need loogiliselt lĂ”pule, et aidata arendajaid ja operatiivinseneride tööd:

  • Automatiseerida ja standardiseerida infrastruktuuri, mida rakendused kasutavad
  • Siduda kokku juurutamise ja arendamise protsessid, piirates samas arendajate tegevust
  • Tagada, et sadade teenuste, funktsioonide, rakenduste vĂ”i tervikstaki kĂ€ivitamine, auditeerimine ja turvamine ei oleks keerulisem kui esimest.

Kuidas erineb OpenShift 4 platvorm oma eelkÀijatest ja "standardsetest" lÀhenemistest sarnaste probleemide lahendamiseks? Kuidas saavutatakse meeskondade jaoks, kes tegelevad juurutamise ja haldamisega, skaleerimine? Selle saavutab klaster, kes on siin peamine tegija. Nii et

  • Teeme nii, et klastrite eesmĂ€rk oleks selge (Kallis pilv, tĂ”stsime selle klastriga, sest oskasin seda teha)
  • Masinad ja operatsioonisĂŒsteemid eksisteerivad selleks, et teenida klastrit (Teie Kuninglikkus)
  • Halda hostide olekut klastrist, minimeeri nende ĂŒmberkasutamine (drift).
  • Iga sĂŒsteemi olulise elemendi jaoks on vajalik beebivalve (mehhanism), mis jĂ€lgib ja lahendab probleeme.
  • HĂ€ire *iga* sĂŒsteemi aspektis vĂ”i elemendis on taastumise mehhanismid — see on tavaline elu osa.
  • Kogu infrastruktuur peab olema konfigureeritav API kaudu.
  • Kasutage Kuberneteset Kubernetes kĂ€ivitamiseks. (Jah, see pole trĂŒkiviga)
  • Uuendused peavad olema lihtsad ja vaevatuks. Kui uuenduse installimiseks on vajalik rohkem kui ĂŒks hiireklĂ”ps, siis ilmselgelt teeme me midagi valesti.
  • Komponentide jĂ€lgimine ja tĂ”rkeotsing ei tohiks olla probleem, seega peaks kogu infrastruktuuri jĂ€lgimine ja arvestamine olema samuti lihtne ja mugav.

Kas soovite nÀha platvormi vÔimalusi praktikas?

OpenShift 4 eelversioon on arendajatele nĂŒĂŒd saadaval. Lihtsa installeri abil saab AWS-is Red Hat CoreOS-i peal klastrit kĂ€ivitada. Eelversiooni kasutamiseks on vajalik ainult AWS konto, et pakkuda infrastruktuuri ja komplekt konto jaoks, et pÀÀseda eelversioonide piltidele.

  1. Alustamiseks minge sellele lehele try.openshift.com ja klikkige "Get Started."
  2. Logige sisse oma Red Hat kontole (vÔi looge uus) ja jÀrgige juhiseid, et seadistada oma esimene klaster.

PĂ€rast edukat installimist tutvuge meie Ă”pikute materjalidega OpenShift Training, et saada pĂ”hjalik ĂŒlevaade sĂŒsteemidest ja kontseptsioonidest, mis teevad OpenShift 4 platvormi nii lihtsaks ja mugavaks tööriistaks Kubernetes'i kĂ€ivitamiseks.

Proovige uut OpenShifti versiooni ja jagage oma arvamust. Meie eesmĂ€rk on muuta Kubernetesiga toimetamine vĂ”imalikult lihtsaks ja vaevatuks – NoOps tulevik algab juba tĂ€na.

Ja nĂŒĂŒd tĂ€helepanu!
Konverentsil DevOpsFoorum 2019 20. aprillil viib OpenShifti arendaja Vadim Rutkovski lĂ€bi töötoa — purustab kĂŒmme klastrit ja paneb need parandama. Üritus on tasuline, kuid sooduskoodiga #RedHat on 37% allahindlus.

Töötuba kell 17:15 – 18:15, samas kui stend töötab kogu pĂ€eva. T-sĂ€rgid, mĂŒtsid, kleebised – nagu tavaliselt!

Saal #2
«Siin tuleb kogu sĂŒsteem muuta: parandame katki lĂ€inud k8s klastrid koos sertifitseeritud mehaanikutega.»

Allikas: habr.com

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster