Ka'idojin Hankali guda 5 don Gina Ka'idodin Gajimare-Native

An ƙirƙiri aikace-aikacen "Ƙasashen Cloud" ko kuma kawai "girgije" musamman don aiki a cikin kayan aikin girgije. Yawanci ana gina su azaman saiti na ƙananan sabis na haɗe-haɗe a cikin kwantena, wanda kuma dandamalin girgije ke sarrafa su. Irin waɗannan aikace-aikacen an shirya su don gazawar ta tsohuwa, wanda ke nufin suna aiki da dogaro da ƙima ko da a cikin yanayin gazawar matakan ababen more rayuwa. Wani gefen tsabar kudin shine jerin ƙuntatawa (kwagiloli) waɗanda dandamalin girgije ke sanyawa kan aikace-aikacen kwantena don samun damar sarrafa su ta atomatik.

Ka'idojin Hankali guda 5 don Gina Ka'idodin Gajimare-Native

Yayin da cikakken sanin buƙatu da mahimmancin motsi zuwa aikace-aikacen tushen girgije, ƙungiyoyi da yawa har yanzu ba su san inda za su fara ba. A cikin wannan sakon, za mu dubi ka'idodi da yawa waɗanda, idan aka bi su yayin haɓaka aikace-aikacen kwantena, za su ba ku damar fahimtar yuwuwar dandamali na girgije da cimma ingantaccen aiki da haɓaka aikace-aikacen koda a cikin babban gazawa a kayan aikin IT. matakin. Maƙasudin ƙa'idodin da aka zayyana anan shine koyon yadda ake gina aikace-aikacen da za a iya sarrafa su ta atomatik ta dandamalin girgije kamar Kubernetes.

Ka'idodin Zane Software

A cikin duniyar shirye-shirye, ƙa'idodi suna nufin ƙa'idodi na gaba ɗaya waɗanda dole ne a bi yayin haɓaka software. Ana iya amfani da su yayin aiki tare da kowane yaren shirye-shirye. Kowace ka'ida tana da nata manufofin, kayan aikin cimma wanda yawanci samfuri ne da ayyuka. Hakanan akwai wasu ƙa'idodi masu mahimmanci don ƙirƙirar software masu inganci, waɗanda duk wasu ke fitowa daga ciki. Ga wasu misalan ƙa'idodi na asali:

  • sumba (Kiyaye shi mai sauƙi, wawa) - kada ku dame shi;
  • bushe (Kada ku maimaita kanku) - kada ku maimaita kanku;
  • YAGNI (Ba za ku buƙaci shi ba) - kada ku ƙirƙiri wani abu wanda ba a buƙata nan da nan;
  • SoC Rarraba damuwa - raba nauyi.

Kamar yadda kake gani, waɗannan ka'idodin ba su kafa wasu ƙayyadaddun ƙa'idodi ba, amma suna cikin nau'in abin da ake kira la'akari na yau da kullun dangane da ƙwarewar aiki, waɗanda yawancin masu haɓakawa ke rabawa kuma waɗanda suke komawa akai-akai.
Bugu da kari, akwai SOLID - Saitin ka'idoji biyar na farko na shirye-shirye da ƙira masu tushen abu, wanda Robert Martin ya tsara. SOLID ya haɗa da fa'ida, buɗe-ƙarshe, ƙa'idodi masu dacewa waɗanda-idan aka yi amfani da su tare-taimakawa ƙirƙirar ingantattun tsarin software kuma mafi kyawun kiyaye su na dogon lokaci.

Ka'idodin SOLID suna cikin fagen OOP kuma an ƙirƙira su a cikin yaren ra'ayoyi da ra'ayoyi kamar azuzuwan, musaya da gado. Ta hanyar kwatanci, ana iya tsara ka'idodin ci gaba don aikace-aikacen girgije, kawai ainihin abin da ke nan ba zai zama aji ba, amma akwati. Ta bin waɗannan ƙa'idodin, zaku iya ƙirƙirar aikace-aikacen kwantena waɗanda suka fi dacewa da manufa da manufofin dandamalin girgije kamar Kubernetes.

Kwantena na asali na Cloud: Hanyar Red Hat

A yau, kusan kowace aikace-aikacen za a iya tattara su cikin sauƙi cikin kwantena. Amma don aikace-aikacen su zama masu sarrafa kansa yadda yakamata da tsara su a cikin dandamalin girgije kamar Kubernetes, ana buƙatar ƙarin ƙoƙari.
Tushen ra'ayoyin da aka zayyana a ƙasa shine hanya App ɗin Factor Goma Sha Biyu da sauran ayyuka da yawa akan fannoni daban-daban na gina aikace-aikacen gidan yanar gizo, daga sarrafa lambar tushe zuwa ƙirar ƙira. Ka'idodin da aka bayyana sun shafi ci gaba da aikace-aikacen kwantena waɗanda aka gina a saman ƙananan sabis kuma an tsara su don dandamali na girgije kamar Kubernetes. Babban abin da ke cikin tattaunawarmu shine hoton kwantena, kuma lokacin aikin gandun da aka yi niyya shine dandamalin shirya kwantena. Manufar ka'idodin da aka tsara shine ƙirƙirar kwantena waɗanda tsarawa, ƙididdigewa, da ayyukan sa ido za a iya sarrafa su ta atomatik akan yawancin dandamalin ƙungiyar kade-kade. Ba a gabatar da ƙa'idodin a cikin wani tsari na musamman ba.

Ƙa'idar Damuwa ɗaya (SCP)

Wannan ƙa'ida ta hanyoyi da yawa tana kama da ƙa'idar Nauyi ɗaya. SRP), wanda shine ɓangare na saitin SOLID kuma ya bayyana cewa kowane abu dole ne ya kasance yana da alhakin guda ɗaya, kuma wannan alhakin dole ne a lissafta shi gaba ɗaya a cikin aji. Ma'anar SRP shine cewa kowane alhakin shine dalilin canji, kuma aji dole ne ya kasance yana da dalili guda ɗaya kawai na canji.

A cikin SCP, muna amfani da kalmar "damuwa" maimakon kalmar "hakika" don nuna babban matakin abstraction da babban manufar akwati idan aka kwatanta da nau'in OOP. Kuma idan makasudin SRP shine samun dalili ɗaya kawai don canji, to bayan SCP shine sha'awar faɗaɗa ikon sake amfani da maye gurbin kwantena. Ta bin SRP da ƙirƙirar akwati wanda ke warware matsala guda ɗaya kuma ya aikata ta cikin cikakkiyar hanyar aiki, kuna ƙara damar sake amfani da hoton akwati a cikin mahallin aikace-aikacen daban-daban.

Ka'idar SCP ta bayyana cewa kowane akwati yakamata ya magance matsala guda ɗaya kuma yayi shi da kyau. Bugu da ƙari, SCP a cikin duniyar kwantena ya fi sauƙi don cimma fiye da SRP a cikin duniyar OOP, tun da kwantena yawanci suna gudanar da tsari guda ɗaya, kuma mafi yawan lokaci wannan tsari yana warware ɗawainiya ɗaya.

Idan microservice na ganga dole ne ya magance matsaloli da yawa a lokaci ɗaya, to za a iya raba shi zuwa kwantena guda ɗaya kuma a haɗa shi a cikin kwasfa ɗaya (nau'in jigilar dandali na kwantena) ta amfani da samfuran gefen mota da init. Bugu da kari, SCP yana sauƙaƙa don maye gurbin tsohuwar kwantena (kamar sabar yanar gizo ko dillalin saƙo) tare da sabon wanda ke magance wannan matsala amma yana da fa'idodin fa'ida ko ma'auni mafi kyau.

Ka'idojin Hankali guda 5 don Gina Ka'idodin Gajimare-Native

Babban Ƙa'idar Kulawa (HOP)

Lokacin da aka yi amfani da kwantena azaman hanyar haɗin kai don shiryawa da gudanar da aikace-aikace, aikace-aikacen da kansu ana ɗaukar su azaman akwatin baki. Koyaya, idan waɗannan kwantenan girgije ne, to dole ne su samar da APIs na musamman zuwa lokacin aiki don saka idanu kan lafiyar kwantena kuma, idan ya cancanta, ɗauki matakin da ya dace. Idan ba tare da wannan ba, ba zai yiwu a haɗa kai tsaye na sabunta kwantena da sarrafa tsarin rayuwarsu ba, wanda, bi da bi, zai dagula kwanciyar hankali da amfani da tsarin software.

Ka'idojin Hankali guda 5 don Gina Ka'idodin Gajimare-Native
A aikace, aikace-aikacen kwantena yakamata, aƙalla, yana da API don nau'ikan gwaje-gwajen lafiya daban-daban: gwaje-gwajen rayuwa da gwajin shirye-shirye. Idan aikace-aikacen ya yi iƙirarin yin ƙarin, dole ne ya samar da wasu hanyoyin sa ido kan jiharsa. Misali, shigar da muhimman abubuwan da suka faru ta hanyar STDERR da STDOUT don tattara bayanai ta amfani da Fluentd, Logstash da sauran makamantan kayan aikin. Kazalika haɗin kai tare da ganowa da dakunan karatu na awo, kamar OpenTracing, Prometheus, da sauransu.

Gabaɗaya, ana iya ɗaukar aikace-aikacen azaman akwatin baƙar fata, amma dole ne a samar da shi tare da duk API ɗin da dandamali ke buƙata don saka idanu da sarrafa shi ta hanya mafi kyau.

Ƙa'idar Yarda da Zagayowar Rayuwa (LCP)

LCP shine antithesis na HOP. Yayin da HOP ya bayyana cewa dole ne akwati ya fallasa karanta APIs zuwa dandamali, LCP yana buƙatar aikace-aikacen don samun damar karɓar bayanai daga dandamali. Bugu da ƙari, akwati dole ne ba kawai karɓar abubuwan da suka faru ba, amma kuma ya daidaita, a wasu kalmomi, amsa su. Don haka sunan ka'idar, wanda za'a iya la'akari da shi azaman abin da ake buƙata don samar da dandamali tare da rubuta APIs.

Ka'idojin Hankali guda 5 don Gina Ka'idodin Gajimare-Native
Dandali yana da nau'ikan abubuwan da suka faru daban-daban don taimakawa sarrafa rayuwar kwantena. Amma ya rage ga aikace-aikacen kanta don yanke shawarar wanda zai fahimta a cikin su da kuma yadda za a mayar da martani.

A bayyane yake cewa wasu abubuwan da suka faru sun fi wasu mahimmanci. Misali, idan aikace-aikacen bai yarda da hadarurruka da kyau ba, dole ne ya karɓi sigina: ƙare (SIGTERM) saƙon kuma ya fara aikin ƙarewa da sauri don kama siginar: kashe (SIGKILL) wanda ke zuwa bayan SIGTERM.

Bugu da ƙari, abubuwan da suka faru kamar PostStart da PreStop na iya zama mahimmanci ga rayuwar aikace-aikacen. Misali, bayan ƙaddamar da aikace-aikacen, yana iya buƙatar ɗan lokacin dumi kafin ya iya amsa buƙatun. Ko kuma dole ne aikace-aikacen ya saki albarkatu ta wata hanya ta musamman lokacin rufewa.

Ka'idar Rashin Mutuwar Hoto (IIP)

An yarda gabaɗaya cewa aikace-aikacen kwantena yakamata su kasance ba su canzawa bayan an gina su, koda kuwa ana gudanar da su a wurare daban-daban. Wannan yana buƙatar buƙatar waje na ajiyar bayanai a lokacin aiki (a wasu kalmomi, don amfani da kayan aikin waje don wannan) da kuma dogara ga waje, ƙayyadaddun ƙayyadaddun lokaci, maimakon gyaggyarawa ko ƙirƙirar kwantena na musamman ga kowane yanayi. Bayan kowane canje-canje ga aikace-aikacen, dole ne a sake gina hoton akwati kuma a tura shi zuwa duk wuraren da aka yi amfani da su. Af, lokacin sarrafa tsarin IT, ana amfani da irin wannan ka'ida, wanda aka sani da ka'idar rashin canzawa na sabobin da abubuwan more rayuwa.

Manufar IIP ita ce hana ƙirƙirar hotunan kwantena daban don yanayin lokacin aiki daban-daban da yin amfani da hoto iri ɗaya a ko'ina tare da ƙayyadaddun ƙayyadaddun yanayi. Bin wannan ka'ida tana ba ku damar aiwatar da irin waɗannan mahimman ayyuka daga ra'ayi na atomatik na tsarin girgije kamar jujjuyawa da ƙaddamar da sabuntawar aikace-aikacen.

Ka'idojin Hankali guda 5 don Gina Ka'idodin Gajimare-Native

Ƙa'idar Ƙarfafawa (PDP)

Ɗaya daga cikin mahimman halaye na akwati shine rashin daidaituwa: misali na akwati yana da sauƙin ƙirƙira da sauƙi don lalata, don haka ana iya maye gurbinsa da wani misali a kowane lokaci. Akwai dalilai da yawa na irin wannan maye gurbin: gazawar gwajin iya aiki, girman aikace-aikacen, canja wuri zuwa wani runduna, gajiyar albarkatun dandamali, ko wasu yanayi.

Ka'idojin Hankali guda 5 don Gina Ka'idodin Gajimare-Native
Sakamakon haka, aikace-aikacen kwantena dole ne su kula da yanayinsu ta amfani da wasu hanyoyin waje, ko amfani da tsarin rarrabawar ciki tare da sakewa don wannan. Bugu da kari, aikace-aikacen dole ne ya fara da sauri kuma a rufe da sauri, kuma a shirya don gazawar kayan aikin kwatsam.

Ɗaya daga cikin al'ada da ke taimakawa aiwatar da wannan ƙa'idar ita ce kiyaye kwantena ƙananan. Wurin gajimare na iya zaɓar mai watsa shiri ta atomatik don ƙaddamar da misalin akwati a kai, don haka ƙarami akwati, da sauri zai fara - kawai zai kwafi zuwa ga mai watsa shiri akan hanyar sadarwa cikin sauri.

Ka'idodin kamun kai (S-CP)

Bisa ga wannan ka'ida, a matakin taro, duk abubuwan da ake bukata suna cikin akwati. Ya kamata a gina kwandon bisa tsammanin cewa tsarin yana da tsantsar kwaya ta Linux kawai, don haka duk ƙarin dakunan karatu da ake buƙata yakamata a sanya su a cikin akwati da kanta. Hakanan ya kamata ya ƙunshi abubuwa kamar lokacin aiki don yaren shirye-shiryen da suka dace, dandamalin aikace-aikacen (idan ya cancanta), da sauran abubuwan dogaro waɗanda za a buƙaci yayin aikace-aikacen kwantena yana gudana.

Ka'idojin Hankali guda 5 don Gina Ka'idodin Gajimare-Native

An keɓance keɓancewa don daidaitawa waɗanda suka bambanta daga yanayi zuwa yanayi kuma dole ne a samar da su a lokacin aiki, misali ta hanyar Kubernetes ConfigMap.

Aikace-aikacen na iya haɗawa da sassa daban-daban na kwantena, misali, wani akwati na DBMS daban a cikin rumbun aikace-aikacen gidan yanar gizo. Bisa ga ka'idar S-CP, waɗannan kwantena bai kamata a haɗa su cikin ɗaya ba, amma ya kamata a yi su ta yadda kwandon DBMS ya ƙunshi duk abin da ake bukata don aiki na ma'ajin bayanai, kuma kwandon aikace-aikacen yanar gizon ya ƙunshi duk abin da ake bukata don aikin yanar gizon. aikace-aikace, sabar gidan yanar gizo iri ɗaya . Sakamakon haka, a lokacin aiki kwandon aikace-aikacen gidan yanar gizo zai dogara da akwati na DBMS kuma samun damar shiga kamar yadda ake buƙata.

Ƙa'idar Tsare Runtime (RCP)

Ƙa'idar S-CP ta bayyana yadda ya kamata a gina akwati da abin da hoton binary ya kamata ya ƙunshi. Amma akwati ba kawai “akwatin baƙar fata” wanda ke da sifa ɗaya kawai - girman fayil. Yayin aiwatarwa, kwandon yana ɗaukar wasu nau'ikan: adadin ƙwaƙwalwar da aka yi amfani da shi, lokacin CPU, da sauran albarkatun tsarin.

Ka'idojin Hankali guda 5 don Gina Ka'idodin Gajimare-Native
Kuma a nan ka'idar RCP ta zo da amfani, bisa ga abin da akwati dole ne ya yanke bukatunsa don albarkatun tsarin kuma ya canza su zuwa dandamali. Tare da bayanan bayanan albarkatu na kowane akwati (nawa CPU, ƙwaƙwalwar ajiya, cibiyar sadarwa, da albarkatun faifai yake buƙata), dandamali zai iya yin kyakkyawan tsari da daidaitawa, sarrafa ƙarfin IT, da kula da matakan SLA don kwantena.

Baya ga biyan buƙatun albarkatun kwantena, yana da mahimmanci don aikace-aikacen kada ya wuce iyakokinsa. In ba haka ba, lokacin da ƙarancin albarkatu ya faru, dandamali zai fi dacewa ya haɗa shi a cikin jerin aikace-aikacen da ke buƙatar ƙare ko ƙaura.

Lokacin da muke magana game da zama girgije-farko, muna magana ne akan yadda muke aiki.
A sama, mun ƙirƙiri ƙa'idodi na gaba ɗaya waɗanda suka kafa tushen tsarin don gina aikace-aikacen kwantena masu inganci don yanayin girgije.

Lura cewa ban da waɗannan ƙa'idodi na gabaɗaya, kuna buƙatar ƙarin hanyoyin haɓakawa da dabaru don aiki tare da kwantena. Bugu da ƙari, muna da ƴan gajerun shawarwari waɗanda suka fi ƙayyadaddun bayanai kuma ya kamata a yi amfani da su (ko ba a yi amfani da su ba) dangane da yanayin:

Webinar akan sabon sigar OpenShift Container Platform – 4
Yuni 11 a 11.00

Me za ku koya:

  • Kasuwancin Red Hat na Linux CoreOS
  • Rukunin sabis na OpenShift
  • Tsarin aiki
  • Tsarin Knative

source: www.habr.com

Add a comment