Asaragaga nipa siseto awọn olupin laisi awọn iṣẹ iyanu pẹlu Isakoso iṣeto ni

Odun Titun n sunmọ. Awọn ọmọde ni gbogbo orilẹ-ede ti tẹlẹ ti fi awọn lẹta ranṣẹ si Santa Claus tabi ṣe awọn ẹbun fun ara wọn, ati pe oluṣakoso akọkọ wọn, ọkan ninu awọn alagbata pataki, ngbaradi fun apotheosis ti awọn tita. Ni Oṣu Kejìlá, fifuye lori ile-iṣẹ data rẹ pọ si ni igba pupọ. Nitorinaa, ile-iṣẹ pinnu lati ṣe imudojuiwọn ile-iṣẹ data ati fi si iṣẹ ọpọlọpọ awọn olupin tuntun mejila dipo ohun elo ti o de opin igbesi aye iṣẹ rẹ. Eyi dopin itan naa lodi si ẹhin ti awọn didan yinyin, ati asaragaga bẹrẹ.

Asaragaga nipa siseto awọn olupin laisi awọn iṣẹ iyanu pẹlu Isakoso iṣeto ni
Awọn ohun elo ti de ni aaye ni ọpọlọpọ awọn osu ṣaaju ki o to tente oke ti tita. Iṣẹ iṣẹ, nitorinaa, mọ bii ati kini lati tunto lori awọn olupin lati mu wọn wa si agbegbe iṣelọpọ. Ṣugbọn a nilo lati ṣe adaṣe eyi ati imukuro ifosiwewe eniyan. Ni afikun, awọn olupin ti rọpo ṣaaju iṣipopada ti ṣeto ti awọn eto SAP ti o ṣe pataki fun ile-iṣẹ naa.

Ifisilẹ ti awọn olupin titun ti so ni muna si akoko ipari kan. Ati gbigbe rẹ tumọ si jijẹ mejeeji gbigbe ti awọn ẹbun bilionu kan ati iṣipopada awọn eto. Paapaa ẹgbẹ kan ti o ni Baba Frost ati Santa Claus ko le yi ọjọ pada - o le gbe eto SAP fun iṣakoso ile-itaja lẹẹkan ni ọdun kan. Lati Oṣu kejila ọjọ 31 si Oṣu Kini Ọjọ 1, awọn ile itaja nla ti alagbata, lapapọ iwọn awọn aaye bọọlu 20, da iṣẹ wọn duro fun awọn wakati 15. Ati pe eyi ni akoko nikan fun gbigbe eto naa. A ko ni aaye fun aṣiṣe nigba ti n ṣafihan awọn olupin.

Jẹ ki n ṣe kedere: itan mi ṣe afihan awọn irinṣẹ ati ilana iṣakoso iṣeto ti ẹgbẹ wa nlo.

eka iṣakoso iṣeto ni awọn ipele pupọ. Koko paati ni CMS eto. Ninu iṣẹ ile-iṣẹ, isansa ti ọkan ninu awọn ipele yoo ja si awọn iṣẹ iyanu ti ko dun.

OS fifi sori isakoso

Ipele akọkọ jẹ eto fun iṣakoso fifi sori ẹrọ ti awọn ọna ṣiṣe lori awọn olupin ti ara ati foju. O ṣẹda awọn atunto OS ipilẹ, imukuro ifosiwewe eniyan.

Lilo eto yii, a gba awọn apẹẹrẹ olupin boṣewa pẹlu OS ti o dara fun adaṣe siwaju. Lakoko “fifun” wọn gba eto ti o kere ju ti awọn olumulo agbegbe ati awọn bọtini SSH ti gbogbo eniyan, bakanna bi iṣeto OS deede. A le ṣe iṣeduro lati ṣakoso awọn olupin nipasẹ CMS ati ni idaniloju pe ko si awọn iyanilẹnu "isalẹ isalẹ" ni ipele OS.

Iṣẹ-ṣiṣe "o pọju" fun eto iṣakoso fifi sori ẹrọ ni lati tunto awọn olupin laifọwọyi lati ipele BIOS/Famuwia si OS. Pupọ nibi da lori ohun elo ati awọn iṣẹ ṣiṣe iṣeto. Fun awọn ohun elo orisirisi, o le ronu TUNTUN API. Ti gbogbo ohun elo ba wa lati ọdọ olutaja kan, lẹhinna o rọrun nigbagbogbo lati lo awọn irinṣẹ iṣakoso ti a ti ṣetan (fun apẹẹrẹ, HP ILO Amplifier, DELL OpenManage, bbl).

Lati fi OS sori ẹrọ lori awọn olupin ti ara, a lo Cobbler ti a mọ daradara, eyiti o ṣe asọye ṣeto ti awọn profaili fifi sori ẹrọ ti o gba pẹlu iṣẹ iṣẹ. Nigbati o ba n ṣafikun olupin tuntun si awọn amayederun, ẹlẹrọ naa so adiresi MAC olupin naa mọ profaili ti o nilo ni Cobbler. Nigbati o ba bẹrẹ lori nẹtiwọọki fun igba akọkọ, olupin naa gba adirẹsi igba diẹ ati OS tuntun kan. Lẹhinna o gbe lọ si ibi-afẹde VLAN/IP ti n sọrọ ati tẹsiwaju iṣẹ nibẹ. Bẹẹni, iyipada VLAN gba akoko ati nilo isọdọkan, ṣugbọn o pese aabo ni afikun si fifi sori ẹrọ lairotẹlẹ ti olupin ni agbegbe iṣelọpọ kan.

A ṣẹda awọn olupin foju da lori awọn awoṣe ti a pese sile nipa lilo HashiCorp Packer. Idi naa jẹ kanna: lati ṣe idiwọ awọn aṣiṣe eniyan ti o ṣeeṣe nigbati o ba fi OS sori ẹrọ. Ṣugbọn, laisi awọn olupin ti ara, Packer yọkuro iwulo fun PXE, booting nẹtiwọki, ati awọn ayipada VLAN. Eyi ti jẹ ki o rọrun ati rọrun lati ṣẹda awọn olupin foju.

Asaragaga nipa siseto awọn olupin laisi awọn iṣẹ iyanu pẹlu Isakoso iṣeto ni
Iresi. 1. Ṣiṣakoso fifi sori ẹrọ ti awọn ọna ṣiṣe.

Ṣiṣakoṣo awọn asiri

Eto iṣakoso iṣeto eyikeyi ni data ti o yẹ ki o farapamọ lati ọdọ awọn olumulo lasan, ṣugbọn o nilo lati ṣeto awọn eto. Iwọnyi jẹ awọn ọrọ igbaniwọle fun awọn olumulo agbegbe ati awọn akọọlẹ iṣẹ, awọn bọtini ijẹrisi, ọpọlọpọ Awọn ami API, ati bẹbẹ lọ. Wọn maa n pe ni “awọn aṣiri.”

Ti o ko ba pinnu lati ibẹrẹ akọkọ nibiti ati bii o ṣe le tọju awọn aṣiri wọnyi, lẹhinna, da lori iduroṣinṣin ti awọn ibeere aabo alaye, awọn ọna ipamọ atẹle le ṣee ṣe:

  • taara ni koodu iṣakoso iṣeto ni tabi ni awọn faili ni ibi ipamọ;
  • ni awọn irinṣẹ iṣakoso iṣeto ni amọja (fun apẹẹrẹ, Ifinkan Ansible);
  • ni CI / CD awọn ọna šiše (Jenkins / TeamCity / GitLab / ati be be lo) tabi ni iṣeto ni isakoso awọn ọna šiše (Ansible Tower / Ansible AWX);
  • awọn asiri le tun ti wa ni ti o ti gbe "pẹlu ọwọ". Fun apẹẹrẹ, wọn ti gbe jade ni ipo kan pato, lẹhinna wọn lo nipasẹ awọn eto iṣakoso iṣeto;
  • orisirisi awọn akojọpọ ti awọn loke.

Ọna kọọkan ni awọn alailanfani tirẹ. Ohun akọkọ ni aini awọn eto imulo fun iraye si awọn aṣiri: ko ṣee ṣe tabi nira lati pinnu tani o le lo awọn aṣiri kan. Alailanfani miiran ni aini iṣatunwo iwọle ati igbesi aye kikun. Bii o ṣe le yara rọpo, fun apẹẹrẹ, bọtini gbangba ti a kọ sinu koodu ati ni nọmba awọn eto ti o jọmọ?

A lo ibi ipamọ ikọkọ ti aarin HashiCorp Vault. Eyi gba wa laaye:

  • pa asiri ailewu. Wọn ti paroko, ati paapaa ti ẹnikan ba ni iraye si ibi ipamọ data Vault (fun apẹẹrẹ, nipa mimu-pada sipo lati afẹyinti), wọn kii yoo ni anfani lati ka awọn aṣiri ti o fipamọ sibẹ;
  • ṣeto awọn eto imulo fun iraye si awọn aṣiri. Nikan awọn aṣiri "sọtọ" fun wọn wa fun awọn olumulo ati awọn ohun elo;
  • se ayewo wiwọle si asiri. Eyikeyi awọn iṣe pẹlu awọn aṣiri ni a gbasilẹ sinu iwe iṣayẹwo Vault;
  • ṣeto “iwọn igbesi aye” kikun ti ṣiṣẹ pẹlu awọn aṣiri. Wọn le ṣẹda, fagilee, ṣeto ọjọ ipari, ati bẹbẹ lọ.
  • rọrun lati ṣepọ pẹlu awọn ọna ṣiṣe miiran ti o nilo iraye si awọn aṣiri;
  • ati tun lo fifi ẹnọ kọ nkan ipari-si-opin, awọn ọrọ igbaniwọle akoko kan fun OS ati data data, awọn iwe-ẹri ti awọn ile-iṣẹ ti a fun ni aṣẹ, ati bẹbẹ lọ.

Bayi jẹ ki ká gbe lori si awọn aringbungbun ìfàṣẹsí ati ašẹ eto. O ṣee ṣe lati ṣe laisi rẹ, ṣugbọn iṣakoso awọn olumulo ni ọpọlọpọ awọn ọna ṣiṣe ti o jọmọ jẹ kii ṣe bintin. A ti tunto ìfàṣẹsí ati aṣẹ nipasẹ iṣẹ LDAP. Bibẹẹkọ, Vault yoo ni lati gbejade nigbagbogbo ati tọju abala awọn ami ijẹrisi fun awọn olumulo. Ati piparẹ ati fifi awọn olumulo kun yoo yipada si ibeere “Ṣe Mo ṣẹda/paarẹ akọọlẹ olumulo yii nibi gbogbo?”

A ṣafikun ipele miiran si eto wa: iṣakoso awọn aṣiri ati ijẹrisi aarin/aṣẹ:

Asaragaga nipa siseto awọn olupin laisi awọn iṣẹ iyanu pẹlu Isakoso iṣeto ni
Iresi. 2. asiri isakoso.

Isakoso iṣeto ni

A ni lati mojuto - awọn CMS eto. Ninu ọran wa, eyi jẹ apapọ ti Ansible ati Red Hat Ansible AWX.

Dipo Ansible, Oluwanje, Puppet, SaltStack le ṣee lo. A yan Ansible da lori orisirisi awọn àwárí mu.

  • Ni akọkọ, o jẹ versatility. A ṣeto ti setan-ṣe modulu fun Iṣakoso o jẹ ìkan. Ati pe ti o ko ba ni to, o le wa lori GitHub ati Agbaaiye.
  • Ni ẹẹkeji, ko si iwulo lati fi sori ẹrọ ati atilẹyin awọn aṣoju lori ohun elo iṣakoso, fihan pe wọn ko dabaru pẹlu ẹru naa, ati jẹrisi isansa ti “awọn bukumaaki”.
  • Ni ẹkẹta, Ansible ni idena kekere si titẹsi. Onimọ ẹrọ ti o ni oye yoo kọ iwe-iṣere ti n ṣiṣẹ gangan ni ọjọ akọkọ ti ṣiṣẹ pẹlu ọja naa.

Ṣugbọn Ansible nikan ni agbegbe iṣelọpọ ko to fun wa. Bibẹẹkọ, ọpọlọpọ awọn iṣoro yoo dide pẹlu ihamọ iwọle ati ṣiṣayẹwo awọn iṣe ti awọn oludari. Bawo ni lati ni ihamọ wiwọle? Lẹhin gbogbo ẹ, o jẹ dandan fun ẹka kọọkan lati ṣakoso (ka: ṣiṣe iwe-iṣere Ansible) “ti ara rẹ” ti awọn olupin. Bii o ṣe le gba awọn oṣiṣẹ kan laaye lati ṣiṣẹ awọn iwe-iṣere kan pato Ansible? Tabi bi o ṣe le ṣe atẹle ẹniti o ṣe ifilọlẹ iwe-iṣere laisi ṣeto ọpọlọpọ imọ agbegbe lori awọn olupin ati ohun elo nṣiṣẹ Ansible?

Awọn ipin kiniun ti iru awọn ọran ni ipinnu nipasẹ Red Hat Ile-iṣọ ti o ṣeeṣe, tabi rẹ ìmọ-orisun oke ise agbese AWX ti o ṣeeṣe. Ti o ni idi ti a ṣe fẹ fun onibara.

Ati ifọwọkan diẹ si aworan ti eto CMS wa. Iwe-iṣere ti o ṣeeṣe yẹ ki o wa ni ipamọ ni awọn eto iṣakoso ibi ipamọ koodu. A ni GitLab CE.

Nitorina, awọn atunto ara wọn ni iṣakoso nipasẹ apapo AWX / GitLab Ansible / Ansible (wo aworan 3). Nitoribẹẹ, AWX/GitLab ti ṣepọ pẹlu eto ijẹrisi ẹyọkan, ati pe iwe-iṣere Ansible jẹ iṣọpọ pẹlu HashiCorp Vault. Awọn atunto tẹ agbegbe iṣelọpọ nikan nipasẹ AWX Ansible, ninu eyiti gbogbo “awọn ofin ti ere” ti wa ni pato: tani o le tunto kini, nibo ni lati gba koodu iṣakoso iṣeto fun CMS, ati bẹbẹ lọ.

Asaragaga nipa siseto awọn olupin laisi awọn iṣẹ iyanu pẹlu Isakoso iṣeto ni
Iresi. 3. Isakoso iṣeto ni.

Isakoso igbeyewo

Iṣeto ni a gbekalẹ ni fọọmu koodu. Nitorina, a fi agbara mu lati mu ṣiṣẹ nipasẹ awọn ofin kanna bi awọn olupilẹṣẹ software. A nilo lati ṣeto awọn ilana ti idagbasoke, idanwo lilọsiwaju, ifijiṣẹ ati ohun elo ti koodu iṣeto si awọn olupin iṣelọpọ.

Ti eyi ko ba ṣe lẹsẹkẹsẹ, lẹhinna awọn ipa ti a kọ fun iṣeto ni yoo dawọ lati ṣe atilẹyin ati atunṣe, tabi yoo dẹkun lati ṣe ifilọlẹ ni iṣelọpọ. Iwosan fun irora yii ni a mọ, ati pe o ti fi ara rẹ han ninu iṣẹ akanṣe yii:

  • kọọkan ipa ti wa ni bo nipasẹ awọn igbeyewo kuro;
  • awọn idanwo ni ṣiṣe laifọwọyi nigbakugba ti eyikeyi iyipada ninu koodu ti o ṣakoso awọn atunto;
  • awọn ayipada ninu koodu iṣakoso iṣeto ni a tu silẹ sinu agbegbe iṣelọpọ nikan lẹhin ṣiṣe aṣeyọri gbogbo awọn idanwo ati atunyẹwo koodu.

Idagbasoke koodu ati iṣakoso iṣeto ni ti di idakẹjẹ ati asọtẹlẹ diẹ sii. Lati ṣeto idanwo lilọsiwaju, a lo ohun elo irinṣẹ GitLab CI/CD, a si mu Ogbontarigi Molekule.

Nigbakugba ti iyipada ba wa ninu koodu iṣakoso iṣeto, GitLab CI/CD pe Molecule:

  • o ṣayẹwo sintasi koodu,
  • gbe apoti Docker soke,
  • lo koodu ti a yipada si apoti ti o ṣẹda,
  • sọwedowo ipa fun idempotency ati ṣiṣe awọn idanwo fun koodu yii (granularity nibi ni ipele ipa ti o ṣeeṣe, wo aworan 4).

A firanṣẹ awọn atunto si agbegbe iṣelọpọ ni lilo AWX Ansible. Awọn onimọ-ẹrọ iṣẹ lo awọn ayipada iṣeto ni nipasẹ awọn awoṣe ti a ti yan tẹlẹ. AWX ni ominira “beere” ẹya tuntun ti koodu lati ẹka titunto si GitLab ni gbogbo igba ti o ti lo. Ni ọna yii a yọkuro lilo koodu ti ko ni idanwo tabi ti igba atijọ ni agbegbe iṣelọpọ. Nipa ti, koodu naa wọ ẹka titunto si nikan lẹhin idanwo, atunyẹwo ati ifọwọsi.

Asaragaga nipa siseto awọn olupin laisi awọn iṣẹ iyanu pẹlu Isakoso iṣeto ni
Iresi. 4. Idanwo aifọwọyi ti awọn ipa ni GitLab CI / CD.

Iṣoro tun wa ni nkan ṣe pẹlu iṣẹ ti awọn eto iṣelọpọ. Ni igbesi aye gidi, o nira pupọ lati ṣe awọn ayipada atunto nipasẹ koodu CMS nikan. Awọn ipo pajawiri dide nigbati ẹlẹrọ gbọdọ yi iṣeto ni “nibi ati ni bayi”, laisi iduro fun ṣiṣatunṣe koodu, idanwo, ifọwọsi, ati bẹbẹ lọ.

Bi abajade, nitori awọn iyipada afọwọṣe, awọn aiṣedeede han ninu iṣeto ni iru ohun elo kanna (fun apẹẹrẹ, awọn eto sysctl ni a tunto ni oriṣiriṣi lori awọn apa iṣu iṣu HA). Tabi awọn gangan iṣeto ni lori ẹrọ yato lati ọkan pato ninu awọn CMS koodu.

Nitorinaa, ni afikun si idanwo ti nlọ lọwọ, a ṣayẹwo awọn agbegbe iṣelọpọ fun awọn aiṣedeede iṣeto. A yan aṣayan ti o rọrun julọ: ṣiṣiṣẹ koodu atunto CMS ni ipo “igbẹ gbẹ”, iyẹn ni, laisi lilo awọn ayipada, ṣugbọn pẹlu ifitonileti ti gbogbo awọn aiṣedeede laarin iṣeto ti a pinnu ati iṣeto gangan. A ṣe imuse eyi nipasẹ ṣiṣe gbogbo awọn iwe-iṣere ti o ṣeeṣe pẹlu aṣayan “—ṣayẹwo” lori awọn olupin iṣelọpọ. Gẹgẹbi igbagbogbo, AWX Ansible jẹ iduro fun ifilọlẹ ati titọju iwe-iṣere titi di oni (wo Ọpọtọ 5):

Asaragaga nipa siseto awọn olupin laisi awọn iṣẹ iyanu pẹlu Isakoso iṣeto ni
Iresi. 5. Sọwedowo fun awọn aidọgba iṣeto ni AWX Ansible.

Lẹhin awọn sọwedowo, AWX fi ijabọ aibikita ranṣẹ si awọn alabojuto. Wọn ṣe iwadi iṣeto iṣoro ati lẹhinna ṣe atunṣe nipasẹ awọn iwe-iṣere ti a ṣatunṣe. Eyi ni bii a ṣe ṣetọju iṣeto ni agbegbe iṣelọpọ ati CMS nigbagbogbo ni imudojuiwọn ati mimuuṣiṣẹpọ. Eyi yọkuro “awọn iṣẹ iyanu” ti ko dun nigbati koodu CMS ti lo lori awọn olupin “gbóògì”.

Bayi a ni ipele idanwo pataki ti o ni AWX/GitLab/Molecule Ansible (Aworan 6).

Asaragaga nipa siseto awọn olupin laisi awọn iṣẹ iyanu pẹlu Isakoso iṣeto ni
Iresi. 6. Isakoso igbeyewo.

O le? Emi ko jiyan. Ṣugbọn iru eka ti iṣakoso iṣeto ni ti di idahun okeerẹ si ọpọlọpọ awọn ibeere ti o ni ibatan si adaṣe ti iṣeto olupin. Bayi awọn olupin boṣewa alagbata nigbagbogbo ni iṣeto ni asọye to muna. CMS, ko dabi ẹlẹrọ, kii yoo gbagbe lati ṣafikun awọn eto pataki, ṣẹda awọn olumulo ati ṣe awọn dosinni tabi awọn ọgọọgọrun awọn eto ti o nilo.

Ko si "imọ asiri" ni awọn eto ti awọn olupin ati awọn agbegbe loni. Gbogbo awọn ẹya pataki ni afihan ninu iwe-iṣere. Ko si iṣẹda diẹ sii ati awọn itọnisọna ti ko daju: ”Fi sii bi Oracle deede, ṣugbọn o nilo lati pato tọkọtaya kan ti awọn eto sysctl ki o ṣafikun awọn olumulo pẹlu UID ti o nilo. Beere awọn enia buruku ni isẹ, nwọn mọ».

Agbara lati ṣawari awọn aiṣedeede iṣeto ni ati ṣe atunṣe wọn ni itara pese alaafia ti ọkan. Laisi eto iṣakoso iṣeto, eyi nigbagbogbo dabi iyatọ. Awọn iṣoro kojọpọ titi di ọjọ kan wọn "titu" sinu iṣelọpọ. Lẹhinna a ti gbe asọye kan, awọn atunto ti ṣayẹwo ati ṣatunṣe. Ati awọn ọmọ tun lẹẹkansi

Ati pe, dajudaju, a mu ifilọlẹ awọn olupin ṣiṣẹ lati awọn ọjọ pupọ si awọn wakati.

O dara, ni Efa Ọdun Titun funrararẹ, nigbati awọn ọmọde fi ayọ yọ awọn ẹbun ati awọn agbalagba n ṣe awọn ifẹ bi awọn chimes ti kọlu, awọn onimọ-ẹrọ wa lọ si eto SAP si awọn olupin titun. Paapaa Santa Claus yoo sọ pe awọn iṣẹ iyanu ti o dara julọ ni awọn ti o ti pese sile daradara.

PS Ẹgbẹ wa nigbagbogbo pade otitọ pe awọn alabara fẹ lati yanju awọn iṣoro iṣakoso iṣeto ni irọrun bi o ti ṣee. Apere, bi ẹnipe nipasẹ idan - pẹlu ọpa kan. Ṣugbọn ni igbesi aye ohun gbogbo jẹ idiju diẹ sii (bẹẹni, awọn ọta ibọn fadaka ko tun jiṣẹ): o ni lati ṣẹda gbogbo ilana nipa lilo awọn irinṣẹ ti o rọrun fun ẹgbẹ alabara.

Onkọwe: Sergey Artemov, ayaworan ile-iṣẹ Awọn solusan DevOps "Awọn eto Alaye ofurufu"

orisun: www.habr.com

Fi ọrọìwòye kun