Na ho bonolo ebile ho bonolo ho lokisa sehlopha sa Kubernetes? E phatlalatsa sesebediswa sa addon

Na ho bonolo ebile ho bonolo ho lokisa sehlopha sa Kubernetes? E phatlalatsa sesebediswa sa addon

Kamora khetla-mosebetsi re hlahisa moholoane oa hae - addon-opereta. Ona ke morero oa Open Source o sebelisetsoang ho kenya likarolo tsa tsamaiso ho sehlopha sa Kubernetes, se ka bitsoang li-add-ons.

Hobaneng ho eketsoa ho hang?

Ha se lekunutu la hore Kubernetes ha se sehlahisoa se lokiselitsoeng ka bonngoe, mme ho theha sehlopha sa "batho ba baholo" o tla hloka litlatsetso tse fapaneng. Addon-operator e tla u thusa ho kenya, ho lokisa le ho boloka li-add-on tsena li ntse li le teng.

Tlhokahalo ea likarolo tse eketsehileng sehlopheng e senotsoe ka tlaleha Basebetsi-'moho drisa. Ka bokhutšoanyane, boemo ba Kubernetes hona joale ke hore bakeng sa ts'ebetso e bonolo ea "play around" u ka fumana ka likarolo tse ka ntle ho lebokose, bakeng sa bahlahisi le liteko u ka eketsa Ingress, empa bakeng sa ho kenya ka botlalo, e leng o ka re "hlahiso ea hau e se e loketse", o hloka ho eketsa ka li-add-on tse XNUMX tse fapaneng: ntho ea ho shebella, ntho e itseng bakeng sa ho rema lifate, u se ke ua lebala ingress le cert-manager, khetha lihlopha tsa li-node, eketsa maano a marang-rang, nako ea selemo. ka litlhophiso tsa sysctl le pod autoscaler...

Na ho bonolo ebile ho bonolo ho lokisa sehlopha sa Kubernetes? E phatlalatsa sesebediswa sa addon

Ke lintlha life tse tobileng tsa ho sebetsa le bona?

Joalokaha tloaelo e bontša, taba ha e felle feela ho kenngoeng e le 'ngoe. Ho sebetsa ka boiketlo le sehlopha, li-add-on li tla hloka ho nchafatsoa, ​​​​ho koaloa (ho tlosoa sehlopheng), 'me u tla batla ho hlahloba tse ling pele u li kenya sehlopheng sa tlhahiso.

Joale, mohlomong Ansible e tla lekana mona? Mohlomong. Empa Ka kakaretso, li-add-on tse feletseng ha li phele ntle le litlhophiso. Litlhophiso tsena li ka fapana ho latela mefuta ea sehlopha (aws, gce, azure, bare-metal, do, ...). Litlhophiso tse ling li ke ke tsa boleloa esale pele; li tlameha ho fumanoa ho tsoa sehlopheng. 'Me sehlopha ha se eme: bakeng sa litlhophiso tse ling u tla tlameha ho shebella liphetoho. 'Me mona Ansible e se e ntse e le sieo: o hloka lenaneo le phelang ka har'a sehlopha, ke hore. Opereishene ea Kubernetes.

Ba lekileng mosebetsing khetla-mosebetsi, ba tla re mesebetsi ea ho kenya le ho ntlafatsa li-add-on le li-setting tsa ho shebella li ka rarolloa ka ho feletseng ho sebelisoa. likhoka bakeng sa khetla-opereishene. U ka ngola mongolo o tla etsa maemo kubectl apply le ho beha leihlo, mohlala, ConfigMap, moo litlhophiso li tla bolokoa. Sena ke hoo e ka bang se sebelisoang ho addon-operator.

See se hlophisitsoe joang ho addon-operator?

Ha re theha tharollo e ncha, re tsoetse pele ho melaoana e latelang:

  • Sehlomathiso se tlameha ho ts'ehetsa tlhophiso ea sebopeho le phatlalatso. Ha re etse lingoloa tsa boselamose tse kenyang li-add-on. Addon-operator e sebelisa Helm ho kenya li-addon. Ho kenya, o hloka ho theha chate ebe o khetha litekanyetso tse tla sebelisoa bakeng sa tlhophiso.
  • Litlhophiso li ka ba hlahisa ka ho kenya, ba ka khona tsoa sehlopheng, kapa fumana lintlafatso, ho hlokomela mehloli ea lihlopha. Ts'ebetso tsena li ka etsoa ho sebelisoa li-hook.
  • Litlhophiso li ka ba boloka ka sehlopha. Ho boloka li-setting ka har'a sehlopha, ConfigMap/addon-operator e ea etsoa 'me li-monitor tsa Addon-operator lia fetoha ho ConfigMap ena. Addon-operator e fana ka li-hook ho fihlella litlhophiso ho sebelisa likopano tse bonolo.
  • Keketso e ipapisitse le li-setting. Haeba litlhophiso li fetohile, joale Addon-operator e ntša chate ea Helm ka litekanyetso tse ncha. Re bitsitse motsoako oa chate ea Helm, boleng ba eona le ho hokela mojule (bona ka tlase bakeng sa lintlha tse ling).
  • Ho etsa sethala. Ha ho na mengolo ea tokollo ea boselamose. Mokhoa oa ho ntlafatsa o tšoana le ts'ebeliso e tloaelehileng - bokella li-add-on le li-addon-operator setšoantšong, li tšoaee 'me u li ntše.
  • Taolo ea sephetho. Addon-operator e ka fana ka metrics bakeng sa Prometheus.

Padding ho addon-operator ke eng?

Keketso e ka nkoa e le ntho leha e le efe e eketsang mesebetsi e mecha ho sehlopha. Ka mohlala, ho kenya Ingress ke mohlala o motle oa ho eketsa. Sena e ka ba opereishene kapa molaoli ofe kapa ofe ea nang le CRD ea hae: prometheus-operator, cert-manager, kube-controller-manager, joalo-joalo. Kapa ntho e nyane, empa ho le bonolo ho e sebelisa - ka mohlala, kopi ea lekunutu, e kopitsang liphiri tsa ngoliso ho libaka tse ncha tsa mabitso, kapa sysctl tuner, e hlophisang liparamente tsa sysctl ho li-node tse ncha.

Ho kenya ts'ebetsong li-add-on, Addon-operator e fana ka likhopolo tse 'maloa:

  • Chate ea helm e sebelisitsoeng ho kenya software e fapaneng sehlopheng - mohlala, Prometheus, Grafana, nginx-ingress. Haeba karolo e hlokahalang e na le chate ea Helm, joale ho e kenya ho sebelisa Addon-operator ho tla ba bonolo haholo.
  • Boleng ba polokelo. Hangata lichate tsa Helm li na le litlhophiso tse ngata tse fapaneng tse ka fetohang ha nako e ntse e ea. Addon-operator e ts'ehetsa ho boloka litlhophiso tsena mme e khona ho beha leihlo liphetoho tsa bona molemong oa ho kenya chate ea Helm hape ka boleng bo bocha.
  • Hook ke lifaele tse phethiloeng tseo Addon-operator e li tsamaisang liketsahalong le tse fihlellang lebenkele la boleng. Hook e ka shebella liphetoho sehlopheng mme ea ntlafatsa boleng ba lebenkele la boleng. Tseo. U sebelisa li-hook, u ka sibolla ho bokella boleng ho tsoa sehlopheng ha u qala kapa ho latela kemiso, kapa u ka fumana ts'ebetso e tsoelang pele, ho bokella boleng ho tsoa sehlopheng ho latela liphetoho tse hlahang sehlopheng.
  • Module ke motsoako oa chate ea Helm, lebenkele la boleng le lihakisi. Li-module li ka lumelloa kapa tsa holofatsoa. Ho tima module ho bolela ho hlakola likhatiso tsohle tsa chate ea Helm. Li-module li ka ithuisa ka matla, mohlala, haeba li-module tsohle tseo li li hlokang li nolofalitsoe kapa haeba ho sibolloa ho fumane li-parameter tse hlokahalang ho li-hook - sena se etsoa ho sebelisoa script e thusang.
  • Lihoko tsa lefats'e. Tsena ke li-hook "ka botsona", ha li kenyellelitsoe ho li-module mme li na le phihlello ea lebenkele la boleng ba lefats'e, boleng ba tsona bo fumanehang ho li-hook tsohle tsa li-module.

Likarolo tsee li sebelisana joang? Ha re shebeng setšoantšo se tsoang litokomaneng:

Na ho bonolo ebile ho bonolo ho lokisa sehlopha sa Kubernetes? E phatlalatsa sesebediswa sa addon

Ho na le likarolo tse peli tsa mosebetsi:

  1. Hook ea lefats'e e hlahisoa ke ketsahalo - mohlala, ha mohloli o ka har'a sehlopha o fetoha. Hook ena e sebetsana le liphetoho mme e ngola boleng bo bocha lebenkeleng la boleng ba lefats'e. Addon-operator e hlokomela hore polokelo ea lefats'e e fetohile mme e qala li-module tsohle. Module e 'ngoe le e' ngoe, e sebelisa li-hook tsa eona, e etsa qeto ea hore na e hloka ho lumelloa le ho ntlafatsa lebenkele la eona la boleng. Haeba module e nolofalitsoe, Addon-operator e qala ho kenya chate ea Helm. Tabeng ena, chate ea Helm e na le phihlello ea boleng ho tsoa polokelong ea module le polokelong ea lefats'e.
  2. Boemo ba bobeli bo bonolo ho feta: hook ea module e hlahisoa ke ketsahalo mme e fetola boleng ka lebenkeleng la boleng ba module. Addon-operator e hlokomela sena mme e qala chate ea Helm e nang le boleng bo ntlafalitsoeng.

Keketso e ka kenngoa ts'ebetsong e le hook e le 'ngoe, kapa e le chate e le' ngoe ea Helm, kapa esita le li-module tse 'maloa tse itšetlehileng ka tsona - sena se itšetlehile ka ho rarahana ha karolo e kenngoa sehlopheng le boemong bo lakatsehang ba ho feto-fetoha ha maemo. Ka mohlala, sebakeng sa polokelo (/mehlala) ho na le kenyelletso ea sysctl-tuner, e sebelisoang ka bobeli e le mojule o bonolo o nang le hook le chate ea Helm, le ho sebelisa lebenkele la boleng, e leng se etsang hore ho khonehe ho eketsa litlhophiso ka ho hlophisa ConfigMap.

Phano ea lintlafatso

Mantsoe a seng makae mabapi le ho hlophisa liapdeite tsa likarolo tse kentsoeng ke Addon-operator.

Ho tsamaisa Addon-operator sehlopheng, o hloka haha setshoantsho ka tlatsetso ka mokhoa oa hook le lifaele tsa chate ea Helm, eketsa faele ea binary addon-operator le tsohle tseo o li hlokang bakeng sa hook: bash, kubectl, jq, python etc. Joale setšoantšo sena se ka fetisetsoa sehlopheng e le ts'ebeliso ea kamehla, 'me mohlomong u tla batla ho hlophisa leano le le leng kapa le leng. Haeba ho na le lihlopha tse fokolang, mokhoa o tšoanang le oa likopo o ka ba o loketseng: tokollo e ncha, mofuta o mocha, e-ea ho lihlopha tsohle 'me u lokise setšoantšo sa li-Pods. Leha ho le joalo, tabeng ea ho phatlalatsa palo e kholo ea lihlopha, khopolo ea ho inchafatsa ho tloha mocha e ne e loketse haholoanyane bakeng sa rona.

Mona ke kamoo re e etsang:

  • Ha e le hantle kanale ke sesupo se ka hlophisoang ho eng kapa eng (mohlala, dev/stage/ea/stable).
  • Lebitso la kanale ke tag ea setšoantšo. Ha o hloka ho hlahisa liapdeite mocha, setšoantšo se secha se a bokelloa ebe se tšoailoe ka lebitso la kanale.
  • Ha setšoantšo se secha se hlaha ho registry, Addon-opereta e qala hape mme e qalisoa ka setšoantšo se secha.

Sena ha se mokhoa o motle ka ho fetisisa, joalo ka ha o ngotsoe ho Litokomane tsa Kubernetes. Ha ho kgothaletswe ho etsa sena, empa re bua ka tshebediso ya kamehla e phelang sehlopheng se le seng. Tabeng ea Addon-operator, kopo ke li-Deployments tse ngata tse hasaneng ho pholletsa le lihlopha, 'me ho inchafatsa ho thusa haholo le ho nolofatsa bophelo.

Likanale thusa le tekong: haeba ho na le sehlopha se thusang, u ka se lokisetsa mocha stage 'me u kenye lintlafatso ho eona pele u e fetisetsa ho likanale ea и stable. Haeba e na le sehlopha ho kanaleng ea phoso e etsahetse, o ka e fetolela ho eona stable, ha bothata ba sehlopha sena bo ntse bo batlisisoa. Haeba sehlopha se tlositsoe ts'ehetso e sebetsang, se fetohela mocha oa "hatsetsi" - mohlala, freeze-2019-03-20.

Ntle le ho ntlafatsa lihakisi le lichate tsa Helm, u ka li hloka ntlafatso le karolo ea motho oa boraro. Ka mohlala, u hlokometse bothata ho node-exporter e nang le maemo, 'me u bile u fumane mokhoa oa ho e pata. Ka mor'a moo, o ile oa bula PR mme o emetse tokollo e ncha ho feta har'a lihlopha tsohle le ho eketsa mofuta oa setšoantšo. E le hore u se ke ua ema ka nako e sa lekanyetsoang, u ka haha ​​​​node-exporter ea hau 'me u fetohele ho eona pele u amohela PR.

Ka kakaretso, sena se ka etsoa ntle le Addon-operator, empa ka Addon-operator module ea ho kenya node-exporter e tla bonahala sebakeng sa polokelo e le 'ngoe, Dockerfile bakeng sa ho haha ​​​​setšoantšo sa hau e ka bolokoa hona moo, ho ba bonolo ho bohle ba nkang karolo. ts'ebetso ea ho utloisisa se etsahalang ... 'Me haeba ho na le lihlopha tse' maloa, joale ho ba bonolo ho hlahloba PR ea hau le ho ntša phetolelo e ncha!

Mokhatlo ona oa ntlafatso ea likarolo o sebetsa ka katleho bakeng sa rona, empa morero ofe kapa ofe o loketseng o ka sebelisoa - ka mor'a tsohle tabeng ena Addon-operator ke faele e bonolo ea binary.

fihlela qeto e

Melao-motheo e sebelisitsoeng ho Addon-operator e u lumella ho haha ​​​​mokhoa o hlakileng oa ho theha, ho hlahloba, ho kenya le ho ntlafatsa li-add-on ka har'a sehlopha, tse tšoanang le mekhoa ea ntlafatso ea likopo tse tloaelehileng.

Li-add-on tsa Addon-operator ka sebopeho sa mojule (Helm chart + hook) li ka fumaneha phatlalatsa. Rona, k'hamphani ea Flant, re rera ho phatlalatsa lintlafatso tsa rona ka mokhoa oa litlatsetso tse joalo nakong ea lehlabula. Kena le nts'etsopele ho GitHub (khetla-mosebetsi, addon-opereta), leka ho iketsetsa tlatsetso ho latela mehlala и litokomane, emela litaba ka Habré le tsa rona Lenaneo la YouTube!

PES

Bala hape ho blog ea rona:

Source: www.habr.com

Eketsa ka tlhaloso