Haddii kaabayaasha IT-gaagu ay si dhakhso ah u koraan, mar dhow ama hadhow waxaad wajihi doontaa doorasho: si toos ah u kordhi kheyraadka aadanaha si aad u taageerto ama u bilowdo automation. Ilaa waqti qaar ka mid ah, waxaan ku noolayn in jaantuska ugu horeysay, ka dibna waxaa bilowday dariiqa dheer ee kaabayaasha-sida-Code.
Dabcan, NSPK ma aha bilawga, laakiin jawiga noocan oo kale ah ayaa ku xukumay shirkadda sannadihii ugu horreeyay ee jiritaankeeda, kuwaas oo ahaa sannado aad u xiiso badan. Magacaygu waa
Guud ahaan, waxaan dhihi karnaa kooxdayadu waxay soo saartaa 2 badeeco shirkadda. Midda koowaad waa kaabayaasha dhaqaalaha. Boostada waa inay shaqeysaa, DNS waa inuu shaqeeyaa, koontaroolayaasha domain waa inay kuu oggolaadaan adeegayaasha aan shil ku dhicin. Muuqaalka IT-ga shirkadu waa mid weyn! Kuwani waa nidaamyada ganacsiga iyo howlgalka muhiimka ah, shuruudaha helitaanka qaarkood waa 99,999. Alaabta labaad waa server-yada laftooda, muuqaal ahaan iyo muuqaal ahaanba. Kuwa hadda jira waxay u baahan yihiin in lala socdo, kuwa cusubna waa in si joogto ah loo gaarsiiyaa macaamiisha waaxyo badan. Maqaalkan waxaan rabaa in aan diirada saaro sida aan u horumarinay kaabayaasha ka masuulka ah wareegga nolosha serverka.
Bilaabidda safarka
Bilawgii safarkayagii, kaydka tignoolajiyadayadu waxay u ekaayeen sidan:
OS CentOS 7
Xakamaynta Domain-ka ee FreeIPA
Automation - Macquul ah (+Tower), Cobbler
Waxaas oo dhami waxay ku yaalay 3 goobood, oo ku baahsan dhawr xarumood oo xogeed. Mid ka mid ah xarumaha xogta waxaa jira nidaamyo xafiisyo iyo goobo imtixaan, inta soo hartay waxaa jira PROD.
Samaynta server-yada hal mar ayaa u ekaa sidan:
Qaabka VM-ka, CentOS waa ugu yar oo waxa ugu yar ee loo baahan yahay waa sida saxda ah /etc/resolv.conf, inta soo hartay waxay ku timaadaa mid macquul ah.
CMDB - Excel.
Haddii serverku yahay mid jireed, ka dib halkii laga koobi lahaa mashiinka farsamada, OS ayaa lagu rakibay iyada oo la adeegsanayo Cobbler - cinwaanada MAC ee server-ka bartilmaameedka ah ayaa lagu daraa qaabka Cobbler, serverku wuxuu helayaa ciwaanka IP-ga DHCP, ka dibna OS-ga ayaa lagu daray.
Markii hore waxaan xitaa isku daynay inaan ku sameyno nooc ka mid ah maareynta qaabeynta gudaha Cobbler. Laakiin wakhti ka dib, tani waxay bilawday inay keento dhibaatooyin la qaadis ah oo qaabaynta labadaba xarumaha kale ee xogta iyo koodhka macquulka ah ee diyaarinta VM-yada.
Waqtigaas, qaar badan oo naga mid ah ayaa u arkayay suurtogalnimada in ay tahay kordhin ku habboon Bash oo aanaan ku dhaafin nashqadaynta iyada oo la adeegsanayo qolof iyo sed. Guud ahaan Bashsible. Tani waxay ugu dambeyntii keentay xaqiiqda ah in haddii buug-ciyaareedka sababo jira uusan ka shaqeynin server-ka, way fududahay in la tirtiro server-ka, hagaajinta buug-gacmeedka oo mar kale dib loo furo. Dhab ahaantii ma jirin nuqul qoraal ah, ma jirin wax la qaadi karo oo habayn ah.
Tusaale ahaan, waxaan rabnay inaan bedelno qaar ka mid ah qaabeynta dhammaan server-yada:
- Waxaan bedelnaa qaabeynta server-yada jira ee qaybta macquulka ah/xarunta xogta. Mararka qaarkood ma aha hal maalin gudaheed - shuruudaha gelitaanka iyo sharciga tirada badan ma ogola in dhammaan isbeddelada la isticmaalo hal mar. Isbeddellada qaarkoodna waa kuwo wax burburin kara waxayna u baahan yihiin dib-u-billow wax - laga bilaabo adeegyada ilaa OS laftiisa.
- Hagaajinta in Aansible
- Waxaan ku hagaajinaa Cobbler
- Ku celi wakhtiyada N ee qayb kasta/xarun xogeed kasta
Si dhammaan isbeddeladu u socdaan si habsami leh, waxay ahayd lagama maarmaan in la tixgeliyo arrimo badan, isbeddelkuna si joogto ah ayuu u dhacaa.
- Dib-u-soo-celinta koodka macquulka ah, faylasha qaabeynta
- Beddelidda hababka ugu wanaagsan ee gudaha
- Isbeddellada ku salaysan natiijooyinka falanqaynta shilalka/ shilalka
- Beddelidda heerarka amniga, gudaha iyo dibaddaba. Tusaale ahaan, PCI DSS waxa lagu cusboonaysiiyaa shuruudo cusub sannad kasta
Kobcinta kaabayaasha dhaqaalaha iyo bilowga safarka
Tirada server-yada / xayndaabyada macquulka ah / xarumaha xogta ayaa koray, iyo iyaga oo leh tirada khaladaadka qaabeynta. Mar mar, waxaanu nimid saddex jiho oo maamulka qaabaynta loo baahan yahay in la horumariyo:
- Automation Khaladka bini'aadamka ee hawlgallada soo noqnoqda waa in laga fogaadaa intii suurtagal ah.
- Ku celcelinta Aad bay u fududahay in la maareeyo kaabayaasha marka la saadaalin karo. Qaabeynta server-yada iyo qalabka loogu talagalay diyaarintooda waa inay isku mid noqdaan meel kasta. Tani waxay sidoo kale muhiim u tahay kooxaha wax soo saarka - ka dib imtixaanka, codsiga waa in la dammaanad qaado inuu ku dhamaanayo jawi wax soo saar oo loo qaabeeyey si la mid ah jawiga tijaabada.
- Fududnaanta iyo daah-furnaanta samaynta isbeddelka maareynta qaabeynta.
Way hadhay in lagu daro laba qalab.
Waxaan u dooranay GitLab CE sida kaydka koodkayaga, ugu yaraan qaybaha CI/CD ee ku dhex dhisan.
Kaydka siraha - Hashicorp Vault, oo ay ku jiraan. API weyn.
Tijaabada qaabaynta iyo doorarka macquulka ah - Molecule+Testinfra. Tijaabooyinku aad bay u dhaqso badan yihiin haddii aad ku xidho mitogen la awoodi karo. Isla mar ahaantaana, waxaan bilownay inaan qorno CMDB noo gaar ah iyo orchestertor si toos ah loo geeyo (sawirka kore ee Cobbler), laakiin tani waa sheeko gabi ahaanba ka duwan, taas oo saaxiibkay iyo horumarinta ugu weyn ee nidaamyadan ay sheegi doonaan mustaqbalka.
Doorashadayada:
Molecule + Testinfra
Macquul ah + Tower + AWX
World of Servers + DITNET (horumar gaar ah)
Kabare
Gitlab + GitLab orodyahan
Hal qayb oo ka mid ah Hashicorp Vault
By habka, ku saabsan doorarka macquulka ah. Markii hore waxaa jiray hal kaliya, laakiin dhowr dib-u-habeyn ka dib waxaa jiray 17 ka mid ah. Waxaan si adag ugu talinayaa in la jebiyo monolith doorarka awoodda leh, taas oo markaa si gaar ah loo bilaabi karo; Intaa waxaa dheer, waxaad ku dari kartaa tags. Doorarka waxaan u qaybinay hawlkarnimo - shabakad, qorid, xirmo, qalab, molecule iwm. Guud ahaan, waxaan raacnay xeeladda hoose. Kuma adkaysanayo in tani ay tahay runta kaliya, laakiin way noo shaqeysay.
- Ka koobiyeynta server-yada "sawirka dahabiga ah" waa shar!Khasaaraha ugu weyni waa inaadan si sax ah u garanayn gobolka sawiradu hadda, iyo in dhammaan isbeddelada ay ku iman doonaan dhammaan sawirada dhammaan beeraha farsamada.
- Isticmaal faylalka qaabeynta caadiga ah ugu yaraan oo ku raac waaxyada kale inaad mas'uul ka tahay faylasha nidaamka guud, tusaale ahaan:
- Ka tag /etc/sysctl.conf maran, habayntu waa inay ku jiraan kaliya /etc/sysctl.d/. Kalsoonidaada hal fayl, caadada u ah codsiga mid kale.
- Isticmaal faylasha la tirtiro si aad u saxdo unugyada habaysan.
- Samee dhammaan qaab-dhismeedka oo ku dar gebi ahaan; haddii ay suurtagal tahay, ma jiraan sed ama analogues-yada ku jira buugaagta ciyaarta
- Dib-u-habaynta koodhka nidaamka maaraynta qaabaynta:
- U kala qaybso hawlaha oo u kala qaybso qaybo macquul ah oo dib ugu qor monolith door
- Isticmaal xargaha! Maangal-lint, yaml-lint, iwm
- Beddel habkaaga! Ma jiro wax bash-bash ah. Waa lagama maarmaan in la qeexo xaaladda nidaamka
- Dhammaan doorarka macquulka ah waxaad u baahan tahay inaad ku qorto imtixaanada molecule oo aad soo saarto warbixino hal mar maalintii.
- Xaaladeena, ka dib diyaarinta imtixaanada (kuwaas oo ay jiraan in ka badan 100), qiyaastii 70000 qalad ayaa la helay. Waxay qaadatay dhowr bilood in la hagaajiyo.
Hirgelinteena
Sidaa darteed, doorarka macquulka ah waxay ahaayeen diyaar, qaabeeyey oo lagu hubiyay linters. Iyo xitaa gits meel walba waa la kiciyaa. Laakiin su'aasha ah bixinta koodhka lagu kalsoonaan karo ee qaybaha kala duwan ayaa weli furan. Waxa aanu go'aansanay in aanu la midayno qoraalada. Waxay u egtahay sidan:
Ka dib marka isbeddelku yimaado, CI waa la bilaabay, adeegaha tijaabada ayaa la abuuray, doorarka ayaa la soo saaray, oo lagu tijaabiyay molecule. Haddii wax walba ay hagaagsan yihiin, koodka wuxuu tagayaa laanta prod. Laakiin kuma dabaqno kood cusub server-yada ka jira mishiinka. Tani waa nooc ka mid ah joojinta lagama maarmaanka u ah helitaanka sare ee nidaamyadayaga. Marka kaabayaasha dhaqaalaha ay noqdaan kuwo weyn, sharciga tirada badan ayaa soo galaya - xitaa haddii aad hubto in isbeddelku aanu waxyeello lahayn, waxay keeni kartaa cawaaqib xun.
Waxa kale oo jira fursado badan oo lagu abuurayo server. Waxaan ku soo afjarnay doorashada qoraallada Python ee caadada u ah. Iyo CI macquul ah:
- name: create1.yml - Create a VM from a template
vmware_guest:
hostname: "{{datacenter}}".domain.ru
username: "{{ username_vc }}"
password: "{{ password_vc }}"
validate_certs: no
cluster: "{{cluster}}"
datacenter: "{{datacenter}}"
name: "{{ name }}"
state: poweredon
folder: "/{{folder}}"
template: "{{template}}"
customization:
hostname: "{{ name }}"
domain: domain.ru
dns_servers:
- "{{ ipa1_dns }}"
- "{{ ipa2_dns }}"
networks:
- name: "{{ network }}"
type: static
ip: "{{ip}}"
netmask: "{{netmask}}"
gateway: "{{gateway}}"
wake_on_lan: True
start_connected: True
allow_guest_control: True
wait_for_ip_address: yes
disk:
- size_gb: 1
type: thin
datastore: "{{datastore}}"
- size_gb: 20
type: thin
datastore: "{{datastore}}"
Tani waa waxa aan u nimid, nidaamku wuxuu sii wadaa inuu noolaado oo horumariyo.
- 17 Doorarka macquulka ah ee dejinta serverka. Mid kasta oo ka mid ah doorarka waxaa loo qaabeeyey in lagu xalliyo hawl macquul ah oo gooni ah (qorista, xisaabinta, oggolaanshaha isticmaalaha, la socodka, iwm.).
- Tijaabada doorka Molecule + TestInfra.
- Horumarinta u gaar ah: CMDB + Orchestrator.
- Waqtiga abuurista adeegaha waa ~ 30 daqiiqo, iswada oo si toos ah uga madax banaan safka hawsha.
- Isla gobolka/magacaabidda kaabayaasha ee dhammaan qaybaha --buugaag-ciyaaraha, kaydinta, canaasiyha abuurista.
- Hubinta maalinlaha ah ee heerka server-ka iyada oo la adeegsanayo abuurista warbixinno ku saabsan khilaafaadyada heerka
Waxaan rajeynayaa in sheekadeyda ay faa'iido u yeelan doonto kuwa ku jira bilowga safarkooda. Waa maxay kaydka otomaatiga ah ee aad isticmaasho?
Source: www.habr.com