Soo jiidasho leh oo ku saabsan dejinta server-yada iyada oo aan mucjisooyin lahayn Maareynta Isku xidhka

Waxaa soo dhawaaday sanadka cusub. Carruurta dalka oo dhan waxay horey u soo direen waraaqo Santa Claus ama waxay sameeyeen hadiyado naftooda, iyo fulintooda ugu weyn, mid ka mid ah dukaamada waaweyn, ayaa isu diyaarinayay iibka iibka. Bishii Disembar, culeyska ku jira xaruntiisa xogta ayaa kordha dhowr jeer. Sidaa darteed, shirkadu waxay go'aansatay inay casriyeyso xarunta xogta, waxayna gelisay dhowr iyo toban server oo cusub halkii ay ka isticmaali lahayd qalabkii sii dhammaanaya ee adeegeeda. Tani waxay soo gabagabaynaysaa sheekadii ka soo horjeeday gadaasha barafka wareegaya, iyo xamaasaduhu wuu bilaabmayaa.

Soo jiidasho leh oo ku saabsan dejinta server-yada iyada oo aan mucjisooyin lahayn Maareynta Isku xidhka
Qalabku waxa uu goobta yimid dhawr bilood ka hor inta aan la iibin ugu badnaan. Adeegga hawlgallada, dabcan, wuu garanayaa sida iyo waxa loo habeeyo server-yada si loogu keeno deegaanka wax soo saarka. Laakiin waxaan u baahneyn in aan tan si otomaatig ah u sameyno oo aan meesha ka saarno qodobka aadanaha. Intaa waxaa dheer, adeegayaasha ayaa la bedelay ka hor inta aan la guurin nidaamka SAP ee muhiimka u ah shirkadda.

Hawlgelinta server-yada cusub ayaa si adag loogu xidhay waqti kama dambays ah. Dhaqdhaqaaqa waxay la macno tahay in ay halis gelinayso shixnadaha bilyan ee hadyado ah iyo socdaalka nidaamyada. Xitaa koox ka kooban Aabbaha Frost iyo Santa Claus ma beddeli karaan taariikhda - waxaad ku wareejin kartaa nidaamka SAP ee maamulka bakhaarka hal mar sannadkii. Laga bilaabo Diisambar 31 ilaa Janaayo 1, bakhaarrada waaweyn ee tafaariiqda, wadarta cabbirka 20 garoon kubbadda cagta, waxay joojiyaan shaqadooda 15 saacadood. Waxayna tani tahay wakhtiga kaliya ee loo guurayo nidaamka. Meel qalad ah uma hayno markii aanu soo bandhignay adeegayaasha.

Aan caddeeyo: sheekadeyda waxay ka tarjumaysaa qalabka iyo habka maamulka qaabeynta ee kooxdeena adeegsato.

Dhismaha maamulka qaabeynta wuxuu ka kooban yahay heerar kala duwan. Qaybta muhiimka ah waa nidaamka CMS. Hawlgalka warshadaha, maqnaanshaha mid ka mid ah heerarka ayaa si lama filaan ah u horseedaya mucjisooyin aan fiicneyn.

Maamulka rakibaadda OS

Heerka koowaad waa nidaam lagu maamulayo rakibidda nidaamyada hawlgalka ee server-yada jireed iyo kuwa casriga ah. Waxay abuurtaa qaabaynta OS aasaasiga ah, baabi'inta qodobka aadanaha.

Isticmaalka nidaamkan, waxaan helnay tusaalooyin server caadi ah oo leh OS ku habboon automation dheeraad ah. Intii lagu guda jiray "shubashada" waxay heleen ugu yaraan isticmaalayaasha maxalliga ah iyo furayaasha SSH dadweynaha, iyo sidoo kale qaabeynta OS joogto ah. Waxaa naloo dammaanad qaadi karaa inaan ku maamulno server-yada CMS-da waxaanan hubinnay inaysan jirin wax la yaab leh "hoos ka hooseeya" heerka OS.

Hawsha "ugu badan" ee nidaamka maaraynta rakibidda waa in si toos ah loo habeeyo server-yada laga bilaabo heerka BIOS/Firmware ilaa OS. Inta badan halkan waxay ku xiran tahay qalabka iyo hawlaha dejinta. Qalabka kala duwan, waxaad tixgelin kartaa REDFISH API. Haddii dhammaan qalabku ka yimid hal iibiye, markaa inta badan way ku habboon tahay in la isticmaalo qalab maarayn oo diyaar ah (tusaale, HP ILO Amplifier, DELL OpenManage, iwm.).

Si loo rakibo OS-ka server-yada jireed, waxaan isticmaalnay Cobbler-ka caanka ah, kaas oo qeexaya qaab-dhismeedka rakibaadda ee lagu heshiiyey adeegga hawlgalka. Marka lagu daro server cusub kaabayaasha, injineerku wuxuu xidhay cinwaanka MAC ee server-ka astaanta loo baahan yahay ee Cobbler. Markii ugu horreysay ee shabakadda laga soo saaro, server-ku wuxuu helay cinwaan ku meel gaar ah iyo OS cusub. Kadibna waxaa loo wareejiyay ciwaanka VLAN/IP ee bartilmaameedka ahaa oo halkaas ka sii waday shaqada. Haa, bedelida VLAN waxay qaadataa wakhti waxayna u baahan tahay iskudubarid, laakiin waxay bixisaa ilaalin dheeraad ah oo ku saabsan rakibaadda shilalka ee server-ka ee deegaanka wax soo saarka.

Waxaan abuurnay adeegayaal macmal ah oo ku saleysan qaab-dhismeedka la diyaariyay iyadoo la adeegsanayo HashiCorp Packer. Sababtu waxay ahayd isku mid: si looga hortago khaladaadka suurtagalka ah ee aadanaha marka la rakibayo OS. Laakiin, si ka duwan server-yada jireed, Packer wuxuu meesha ka saarayaa baahida PXE, bootinta shabakada, iyo isbeddelada VLAN. Tani waxay fududaysay oo ay fududaysay in la abuuro server-yada casriga ah.

Soo jiidasho leh oo ku saabsan dejinta server-yada iyada oo aan mucjisooyin lahayn Maareynta Isku xidhka
Bariis 1. Maareynta rakibidda nidaamyada hawlgalka.

Maareynta siraha

Nidaam kasta oo maareynta qaabeynta wuxuu ka kooban yahay xog ay tahay in laga qariyo isticmaalayaasha caadiga ah, laakiin loo baahan yahay si loo diyaariyo nidaamyada. Kuwani waa ereyada sirta ah ee isticmaalayaasha maxalliga ah iyo xisaabaadka adeegga, furayaasha shahaadada, calaamado API oo kala duwan, iwm. Waxa badanaa loo yaqaan "sirta".

Haddii aadan bilowgii hore go'aamin meesha iyo sida loo kaydiyo sirahan, markaa, iyadoo ku xiran darnaanta shuruudaha amniga macluumaadka, hababka kaydinta soo socda waxay u badan tahay:

  • si toos ah koodhka xakamaynta qaabeynta ama faylasha ku jira kaydka;
  • qalabka maaraynta qaabeynta gaarka ah (tusaale ahaan, Vault Ansible);
  • nidaamyada CI/CD (Jenkins/TeamCity/GitLab/iwm)
  • siraha sidoo kale waxaa lagu wareejin karaa "gacan". Tusaale ahaan, waxaa lagu dhejiyay meel cayiman, ka dibna waxaa loo adeegsadaa hababka maaraynta qaabeynta;
  • isku darka kala duwan ee kor ku xusan.

Habka kastaa wuxuu leeyahay faa'iidooyin u gaar ah. Midda ugu weyn waa siyaasad la'aanta helitaanka siraha: waa wax aan suurtagal ahayn ama adag tahay in la go'aamiyo cidda isticmaali karta siraha qaarkood. Khasaaraha kale waa la'aanta hanti-dhawrka helitaanka iyo wareegga nolosha oo buuxa. Sidee si dhakhso ah loogu beddelaa, tusaale ahaan, furaha dadweynaha ee ku qoran koodka iyo dhawr hab oo la xidhiidha?

Waxaan isticmaalnay kaydinta sirta dhexe ee HashiCorp Vault. Tani waxay noo ogolaatay:

  • sirta u ilaali. Way qarsoon yihiin, xitaa haddii qof uu galo xogta Vault (tusaale, dib u soo celinta kaydka), ma awoodi doonaan inay akhriyaan siraha halkaas ku kaydsan;
  • abaabul siyaasado lagu galo siraha. Kaliya siraha "loo qoondeeyey" iyaga ayaa diyaar u ah isticmaalayaasha iyo codsiyada;
  • hantidhawrka helitaanka siraha. Ficil kasta oo sir leh waxaa lagu diiwaan geliyay diiwaanka hanti dhowrka Vault;
  • abaabul "wareeg nololeed" buuxda oo ka shaqaynta siraha. Waa la abuuri karaa, la burin karaa, la samayn karaa taariikhda dhicitaanka, iwm.
  • fududahay in lagu dhex daro nidaamyada kale ee u baahan helitaanka siraha;
  • iyo sidoo kale adeegso sirta dhamaadka-ilaa-dhamaadka, ereyada sirta ah ee hal mar ah ee OS iyo database, shahaadooyinka xarumaha idman, iwm.

Hadda aan u gudubno habka dhexe ee xaqiijinta iyo oggolaanshaha. Way suurtogal ahayd in la'aanteed la sameeyo, laakiin maamulida isticmaalayaasha nidaamyo badan oo la xidhiidha waa wax aan sahlanayn. Waxa aanu ku habbaynay xaqiijinta iyo ogolaanshaha adeega LDAP Haddii kale, Vault waa inuu si joogto ah u soo saaraa oo uu ula socdaa calaamadaha aqoonsiga isticmaalayaasha. Iyo tirtirida iyo ku darista isticmaalayaasha waxay isu rogi doontaa raadinta "miyaan sameeyay/ma tirtiray akoonkan isticmaale meel walba?"

Waxaan ku darnaa heer kale nidaamkayaga: maaraynta siraha iyo xaqiijinta/oggolaanshaha dhexe:

Soo jiidasho leh oo ku saabsan dejinta server-yada iyada oo aan mucjisooyin lahayn Maareynta Isku xidhka
Bariis 2. Maamulka siraha.

Maamulka habaynta

Waxaan helnay xudunta - nidaamka CMS. Xaaladeena, tani waa isku darka AWX macquul ah iyo koofiyadda cas.

Halkii laga heli lahaa Macquul, Chef, Puppet, SaltStack waa la isticmaali karaa. Waxaan ku dooranay macquul dhowr shuruudood.

  • Marka hore, waa kala duwanaansho. Qayb ka mid ah cutubyada diyaarsan ee xakamaynta samaynaysaa aragti. Oo haddii aadan haysan wax kugu filan, waxaad ka raadin kartaa GitHub iyo Galaxy.
  • Marka labaad, looma baahna in lagu rakibo oo lagu taageero wakiilada qalabka la maamulay, caddeeyo inaysan faragelin culeyska, oo xaqiiji maqnaanshaha "bookmarks".
  • Marka saddexaad, Ansible waxa uu leeyahay caqabad hoose oo gelitaanka. Injineer karti u leh ayaa qori doona buug-ciyaareed shaqeynaya macno ahaan maalinta ugu horreysa ee la shaqaynta alaabta.

Laakin Suurtagal kaligii deegaan wax soo saar naguma filna. Haddii kale, dhibaatooyin badan ayaa ka dhalan doona xaddididda gelitaanka iyo xisaabinta tallaabooyinka maamulayaasha. Sidee loo xaddidaa gelitaanka? Ka dib oo dhan, waxay ahayd lagama maarmaan in waax kastaa ay maamusho (akhri: socodsiiso buug-ciyaareedka macquulka ah) "server" iyada u gaar ah. Sidee loogu oggolaadaa shaqaalaha qaarkood inay maamulaan buugaag-ciyaareed gaar ah oo macquul ah? Ama sida loo raad raaco cidda soo saartay buug-ciyaareedka iyada oo aan la dejin aqoon badan oo maxalli ah oo ku saabsan server-yada iyo qalabka ku shaqeeya Ansible?

Qaybta libaax ee arrimahan oo kale waxa lagu xalliyaa Koofiyad Cas Tower macquul ah, ama mashruuciisa isha furan ee kor u kaca AWX macquul ah. Taasi waa sababta aan u doorbidnay macaamiisha.

Iyo hal taabasho kale oo ku saabsan sawirka nidaamkayaga CMS. Buuga-ciyaaraha macquulka ah waa in lagu kaydiyaa hababka maamulka kaydinta koodka. Waanu haynaa GitLab CE.

Marka, qaabaynta laftooda waxaa maamula isku darka AWX/GitLab macquul ah/ macquul ah (eeg sawirka 3). Dabcan, AWX/GitLab waxaa lagu dhex daray hal nidaam oo xaqiijin ah, iyo buug-ciyaareedka macquulka ah waxaa lagu dhex daray HashiCorp Vault. Habayntu waxay gelisaa jawiga wax soo saarka oo keliya iyada oo loo marayo AWX macquul ah, kaas oo dhammaan "xeerarka ciyaarta" lagu qeexay: yaa habeyn kara waxa, halka laga helayo koodhka maaraynta qaabeynta ee CMS, iwm.

Soo jiidasho leh oo ku saabsan dejinta server-yada iyada oo aan mucjisooyin lahayn Maareynta Isku xidhka
Bariis 3. Maamulka habaynta.

Maamulka tijaabada

Habaynteena waxaa lagu soo bandhigay qaab kood ah. Sidaa darteed, waxaa nalagu qasbay inaan ku ciyaarno xeerar la mid ah kuwa soo saarayaasha software. Waxaan u baahanahay inaan abaabulno hababka horumarinta, tijaabinta joogtada ah, gaarsiinta iyo codsiga koodhka qaabeynta ee server-yada wax soo saarka.

Haddii tan aan si dhakhso ah loo samayn, markaa doorarka loo qoray qaabaynta waxay joojinayaan in la taageero oo wax laga beddelo, ama waxay joojinayaan in la bilaabo wax soo saarka. Daawaynta xanuunkan waa la yaqaan, waxayna isku caddeeyeen mashruucan:

  • door kasta waxaa daboolaya imtixaanada cutubka;
  • imtixaanada si toos ah ayaa loo maamulaa mar kasta oo uu jiro isbeddel ku yimaada koodka maamula habaynta;
  • isbeddelada koodhka maaraynta qaabeynta ayaa lagu sii daayaa jawiga wax soo saarka kaliya ka dib markii si guul leh looga gudbo dhammaan imtixaanada iyo dib u eegista code.

Horumarinta koodhka iyo maaraynta qaabaynta waxay noqdeen kuwo deggan oo la saadaalin karo. Si loo abaabulo imtixaan joogto ah, waxaanu isticmaalnay qalabka GitLab CI/CD, oo aanu qaadnay Molecule macquul ah.

Mar kasta oo uu isbeddel ku yimaado koodhka maaraynta qaabeynta, GitLab CI/CD waxay wacdaa Molecule:

  • waxay hubisaa syntax code,
  • waxay kicisaa weelka Docker,
  • codsada koodka la bedelay weelka la sameeyay,
  • wuxuu hubiyaa doorka idempotency wuxuuna sameeyaa imtixaanada koodkan (weynaanta halkan waa heerka doorka macquulka ah, fiiri sawirka 4).

Waxaanu u gudbinay qaabaynta deegaanka wax soo saarka anagoo adeegsanayna AWX macquul ah. Injineerada hawlgallada waxay ku dabaqeen isbeddellada qaabeynta iyagoo adeegsanaya qaabab hore loo qeexay. AWX waxay si madax banaan u "codsatay" nooca ugu dambeeyay ee koodka laanta sare ee GitLab mar kasta oo la isticmaalo. Sidan ayaanu uga reebnay isticmaalka koodka aan la tijaabin ama duugoobay ee deegaanka wax soo saarka. Dabiici ahaan, koodhka ayaa galay laanta sayidka kaliya ka dib tijaabinta, dib u eegista iyo ansixinta.

Soo jiidasho leh oo ku saabsan dejinta server-yada iyada oo aan mucjisooyin lahayn Maareynta Isku xidhka
Bariis 4. Tijaabada tooska ah ee doorarka GitLab CI/CD.

Waxa kale oo jira dhibaato la xidhiidha hawlgalka hababka wax soo saarka. Nolosha dhabta ah, aad ayay u adag tahay in isbedel qaabeynta lagu sameeyo iyada oo loo marayo code CMS oo keliya. Xaalado degdeg ah ayaa soo ifbaxaya marka injineerku ay tahay inuu beddelo qaabeynta "halkan iyo hadda", iyada oo aan la sugin tafatirka koodka, tijaabinta, oggolaanshaha, iwm.

Natiijo ahaan, isbeddellada gacanta awgeed, khilaafaadku wuxuu ka muuqdaa qaabeynta isla nooca qalabka (tusaale ahaan, goobaha sysctl ayaa si kala duwan loogu habeeyey qanjidhada kooxda HA). Ama qaabka dhabta ah ee qalabku wuu ka duwan yahay kan lagu sheegay code CMS.

Sidaa darteed, marka lagu daro tijaabinta joogtada ah, waxaan hubineynaa jawiga wax soo saarka ee kala duwanaanshaha qaabeynta. Waxaan dooranay ikhtiyaarka ugu fudud: ku shaqeynta koodhka qaabeynta CMS ee qaabka "orod qallalan", taas oo ah, iyada oo aan la isticmaalin isbeddello, laakiin ogeysiis dhammaan khilaafyada u dhexeeya qaabeynta la qorsheeyay iyo dhabta ah. Waxaan hirgalinay tan annagoo si joogto ah u wadnay dhammaan buugaagta ciyaarta ee macquulka ah oo wata ikhtiyaarka "-check" ee server-yada wax soo saarka. Sida had iyo jeerba, AWX Aansible ayaa mas'uul ka ah soo saarista iyo haynta buug-ciyaareedka cusub (eeg sawirka 5):

Soo jiidasho leh oo ku saabsan dejinta server-yada iyada oo aan mucjisooyin lahayn Maareynta Isku xidhka
Bariis 5. Hubi farqiga qaabeynta ee AWX macquul ah.

Jeegaga ka dib, AWX waxay u dirtaa warbixin is khilaafsan maamulayaasha. Waxay baranayaan qaabeynta dhibka leh ka dibna waxay ku hagaajiyaan buugta ciyaaraha ee la hagaajiyay. Tani waa sida aan u ilaalino qaabeynta jawiga wax soo saarka iyo CMS had iyo jeer waa la cusbooneysiiyaa oo la mideeyaa. Tani waxay meesha ka saaraysaa "mucjisooyinka" aan fiicnayn marka code CMS loo isticmaalo server-yada "wax soo saarka".

Waxaan hadda haysanaa lakab tijaabo ah oo muhiim ah oo ka kooban AWX/GitLab/Molecule macquul ah (Jaantuska 6).

Soo jiidasho leh oo ku saabsan dejinta server-yada iyada oo aan mucjisooyin lahayn Maareynta Isku xidhka
Bariis 6. Maamulka Imtixaanka.

adag tahay? Kuma doodo. Laakiin sida isku dhafan ee maaraynta qaabaynta ayaa noqotay jawaab dhamaystiran su'aalo badan oo la xidhiidha automation-ka qaabeynta server-ka. Hadda adeegayaasha caadiga ah ee tafaariiqda had iyo jeer waxay leeyihiin qaabayn si adag loo qeexay. CMS, oo ka duwan injineer, ma ilaawi doonto inay ku darto goobaha lagama maarmaanka ah, abuurto isticmaalayaasha oo ay qabato daraasiin ama boqolaal goobood oo loo baahan yahay.

Ma jirto "aqoon sir ah" oo ku jira goobaha server-yada iyo deegaanka maanta. Dhammaan sifooyinka lagama maarmaanka ah ayaa ka muuqda buugga ciyaarta. Ma jiro hal-abuur dambe iyo tilmaamo aan caddayn:Ku rakib sida Oracle caadiga ah, laakiin waxaad u baahan tahay inaad qeexdo dhowr sysctl oo aad ku darto isticmaalayaasha UID-da loo baahan yahay. Weydii ragga hawlgalka ku jira, way garanayaan".

Awoodda lagu ogaanayo khilaafyada qaabeynta oo loo saxo si firfircooni waxay bixisaa xasilloonida maskaxda. La'aanteed nidaamka maareynta qaabeynta, tani badanaa waxay u egtahay mid ka duwan. Dhibaatooyinku waxay soo ururaan ilaa hal maalin ay "toogtaan" wax soo saarka. Kadibna xog-waraysi ayaa la sameeyaa, qaabaynta ayaa la hubiyaa oo la saxayaa. Oo wareeggu soo noqnoqda mar kale

Dabcan, waxaan dardargelinay bilaabista server-yada oo shaqeynaya dhowr maalmood ilaa saacado.

Hagaag, Habeenka Sannadka Cusub laftiisa, markii carruurtu ay si farxad leh u furfurayaan hadiyadaha iyo dadka waaweyni waxay samaynayaan rabitaanka sida shooga u dhacay, injineeradayadu waxay u haajireen nidaamka SAP si ay u noqdaan adeegayaal cusub. Xitaa Santa Claus ayaa sheegi doona in mucjisooyinka ugu fiican ay yihiin kuwa si fiican loo diyaariyey.

PS Kooxdayadu waxay inta badan la kulmaan xaqiiqda ah in macaamiishu ay rabaan inay xalliyaan dhibaatooyinka maareynta qaabeynta sida ugu fudud ee suurtogalka ah. Fikrad ahaan, sida haddii sixir - oo leh hal qalab. Laakiin nolosha wax walbaa aad ayey u dhib badan yihiin (haa, rasaasta qalinka ah mar kale lama keenin): waa inaad abuurtaa nidaam dhan adoo isticmaalaya qalab ku habboon kooxda macaamiisha.

Qore: Sergey Artemov, naqshadeeye waaxda DevOps xalalka "Jet Infosystems"

Source: www.habr.com

Add a comment