Sesebelisoa sa Helm le maraba a sona

Sesebelisoa sa Helm le maraba a sona
Khopolo ea ho tsamaisa thepa ea Typhon, Anton Swanepoel

Lebitso la ka ke Dmitry Sugrobov, ke moqapi oa Leroy Merlin. Sehloohong sena ke tla u bolella hore na ke hobane'ng ha Helm e hlokahala, hore na e nolofatsa joang ho sebetsa le Kubernetes, ke eng e fetohileng phetolelong ea boraro, le mokhoa oa ho e sebelisa ho ntlafatsa likopo tlhahisong ntle le ho fokotsa nako.

Ena ke kakaretso e thehiloeng puong ea kopano @Kubernetes Seboka by Mail.ru Cloud Solutions - haeba u sa batle ho bala, shebella video.

Hobaneng re sebelisa Kubernetes tlhahiso

Leroy Merlin ke moetapele 'marakeng oa mabenkele oa DIY Russia le Europe. Khamphani ea rona e na le bahlahisi ba fetang lekholo, basebetsi ba ka hare ba 33 le palo e kholo ea batho ba etelang li-hypermarkets le webosaete. E le ho ba thabisa kaofela, re ile ra etsa qeto ea ho latela mekhoa e tloaelehileng ea indasteri. Ntlafatsa lits'ebetso tse ncha u sebelisa meralo ea microservice; sebelisa lijana ho arola tikoloho le ho netefatsa phano e nepahetseng; le ho sebelisa Kubernetes bakeng sa 'mino oa liletsa. Theko ea ho sebelisa liletsa tsa 'mino e ntse e theko e tlaase ka potlako: palo ea baenjiniere ba nang le tsebo ea theknoloji e ntse e hōla' marakeng, 'me bafani ba hlaha ba fana ka Kubernetes e le tšebeletso.

Ntho e 'ngoe le e' ngoe eo Kubernetes a e etsang, ha e le hantle, e ka etsoa ka litsela tse ling, ka mohlala, ka ho koahela tse ling tsa Jenkins le docker-compose ka mangolo, empa ke hobane'ng ha ho thatafatsa bophelo haeba ho na le tharollo e lokiselitsoeng le e ka tšeptjoang? Ke ka lebaka leo re tlileng Kubernetes mme esale re e sebelisa tlhahiso bakeng sa selemo joale. Hajoale re na le lihlopha tse mashome a mabeli a metso e mene tsa Kubernetes, tsa khale ka ho fetisisa tse fetang selemo, tse nang le li-pods tse ka bang makholo a mabeli.

Thohako ea lifaele tse kholo tsa YAML ho Kubernetes

Ho qala microservice ho Kubernetes, re tla theha bonyane lifaele tse hlano tsa YAML: bakeng sa Deployment, Service, Ingress, ConfigMap, Secrets - ebe re li romela sehlopheng. Bakeng sa kopo e latelang re tla ngola sephutheloana se tšoanang sa jambs, ka ea boraro re tla ngola e 'ngoe, joalo-joalo. Haeba re atisa palo ea litokomane ka palo ea libaka, re tla be re se re ntse re fumana lifaele tse makholo, 'me sena ha se e-s'o nahane ka maemo a matla.

Sesebelisoa sa Helm le maraba a sona
Adam Reese, mohlokomeli oa mantlha oa Helm, o hlahisitse mohopolo oa "Development Cycle in Kubernetes", e shebahala tjena:

  1. Kopitsa YAML - kopitsa faele ea YAML.
  2. Beha YAML - e behe.
  3. Lokisa li-Indents - lokisa li-indent.
  4. Pheta - pheta hape.

Khetho ea sebetsa, empa u tlameha ho kopitsa lifaele tsa YAML hangata. Ho fetola potoloho ena, Helm e ile ea qaptjoa.

Helm ke eng

Ntlha ea pele, Helm mookameli oa sephutheloana, e u thusang ho fumana le ho kenya mananeo ao u a hlokang. Ho kenya, mohlala, MongoDB, ha ho hlokahale hore u ee webosaeteng ea semmuso le ho jarolla li-binaries, tsamaisa feela taelo. helm install stable/mongodb.

Ea bobeli, Helm - enjene ea template, e thusa ho parameterize lifaele. Ha re khutleleng boemong ka lifaele tsa YAML ho Kubernetes. Ho bonolo ho ngola faele e ts'oanang ea YAML, eketsa li-placeholders ho eona, moo Helm e tla kenya litekanyetso sebakeng sa eona. Ka mantsoe a mang, sebakeng sa li-scaffold tse kholo, ho tla ba le sete ea litempele tseo litekanyetso tse hlokahalang li tla nkeloa sebaka ka nako e nepahetseng.

Ea boraro, Helm - mookameli oa ho tsamaisa. Ka eona o ka kenya, ho khutlisa le ho ntlafatsa lits'ebetso. A re boneng hore na re ka etsa sena joang.

Sesebelisoa sa Helm le maraba a sona

Mokhoa oa ho sebelisa Helm ho tsamaisa lits'ebetso tsa hau

Ha re kenye moreki oa Helm komporong ea hau, re latela molaoli litaelo. Ka mor'a moo, re tla theha sehlopha sa lifaele tsa YAML. Sebakeng sa ho hlakisa boleng bo itseng, re tla siea litšoantšiso, tseo Helm e tla li tlatsa ka leseli nakong e tlang. Sehlopha sa lifaele tse joalo se bitsoa chate ea Helm. E ka romelloa ho moreki oa Helm console ka mekhoa e meraro:

  • bonts'a foldara e nang le litempele;
  • phuthela polokelo ea litaba ka har'a .tar 'me u e supe;
  • beha template sebakeng sa polokelo e hole 'me u kenye sehokelo sebakeng sa polokelo ho moreki oa Helm.

U boetse u hloka faele e nang le boleng - values.yaml. Lintlha tse tsoang moo li tla kenngoa template. Ha re e bopeng le eona.

Sesebelisoa sa Helm le maraba a sona
Phetolelo ea bobeli ea Helm e na le sesebelisoa se eketsehileng sa seva - Tiller. E leketlile ka ntle ho Kubernetes mme e emetse likopo ho tsoa ho moreki oa Helm, mme ha e bitsoa, ​​​​e kenya litekanyetso tse hlokahalang sebakeng sa template ebe e e romella Kubernetes.

Sesebelisoa sa Helm le maraba a sona
Helm 3 e bonolo haholoanyane: ho e-na le ho sebetsana le li-template ho seva, tlhahisoleseding e se e sebetsoa ka ho feletseng ka lehlakoreng la bareki ba Helm mme e romelloa ka ho toba ho Kubernetes API. Nolofatso ena e ntlafatsa ts'ireletso ea lihlopha hape e thusa leano la ho ntša.

E sebetsa joang kaofela

Matha taelo helm install. Ha re bontsheng lebitso la tokollo ea kopo mme re fane ka tsela ea boleng.yaml. Qetellong re tla bontša sebaka sa polokelo eo chate e leng ho eona le lebitso la chate. Mohlala, tsena ke "lmru" le "bestchart", ka ho latellana.

helm install --name bestapp --values values.yaml lmru/bestchart

Taelo e ka phethoa hang feela, ha e phethiloe hape install hloka ho sebelisa upgrade. Bakeng sa ho nolofatsa, sebakeng sa litaelo tse peli, o ka tsamaisa taelo upgrade ka senotlolo se eketsehileng --install. Ha e etsoa ka lekhetlo la pele, Helm e tla romela taelo ea ho kenya tokollo, 'me e tla e ntlafatsa nakong e tlang.

helm upgrade --install bestapp --values values.yaml lmru/bestchart

Likotsi tsa ho fana ka mefuta e mecha ea ts'ebeliso le Helm

Lekhetlong lena la pale, ke bapala Ke Mang ea Batlang ho ba Millionaire le bamameli, 'me re ntse re nahana ka mokhoa oa ho fumana Helm ho ntlafatsa mofuta oa sesebelisoa. Shebella video.

Ha ke ntse ke ithuta hore na Helm e sebetsa joang, ke ile ka makatsoa ke boitšoaro bo makatsang ha ke leka ho ntlafatsa mefuta ea lits'ebetso tse sebetsang. Ke ntlafalitse khoutu ea kopo, ka kenya setšoantšo se secha ho ngoliso ea Docker, ka romela taelo ea phepelo - mme ha ho letho le etsahetseng. Ka tlase ke mekhoa e meng e sa atleheng ka botlalo ea ho nchafatsa lits'ebetso. Ka ho ithuta e 'ngoe le e' ngoe ea tsona ka ho qaqileng haholoanyane, u qala ho utloisisa sebopeho sa ka hare sa sesebelisoa le mabaka a boitšoaro bona bo sa hlakileng.

Mokhoa oa 1. Se ke oa fetola tlhahisoleseling ho tloha ha e qala

Joalokaha e bolela websaete ea molao Helm, "Lichate tsa Kubernetes li ka ba kholo le ho rarahana, kahoo Helm e leka ho se ame letho haholo." Ka hona, haeba u nchafatsa mofuta oa morao-rao oa setšoantšo sa ts'ebeliso ho ngoliso ea docker ebe u tsamaisa taelo helm upgrade, joale ha ho letho le tla etsahala. Helm e tla nahana hore ha ho letho le fetohileng mme ha ho hlokahale ho romela taelo ho Kubernetes ho ntlafatsa kopo.

Mona le ka tlase, tag ea morao-rao e bontšoa feela e le mohlala. Ha o totobatsa tag ena, Kubernetes e tla khoasolla setšoantšo ho tsoa ho ngoliso ea docker nako le nako, ho sa tsotelehe paramente ea imagePullPolicy. Ho sebelisa morao-rao tlhahiso ha ho ratehe ebile ho baka litla-morao.

Mokhoa oa 2. Ntlafatsa LABEL setšoantšong

Joalo ka ha ho ngotsoe ka mokhoa o ts'oanang litokomane, "Helm e tla nchafatsa kopo feela haeba e fetohile ho tloha ha e qeta ho lokolloa." Khetho e utloahalang bakeng sa sena e ka bonahala e ntlafatsa LABEL setšoantšong sa docker ka bosona. Leha ho le joalo, Helm ha e shebe litšoantšo tsa kopo mme ha e tsebe ka liphetoho leha e le life ho tsona. Ka hona, ha u ntlafatsa li-labels setšoantšong, Helm e ke ke ea tseba ka tsona, 'me taelo ea ntlafatso ea kopo e ke ke ea romeloa ho Kubernetes.

Mokhoa oa 3: Sebelisa senotlolo --force

Sesebelisoa sa Helm le maraba a sona
Ha re phetleng libukana 'me re batle senotlolo se hlokahalang. Senotlolo se utloahala haholo --force. Ho sa tsotellehe lebitso le totobetseng, boitšoaro bo fapane le bo lebeletsoeng. Sebakeng sa ho qobella ntlafatso ea kopo, sepheo sa eona sa nnete ke ho khutlisa tokollo e maemong a FAILED. Haeba u sa sebelise senotlolo sena, u lokela ho phethahatsa litaelo ka tatellano helm delete && helm install --replace. Ho e na le hoo, ho kgothaletswa ho sebedisa senotlolo --force, e iketsetsang tatellano ea tatellano ea litaelo tsena. Lintlha tse ling ho sena ho hula kopo. E le ho bolella Helm ho ntlafatsa phetolelo ea kopo, ka bomalimabe, senotlolo sena se ke ke sa sebetsa.

Mokhoa oa 4. Fetola li-label ka ho toba ho Kubernetes

Sesebelisoa sa Helm le maraba a sona
Ho ntlafatsa label ka kotloloho sehlopheng u sebelisa taelo kubectl edit - mohopolo o mobe. Ketso ena e tla lebisa ho se lumellane ha tlhahisoleseling lipakeng tsa kopo e sebetsang le e neng e rometsoe qalong. Boitšoaro ba Helm nakong ea ho romelloa tabeng ena bo fapane le phetolelo ea eona: Helm 2 e ke ke ea etsa letho, 'me Helm 3 e tla sebelisa phetolelo e ncha ea kopo. Ho utloisisa lebaka, o hloka ho utloisisa hore na Helm e sebetsa joang.

Helm e sebetsa joang?

Ho tseba hore na kopo e fetohile ho tloha ha e qeta ho lokolloa, Helm e ka sebelisa:

  • ts'ebeliso e sebetsang ho Kubernetes;
  • boleng bo bocha.yaml le chate ea hajoale;
  • Tlhahisoleseling ea ka hare ea Helm.

Bakeng sa bohelehele le ho feta: Helm e boloka tlhahisoleseling ea kahare mabapi le litokollo kae?Ka ho phethahatsa taelo helm history, re tla fumana lintlha tsohle mabapi le liphetolelo tse kentsoeng ho sebelisa Helm.

Sesebelisoa sa Helm le maraba a sona
Ho boetse ho na le lintlha tse qaqileng mabapi le litempele tse rometsoeng le litekanyetso. Re ka e kopa:

Sesebelisoa sa Helm le maraba a sona
Mofuteng oa bobeli oa Helm, tlhahisoleseling ena e fumaneha sebakeng sa mabitso seo Tiller a sebetsang ho sona (kube-system ka ho sa feleng), ho ConfigMap, e tšoailoeng ka lengolo "OWNER=TILLER":

Sesebelisoa sa Helm le maraba a sona
Ha phetolelo ea boraro ea Helm e hlaha, tlhahisoleseding e ile ea fallela liphiri, le sebakeng se le seng sa mabitso moo kopo e neng e sebetsa teng. Ka lebaka la sena, ho ile ha khoneha ho tsamaisa lits'ebetso tse 'maloa ka nako e le ngoe libakeng tse fapaneng tsa mabitso ka lebitso le le leng la tokollo. Phetolelong ea bobeli e ne e le hlooho e bohloko haholo ha libaka tsa mabitso li arotsoe empa li ka susumetsana.

Sesebelisoa sa Helm le maraba a sona

Helm ea bobeli, ha e leka ho utloisisa hore na ntlafatso ea hlokahala, e sebelisa mehloli e 'meli feela ea tlhahisoleseling: e fuoe eng hona joale, le tlhaiso-leseling ea kahare mabapi le litokollo, e leng ho ConfigMap.

Sesebelisoa sa Helm le maraba a sona
Helm ea boraro e sebelisa leano la ho kopanya litsela tse tharo: ntle le tlhahisoleseding eo, e boetse e nahanela kopo e ntseng e sebetsa hona joale ho Kubernetes.

Sesebelisoa sa Helm le maraba a sona
Ka lebaka lena, phetolelo ea khale ea Helm e ke ke ea etsa letho, kaha ha e nahane ka tlhahisoleseding ea kopo ka har'a sehlopha, empa Helm 3 e tla fumana liphetoho ebe e romela kopo e ncha bakeng sa ho romelloa.

Mokhoa oa 5. Sebelisa --recreate-pods switch

Ka senotlolo --recreate-pods o ka fihlela seo o neng o rerile ho se fihlela qalong ka senotlolo --force. Lijana li tla qala hape, 'me, ho latela setšoantšoPullPolicy: Kamehla leano la tag ea morao-rao (ho feta ho sena mongolong o ka holimo), Kubernetes e tla khoasolla le ho hlahisa mofuta o mocha oa setšoantšo. Sena se ke ke sa etsoa ka tsela e ntle ka ho fetisisa: ntle le ho ela hloko StrategyType of deployment, ka tšohanyetso e tla tima liketsahalo tsohle tsa khale tsa kopo ebe e qala ho qala tse ncha. Nakong ea ho qala bocha, sistimi e ke ke ea sebetsa, basebelisi ba tla utloa bohloko.

Ho Kubernetes ka boeona, bothata bo tšoanang le bona bo bile teng ka nako e telele. Mme joale, lilemo tse 4 kamora ho buloa Hlahisa, bothata bo se bo lokisitsoe, 'me ho qala ka mofuta oa 1.15 oa Kubernetes, bokhoni ba ho qala li-pods bo hlaha.

Helm e tima lits'ebetso tsohle ebe e qala lijana tse ncha haufinyane. U ke ke ua etsa sena tlhahisong, e le hore u se ke ua etsa hore nako ea kopo e fokotsehe. Sena se hlokahala feela bakeng sa litlhoko tsa nts'etsopele mme se ka etsoa feela maemong a sethala.

Mokhoa oa ho ntlafatsa mofuta oa kopo o sebelisa Helm?

Re tla fetola litekanyetso tse rometsoeng ho Helm. Ka tloaelo, tsena ke litekanyetso tse nkeloang sebaka sebakeng sa tag ea setšoantšo. Tabeng ea morao-rao, e atisang ho sebelisoa bakeng sa libaka tse sa hlahiseng litholoana, tlhahisoleseding e fetohang ke tlhaloso, e se nang thuso bakeng sa Kubernetes ka boeona, 'me bakeng sa Helm e tla sebetsa e le pontšo bakeng sa tlhokahalo ea ho ntlafatsa kopo. Likhetho tsa ho tlatsa boleng ba litlhaloso:

  1. Boleng bo sa reroang ho sebelisa ts'ebetso e tloaelehileng - {{ randAlphaNum 6 }}.
    Ho na le tlhokomeliso: ka mor'a hore ho sebelisoe chate e nang le phapang e joalo, boleng ba tlhaloso bo tla ba bo ikhethang, 'me Helm e tla nka hore ho na le liphetoho. Hoa fumaneha hore re tla lula re qala ts'ebeliso, leha re so fetole mofuta oa eona. Sena ha se bohlokoa, kaha ho ke ke ha e-ba le nako ea ho theoha, empa e ntse e sa thabise.
  2. Beha hona joale letsatsi le nako - {{ .Release.Date }}.
    Phapang e ts'oana le boleng bo sa reroang bo nang le mofuta o ikhethileng oa kamehla.
  3. Mokhoa o nepahetseng haholoanyane ke oa ho o sebelisa lichelete tsa lichelete. Ena ke SHA ea setšoantšo kapa SHA ea boitlamo ba ho qetela ho git - {{ .Values.sha }}.
    Li tla hloka ho baloa le ho romeloa ho mofani oa Helm ka lehlakoreng la ho letsetsa, mohlala ho Jenkins. Haeba kopo e fetohile, joale checksum e tla fetoha. Ka hona, Helm e tla ntlafatsa kopo feela ha ho hlokahala.

Ha re akaretseng liteko tsa rona

  • Helm e etsa liphetoho ka tsela e fokolang haholo, kahoo phetoho leha e le efe boemong ba setšoantšo sa kopo ho Registry ea Docker e ke ke ea fella ka ntlafatso: ha ho letho le tla etsahala ka mor'a hore taelo e phethoe.
  • Senotlolo --force e sebelisetsoang ho khutlisetsa litokollo tse nang le mathata 'me ha e amane le lintlafatso tse qobelloang.
  • Senotlolo --recreate-pods e tla nchafatsa lits'ebetso ka matla, empa e tla e etsa ka mokhoa o senyang: e tla tima lijana tsohle ka tšohanyetso. Basebelisi ba tla utloa bohloko ka sena; ha ua lokela ho etsa sena tlhahisong.
  • Etsa liphetoho ka kotloloho ho sehlopha sa Kubernetes u sebelisa taelo kubectl edit u se ke ua: re tla senya botsitso, 'me boitšoaro bo tla fapana ho itšetlehile ka phetolelo ea Helm.
  • Ka ho lokolloa ha mofuta o mocha oa Helm, ho hlahile li-nuances tse ngata. Litaba tse sebakeng sa polokelo ea Helm li hlalosoa ka puo e hlakileng, li tla u thusa ho utloisisa lintlha.
  • Ho kenya tlhaloso e ka fetolehang chate ho tla etsa hore e be bonolo haholoanyane. Sena se tla u lumella ho kenya kopo ka nepo, ntle le ho fokotsa nako.

Khopolo ea "khotso ea lefats'e" e sebetsang likarolong tsohle tsa bophelo: bala litaelo pele u li sebelisa, eseng ka morao. Ke feela ka boitsebiso bo feletseng ho tla khoneha ho haha ​​​​litsamaiso tse tšepahalang le ho thabisa basebelisi.

Lihokelo tse ling tse amanang:

  1. Ho tloaelana le helmete 3
  2. Websaete ea molao ea Helm
  3. Sebaka sa polokelo ea Helm ho GitHub
  4. Lisebelisoa tsa 25 tse Molemo tsa Kubernetes: Tšebeliso le Tsamaiso

Tlaleho ena e ile ea hlahisoa ka lekhetlo la pele ho @Kubernetes Seboka ka Mail.ru Cloud Solutions. Sheba видео litšoantšiso tse ling 'me u ingolisetse liphatlalatso tsa ketsahalo ho Telegraph Ho pota Kubernetes ho Mail.ru Group.

Source: www.habr.com

Eketsa ka tlhaloso