Awọn Ilana Imọye 5 ti o wọpọ fun Kikọ Awọn ohun elo Awọsanma-Ibilẹ

“Awọsanma abinibi” tabi nirọrun awọn ohun elo “awọsanma” ni a ṣẹda ni pataki lati ṣiṣẹ ni awọn amayederun awọsanma. Wọn ti kọ ni igbagbogbo bi eto ti awọn iṣẹ microservices ti o ni itọpọ ti o ṣajọpọ ninu awọn apoti, eyiti o jẹ iṣakoso nipasẹ iru ẹrọ awọsanma kan. Iru awọn ohun elo ni a pese sile fun awọn ikuna nipasẹ aiyipada, eyi ti o tumọ si pe wọn ṣiṣẹ ni igbẹkẹle ati iwọn paapaa ni iṣẹlẹ ti awọn ikuna ipele-ipele amayederun pataki. Apa keji ti owo naa ni awọn eto awọn ihamọ (awọn iwe adehun) ti pẹpẹ awọsanma n gbe lori awọn ohun elo eiyan lati le ṣakoso wọn laifọwọyi.

Awọn Ilana Imọye 5 ti o wọpọ fun Kikọ Awọn ohun elo Awọsanma-Ibilẹ

Lakoko ti o mọ ni kikun iwulo ati pataki ti gbigbe si awọn ohun elo orisun-awọsanma, ọpọlọpọ awọn ajo tun ko mọ ibiti o bẹrẹ. Ninu ifiweranṣẹ yii, a yoo wo nọmba kan ti awọn ipilẹ ti, ti o ba tẹle nigba idagbasoke awọn ohun elo apoti, yoo gba ọ laaye lati mọ agbara ti awọn iru ẹrọ awọsanma ati ṣaṣeyọri iṣẹ igbẹkẹle ati iwọn awọn ohun elo paapaa ni iṣẹlẹ ti awọn ikuna to ṣe pataki ni awọn amayederun IT. ipele. Ibi-afẹde ti o ga julọ ti awọn ipilẹ ti a ṣe ilana nihin ni lati kọ ẹkọ bi o ṣe le kọ awọn ohun elo ti o le ṣakoso laifọwọyi nipasẹ awọn iru ẹrọ awọsanma bii Kubernetes.

Software Design Ilana

Ninu agbaye siseto, awọn ipilẹ tọka si awọn ofin gbogbogbo ti o yẹ ti o gbọdọ tẹle nigbati sọfitiwia dagbasoke. Wọn le ṣee lo nigba ṣiṣẹ pẹlu ede siseto eyikeyi. Ilana kọọkan ni awọn ibi-afẹde tirẹ, awọn irinṣẹ lati ṣaṣeyọri eyiti o jẹ awọn awoṣe nigbagbogbo ati awọn iṣe. Nọmba awọn ipilẹ ipilẹ tun wa fun ṣiṣẹda sọfitiwia ti o ni agbara giga, lati eyiti gbogbo awọn miiran nṣan. Eyi ni diẹ ninu awọn apẹẹrẹ ti awọn ipilẹ ipilẹ:

  • KISS (Jeki o rọrun, aimọgbọnwa) - maṣe ṣe idiju rẹ;
  • gbẹ (Maṣe tun ṣe ara rẹ) - maṣe tun ṣe ara rẹ;
  • YAGNI (O kii yoo nilo rẹ) - maṣe ṣẹda nkan ti ko nilo lẹsẹkẹsẹ;
  • SoC Iyapa ti awọn ifiyesi - pin ojuse.

Bii o ti le rii, awọn ipilẹ wọnyi ko ṣeto awọn ofin kan pato, ṣugbọn jẹ ti ẹya ti awọn idiyele ti oye ti o wọpọ ti o da lori iriri ti o wulo, eyiti ọpọlọpọ awọn olupilẹṣẹ pin ati eyiti wọn tọka si nigbagbogbo.
Ni afikun, o wa SOLID - Eto ti awọn ipilẹ marun akọkọ ti siseto ohun-iṣalaye ati apẹrẹ, ti a ṣe agbekalẹ nipasẹ Robert Martin. SOLID pẹlu gbooro, ṣiṣi-ipin, awọn ilana ibaramu ti—nigbati a ba lo papọ — ṣe iranlọwọ lati ṣẹda awọn eto sọfitiwia to dara julọ ati ṣetọju wọn dara julọ fun igba pipẹ.

Awọn ilana SOLID jẹ ti aaye OOP ati pe a ṣe agbekalẹ ni ede ti iru awọn imọran ati awọn imọran gẹgẹbi awọn kilasi, awọn atọkun ati ogún. Nipa afiwe, awọn ilana idagbasoke tun le ṣe agbekalẹ fun awọn ohun elo awọsanma, nikan ni ipilẹ ipilẹ nibi kii yoo jẹ kilasi, ṣugbọn eiyan kan. Nipa titẹle awọn ilana wọnyi, o le ṣẹda awọn ohun elo ti a fi sinu apoti ti o dara julọ pade awọn ibi-afẹde ati awọn ibi-afẹde ti awọn iru ẹrọ awọsanma bii Kubernetes.

Awọsanma-abinibi awọn apoti: awọn Red Hat ona

Loni, o fẹrẹ to eyikeyi ohun elo le ṣe akopọ ni irọrun ni irọrun sinu awọn apoti. Ṣugbọn fun awọn ohun elo lati ni adaṣe adaṣe ni imunadoko ati iṣeto laarin iru ẹrọ awọsanma bi Kubernetes, a nilo igbiyanju afikun.
Ipilẹ fun awọn imọran ti a ṣe ilana ni isalẹ ni ilana naa Awọn mejila-ifosiwewe App ati ọpọlọpọ awọn iṣẹ miiran lori ọpọlọpọ awọn aaye ti kikọ awọn ohun elo wẹẹbu, lati iṣakoso koodu orisun si awọn awoṣe igbelosoke. Awọn ilana ti a ṣalaye lo nikan si idagbasoke awọn ohun elo ti a fi sinu apoti ti a ṣe si oke awọn iṣẹ microservices ati apẹrẹ fun awọn iru ẹrọ awọsanma bii Kubernetes. Ohun elo ipilẹ ninu ijiroro wa ni aworan eiyan, ati asiko asiko eiyan ibi-afẹde jẹ pẹpẹ orchestration eiyan. Ibi-afẹde ti awọn ipilẹ ti a dabaa ni lati ṣẹda awọn apoti fun eyiti siseto, iwọn, ati awọn iṣẹ ṣiṣe abojuto le jẹ adaṣe lori ọpọlọpọ awọn iru ẹrọ orchestration. Awọn ilana ti wa ni gbekalẹ ni ko si pato ibere.

Ilana Ibakcdun Nikan (SCP)

Ilana yii wa ni ọpọlọpọ awọn ọna ti o jọra si Ilana Ojuse Kanṣo. SRP), eyi ti o jẹ apakan ti SOLID ṣeto ati sọ pe gbogbo ohun gbọdọ ni ojuse kan, ati pe ojuse gbọdọ wa ni kikun ni kikun ni kilasi kan. Ojuami ti SRP ni pe gbogbo ojuse jẹ idi fun iyipada, ati pe kilasi gbọdọ ni idi kan ati ọkan fun iyipada.

Ni SCP, a lo ọrọ naa “ibakcdun” dipo ọrọ naa “ojuse” lati tọka ipele giga ti abstraction ati idi ti o gbooro ti eiyan ni akawe si kilasi OOP kan. Ati pe ti ibi-afẹde ti SRP ni lati ni idi kan fun iyipada, lẹhinna lẹhin SCP ni ifẹ lati faagun agbara lati tun lo ati rọpo awọn apoti. Nipa titẹle SRP ati ṣiṣẹda apoti kan ti o yanju iṣoro ẹyọkan ti o ṣe ni ọna pipe ti iṣẹ, o pọ si awọn aye lati tun lo aworan eiyan naa ni awọn ipo ohun elo oriṣiriṣi.

Ilana SCP sọ pe eiyan kọọkan yẹ ki o yanju iṣoro kan ṣoṣo ki o ṣe daradara. Pẹlupẹlu, SCP ninu aye eiyan rọrun lati ṣaṣeyọri ju SRP ni agbaye OOP, nitori awọn apoti nigbagbogbo nṣiṣẹ ilana kan ṣoṣo, ati ni ọpọlọpọ igba ilana yii n yanju iṣẹ-ṣiṣe kan ṣoṣo.

Ti o ba jẹ pe diẹ ninu awọn microservice eiyan gbọdọ yanju awọn iṣoro pupọ ni ẹẹkan, lẹhinna o le pin si awọn apoti iṣẹ-ẹyọkan ati ni idapo laarin adarọ-ese kan (ẹyọkan ti imuṣiṣẹ pẹpẹ eiyan) ni lilo awọn ọkọ ayọkẹlẹ ẹgbẹ ati awọn awoṣe eiyan init. Ni afikun, SCP jẹ ki o rọrun lati rọpo apoti atijọ (gẹgẹbi olupin wẹẹbu tabi alagbata ifiranṣẹ) pẹlu ọkan tuntun ti o yanju iṣoro kanna ṣugbọn o ni iṣẹ ṣiṣe ti o gbooro sii tabi awọn iwọn dara julọ.

Awọn Ilana Imọye 5 ti o wọpọ fun Kikọ Awọn ohun elo Awọsanma-Ibilẹ

Ilana Iwoye giga (HOP)

Nigbati a ba lo awọn apoti bi ọna iṣọkan lati ṣajọpọ ati ṣiṣe awọn ohun elo, awọn ohun elo funrararẹ ni itọju bi apoti dudu. Sibẹsibẹ, ti iwọnyi ba jẹ awọn apoti awọsanma, lẹhinna wọn gbọdọ pese awọn API pataki si akoko asiko lati ṣe atẹle ilera ti awọn apoti ati, ti o ba jẹ dandan, ṣe igbese ti o yẹ. Laisi eyi, kii yoo ṣee ṣe lati ṣọkan adaṣe ti awọn apoti imudojuiwọn ati iṣakoso ọna igbesi aye wọn, eyiti, lapapọ, yoo buru si iduroṣinṣin ati lilo ti eto sọfitiwia naa.

Awọn Ilana Imọye 5 ti o wọpọ fun Kikọ Awọn ohun elo Awọsanma-Ibilẹ
Ni iṣe, ohun elo ti a fi sinu apo yẹ, ni o kere ju, ni API fun ọpọlọpọ awọn sọwedowo ilera: awọn idanwo igbesi aye ati awọn idanwo imurasilẹ. Ti ohun elo kan ba sọ pe o ṣe diẹ sii, o gbọdọ pese awọn ọna miiran lati ṣe abojuto ipo rẹ. Fun apẹẹrẹ, wíwọlé awọn iṣẹlẹ pataki nipasẹ STDERR ati STDOUT fun akojọpọ log nipa lilo Fluentd, Logstash ati awọn irinṣẹ miiran ti o jọra. Bii iṣọpọ pẹlu wiwa ati awọn ile-ikawe ikojọpọ awọn metiriki, gẹgẹbi OpenTracing, Prometheus, ati bẹbẹ lọ.

Ni gbogbogbo, ohun elo naa tun le ṣe itọju bi apoti dudu, ṣugbọn o gbọdọ pese pẹlu gbogbo awọn API ti pẹpẹ ti o nilo lati le ṣe atẹle ati ṣakoso rẹ ni ọna ti o dara julọ.

Ilana Ibamu Igbesi aye (LCP)

LCP jẹ atako ti HOP. Lakoko ti HOP sọ pe eiyan gbọdọ ṣafihan awọn API kika si pẹpẹ, LCP nilo ohun elo lati ni anfani lati gba alaye lati ori pẹpẹ. Pẹlupẹlu, eiyan ko gbọdọ gba awọn iṣẹlẹ nikan, ṣugbọn tun ṣe deede, ni awọn ọrọ miiran, fesi si wọn. Nitorinaa orukọ opo naa, eyiti o le gbero bi ibeere lati pese pẹpẹ pẹlu awọn API kikọ.

Awọn Ilana Imọye 5 ti o wọpọ fun Kikọ Awọn ohun elo Awọsanma-Ibilẹ
Awọn iru ẹrọ ni awọn iru iṣẹlẹ ti o yatọ lati ṣe iranlọwọ lati ṣakoso awọn igbesi aye ti eiyan kan. Ṣugbọn o wa si ohun elo funrararẹ lati pinnu iru ninu wọn lati fiyesi ati bi o ṣe le ṣe.

O han gbangba pe diẹ ninu awọn iṣẹlẹ ṣe pataki ju awọn miiran lọ. Fun apẹẹrẹ, ti ohun elo ko ba fi aaye gba awọn ipadanu daradara, o gbọdọ gba ifihan agbara: fopin si (SIGTERM) awọn ifiranṣẹ ki o bẹrẹ ilana ifopinsi rẹ ni yarayara bi o ti ṣee ṣe lati mu ifihan agbara: pa (SIGKILL) ti o wa lẹhin SIGTERM.

Ni afikun, awọn iṣẹlẹ bii PostStart ati PreStop le ṣe pataki si igbesi-aye ohun elo kan. Fun apẹẹrẹ, lẹhin ifilọlẹ ohun elo kan, o le nilo akoko igbona diẹ ṣaaju ki o to dahun si awọn ibeere. Tabi ohun elo gbọdọ tu awọn orisun silẹ ni ọna pataki kan nigbati o ba tiipa.

Ilana Aileyipada Aworan (IIP)

O gba gbogbogbo pe awọn ohun elo ti a fi sinu apoti yẹ ki o wa ko yipada lẹhin ti a kọ wọn, paapaa ti wọn ba ṣiṣẹ ni awọn agbegbe oriṣiriṣi. Eyi ṣe pataki iwulo lati ṣe ita gbangba ipamọ data ni akoko asiko (ni awọn ọrọ miiran, lati lo awọn irinṣẹ ita fun eyi) ati lati gbẹkẹle ita, awọn atunto akoko-akoko, dipo iyipada tabi ṣiṣẹda awọn apoti alailẹgbẹ fun agbegbe kọọkan. Lẹhin eyikeyi awọn ayipada si ohun elo, aworan eiyan gbọdọ tun kọ ati ran lọ si gbogbo awọn agbegbe ti a lo. Nipa ọna, nigbati o ba n ṣakoso awọn eto IT, ilana ti o jọra ni a lo, ti a mọ ni ipilẹ ti ailagbara ti awọn olupin ati awọn amayederun.

Ibi-afẹde ti IIP ni lati ṣe idiwọ ṣiṣẹda awọn aworan eiyan lọtọ fun awọn agbegbe asiko asiko ti o yatọ ati lati lo aworan kanna nibi gbogbo pẹlu iṣeto ni pato-agbegbe ti o yẹ. Ni atẹle ilana yii ngbanilaaye lati ṣe iru awọn iṣe pataki lati oju wiwo ti adaṣe ti awọn ọna ṣiṣe awọsanma bi yiyi-pada ati yipo-siwaju ti awọn imudojuiwọn ohun elo.

Awọn Ilana Imọye 5 ti o wọpọ fun Kikọ Awọn ohun elo Awọsanma-Ibilẹ

Ilana Isọnu Ilana (PDP)

Ọkan ninu awọn abuda pataki julọ ti apo eiyan ni aipe rẹ: apẹẹrẹ ti eiyan jẹ rọrun lati ṣẹda ati rọrun lati run, nitorinaa o le ni irọrun rọpo pẹlu apẹẹrẹ miiran nigbakugba. Awọn idi pupọ le wa fun iru rirọpo: ikuna ti idanwo iṣẹ iṣẹ kan, iwọn ohun elo, gbigbe si ogun miiran, irẹwẹsi awọn orisun pẹpẹ, tabi awọn ipo miiran.

Awọn Ilana Imọye 5 ti o wọpọ fun Kikọ Awọn ohun elo Awọsanma-Ibilẹ
Bi abajade, awọn ohun elo ti a fi sinu apoti gbọdọ ṣetọju ipo wọn ni lilo diẹ ninu awọn ọna ita, tabi lo awọn ero inu pinpin pẹlu apọju fun eyi. Ni afikun, ohun elo naa gbọdọ bẹrẹ ni iyara ati tiipa ni iyara, ati murasilẹ fun ikuna ohun elo apaniyan lojiji.

Iwa kan ti o ṣe iranlọwọ lati ṣe ilana yii ni lati tọju awọn apoti kekere. Awọn agbegbe awọsanma le yan agbalejo kan laifọwọyi lati ṣe ifilọlẹ apẹẹrẹ eiyan lori, nitorinaa kekere eiyan naa, yiyara yoo bẹrẹ - yoo rọrun daakọ si agbalejo ibi-afẹde lori nẹtiwọọki yiyara.

Ilana Imudani-ara ẹni (S-CP)

Gẹgẹbi ilana yii, ni ipele apejọ, gbogbo awọn paati pataki ti wa ninu apo eiyan naa. Eiyan yẹ ki o wa ni itumọ ti lori ero pe eto nikan ni ekuro Linux mimọ, nitorinaa gbogbo awọn ile-ikawe afikun pataki yẹ ki o gbe sinu eiyan funrararẹ. O yẹ ki o tun ni awọn nkan bii akoko ṣiṣe fun ede siseto ti o baamu, pẹpẹ ohun elo (ti o ba jẹ dandan), ati awọn igbẹkẹle miiran ti yoo nilo lakoko ohun elo eiyan nṣiṣẹ.

Awọn Ilana Imọye 5 ti o wọpọ fun Kikọ Awọn ohun elo Awọsanma-Ibilẹ

Awọn imukuro ni a ṣe fun awọn atunto ti o yatọ lati agbegbe si agbegbe ati pe o gbọdọ pese ni akoko ṣiṣe, fun apẹẹrẹ nipasẹ Kubernetes ConfigMap kan.

Ohun elo le pẹlu ọpọlọpọ awọn paati ti a fi sinu apo, fun apẹẹrẹ, apoti DBMS lọtọ laarin ohun elo wẹẹbu ti a fi sinu apo. Gẹgẹbi ilana S-CP, awọn apoti wọnyi ko yẹ ki o ṣopọ si ọkan, ṣugbọn o yẹ ki o ṣe ki apoti DBMS ni ohun gbogbo ti o wulo fun iṣẹ ti ibi-ipamọ data, ati pe ohun elo wẹẹbu ni ohun gbogbo ti o ṣe pataki fun iṣẹ wẹẹbu. ohun elo, olupin wẹẹbu kanna. Bi abajade, ni akoko asiko, eiyan ohun elo wẹẹbu yoo dale lori apoti DBMS ati wọle si bi o ti nilo.

Ilana Iṣeduro akoko ṣiṣe (RCP)

Ilana S-CP n ṣalaye bi o ṣe yẹ ki a kọ eiyan naa ati kini alakomeji aworan yẹ ki o ni. Ṣugbọn eiyan kii ṣe “apoti dudu” nikan ti o ni abuda kan nikan - iwọn faili. Lakoko ipaniyan, eiyan naa gba awọn iwọn miiran: iye iranti ti a lo, akoko Sipiyu, ati awọn orisun eto miiran.

Awọn Ilana Imọye 5 ti o wọpọ fun Kikọ Awọn ohun elo Awọsanma-Ibilẹ
Ati pe nibi ilana RCP wa ni ọwọ, ni ibamu si eyiti eiyan gbọdọ yọkuro awọn ibeere rẹ fun awọn orisun eto ati gbe wọn si pẹpẹ. Pẹlu awọn profaili orisun ti eiyan kọọkan (bii iye Sipiyu, iranti, nẹtiwọọki, ati awọn orisun disiki ti o nilo), pẹpẹ le ṣe ṣiṣe ṣiṣe eto ṣiṣe to dara julọ ati adaṣe, ṣakoso agbara IT, ati ṣetọju awọn ipele SLA fun awọn apoti.

Ni afikun si ipade awọn ibeere orisun ti eiyan, o tun ṣe pataki fun ohun elo naa lati ma lọ kọja awọn aala tirẹ. Bibẹẹkọ, nigbati aito awọn orisun ba waye, pẹpẹ jẹ diẹ sii lati fi sii ninu atokọ awọn ohun elo ti o nilo lati fopin si tabi ṣilọ.

Nigba ti a ba sọrọ nipa jije awọsanma-akọkọ, a n sọrọ nipa ọna ti a n ṣiṣẹ.
Loke, a ṣe agbekalẹ nọmba awọn ipilẹ gbogbogbo ti o ṣeto ipilẹ ilana fun kikọ awọn ohun elo eiyan ti o ni agbara giga fun awọn agbegbe awọsanma.

Ṣe akiyesi pe ni afikun si awọn ipilẹ gbogbogbo wọnyi, iwọ yoo tun nilo awọn ọna ilọsiwaju afikun ati awọn imuposi fun ṣiṣẹ pẹlu awọn apoti. Ni afikun, a ni awọn iṣeduro kukuru diẹ ti o jẹ pato diẹ sii ati pe o yẹ ki o lo (tabi ko lo) da lori ipo naa:

Webinar lori ẹya tuntun ti OpenShift Container Platform – 4
Okudu 11 ni 11.00

Kini iwọ yoo kọ:

  • Aileyipada Red Hat Enterprise Linux CoreOS
  • Mesh iṣẹ OpenShift
  • Ilana onišẹ
  • Knative ilana

orisun: www.habr.com

Fi ọrọìwòye kun