Zviri nyore uye zviri nyore kugadzirira Kubernetes cluster? Kuzivisa addon-operator

Zviri nyore uye zviri nyore kugadzirira Kubernetes cluster? Kuzivisa addon-operator

Mushure shell-operator tinopa mukoma wake - addon-operator. Iyi iOpen Source purojekiti inoshandiswa kuisa masisitimu zvikamu muKubernetes cluster, inogona kunzi ma-add-ons.

Nei paine kuwedzera zvachose?

Haisi chakavanzika kuti Kubernetes haisi chigadzirwa chakagadzirirwa-mune chimwe, uye kuti uvake boka re "mukuru" iwe uchada zvakasiyana-siyana zvekuwedzera. Addon-operator ichakubatsira iwe kuisa, kugadzirisa uye kuchengetedza izvi zvinowedzera kusvika panguva.

Kudiwa kwezvimwe zvikamu musumbu kunoburitswa mukati Chirevo Vatinoshanda navo drusha. Muchidimbu, mamiriro ezvinhu neKubernetes panguva ino ndeokuti kuitira nyore "kutamba-kutenderera" kuisa iwe unogona kuwana nezvikamu kunze kwebhokisi, kune vanogadzira uye kuedza iwe unogona kuwedzera Ingress, asi nokuda kwekuiswa kwakazara, pamusoro peiyo. iwe unogona kuti "kugadzirwa kwako kwakagadzirira", iwe unofanirwa kuwedzera ne gumi nemaviri ekuwedzera akasiyana: chimwe chinhu chekutarisa, chimwe chinhu chekucheka matanda, usakanganwa ingress uye cert-maneja, sarudza mapoka emanodhi, wedzera network network, mwaka. ine sysctl uye pod autoscaler marongero ...

Zviri nyore uye zviri nyore kugadzirira Kubernetes cluster? Kuzivisa addon-operator

Ndeapi maitiro chaiwo ekushanda navo?

Sezvinoratidzwa nemaitiro, nyaya yacho haina kugumira pakuiswa kumwe chete. Kuti ushande zvakanaka nesumbu, ma-add-ons anozoda kuvandudzwa, kuremara (kubviswa kubva musumbu), uye iwe uchada kuyedza mamwe usati waaisa muboka rekugadzira.

Saka, pamwe Ansible achakwana pano? Pamwe. Asi Kazhinji, yakazara-yakazara ma-add-ons haararame pasina marongero. Aya marongero anogona kusiyana zvichienderana neiyo cluster musiyano (aws, gce, azure, bare-simbi, ita, ...). Mamwe marongero haagone kutaurwa pachine nguva; iwo anofanirwa kuwanikwa kubva musumbu. Uye iyo cluster haina kumira: kune mamwe marongero iwe uchafanirwa kutarisa shanduko. Uye pano Ansible yatove isipo: unoda chirongwa chinogara musumbu, i.e. Kubernetes Operator.

Avo vakazviedza kubasa shell-operator, ivo vachataura kuti mabasa ekuisa nekuvandudza ma-add-ons uye magadzirirwo ekutarisa anogona kugadziriswa zvachose uchishandisa. zvikorekedzo kune shell-operator. Iwe unogona kunyora script ichaita mamiriro kubectl apply uye tarisa, semuenzaniso, ConfigMap, uko marongero achachengetwa. Izvi zvinodaro izvo zvinoiswa muaddon-operator.

Izvi zvakarongwa sei mu-addon-operator?

Pakugadzira mhinduro nyowani, takaenderera kubva kune anotevera misimboti:

  • Iyo yekuwedzera-on installer inofanirwa kutsigira templating uye declarative kumisikidza. Isu hatigadziri zvinyorwa zvemashiripiti zvinoisa ma-add-ons. Addon-operator inoshandisa Helm kuisa addons. Kuisa, iwe unofanirwa kugadzira chati uye sarudza maitiro ayo achashandiswa kugadzirisa.
  • Zvirongwa zvinogona kuva gadzira pakuiswa, vanogona tora kubva kucluster, kana gamuchira zvigadziriso, kutarisa zviwanikwa zvecluster. Aya mabasa anogona kuitwa pachishandiswa hoko.
  • Zvirongwa zvinogona kuva chengeta musumbu. Kuchengeta marongero muchikwata, ConfigMap/addon-operator inogadzirwa uye iyo Addon-operator monitors inochinja kune ino ConfigMap. Addon-operator inopa zvikorekedzo kupinda kune zvigadziriso uchishandisa zvibvumirano zviri nyore.
  • Kuwedzera kunoenderana nezvirongwa. Kana zvigadziriso zvachinja, ipapo iyo Addon-operator inoburitsa iyo Helm chati ine hutsva hutsika. Isu takadaidza musanganiswa weiyo Helm chati, kukosha kwayo uye hoko dzemodule (ona pazasi kuti uwane rumwe ruzivo).
  • Staging. Iko hakuna mashiripiti ekuburitsa zvinyorwa. Iyo yekuvandudza meshini yakafanana neyenguva dzose application - unganidza ma-add-ons uye ma-addon-operators mumufananidzo, woamaka uye woaburitsa.
  • Result control. Addon-operator inogona kupa metrics yePrometheus.

Chii chinonzi padding mune addon-operator?

Kuwedzera kunogona kutariswa chero chinhu chinowedzera mabasa matsva kusumbu. Semuenzaniso, kuisa Ingress muenzaniso wakanaka wekuwedzera. Izvi zvinogona kuve chero mushandisi kana mutongi ane yake CRD: prometheus-operator, cert-maneja, kube-controller-maneja, nezvimwe. Kana chimwe chinhu chidiki, asi chinorerutsa kushanda - semuenzaniso, kopi yakavanzika, iyo inokopa zvakavanzika zvekunyoresa kune nyowani mazita, kana sysctl tuner, inogadzirisa sysctl paramita pane itsva node.

Kuita ma-add-ons, Addon-operator inopa akati wandei pfungwa:

  • Helm chati inoshandiswa kuisa software dzakasiyana-siyana musumbu - semuenzaniso, Prometheus, Grafana, nginx-ingress. Kana chikamu chinodiwa chine Helm chati, ipapo kuiisa uchishandisa Addon-operator kuchave nyore.
  • Values ​​yekuchengetedza. Helm machati kazhinji ane akawanda akasiyana marongero anogona kuchinja nekufamba kwenguva. Addon-operator inotsigira kuchengetedza izvi zvigadziriso uye inokwanisa kutarisa shanduko dzadzo kuitira kudzoreredza iyo Helm chati nehunhu hutsva.
  • Hooks ndiwo mafaera anogona kuitiswa ayo Addon-operator anomhanyisa pane zviitiko uye anowana kukosha kwechitoro. Iyo hoko inogona kutarisa shanduko musumbu uye kugadzirisa kukosha muchitoro chehunhu. Avo. Uchishandisa zvikorekedzo, iwe unogona kuita kuwanikwa kuti uunganidze kukosha kubva kusumbu pakutanga kana zvinoenderana nehurongwa, kana iwe unogona kuramba uchiwana, uchiunganidza kukosha kubva musumbu zvichienderana nekuchinja musumbu.
  • Module isanganiswa yeHelm chati, chitoro chetsika uye zvikorekedzo. Mamodule anogona kugoneswa kana kuvharwa. Kudzima module kunoreva kudzima zvese Helm chati yaburitswa. Mamodules anogona kuzvigonesa zvine simba, semuenzaniso, kana ese mamodule ainoda akagoneswa kana kana kuwanikwa kwakawana maparamendi anodiwa mumachira - izvi zvinoitwa uchishandisa script yakagoneswa yekubatsira.
  • Global zvikorekedzo. Aya machira "pachawo", haana kuisirwa mumamodule uye anokwanisa kuwana chitoro chepasi rose, kukosha kwacho kunowanikwa kune ese machira mumamodule.

Zvikamu izvi zvinoshanda pamwe chete sei? Ngatitarisei mufananidzo kubva pane zvinyorwa:

Zviri nyore uye zviri nyore kugadzirira Kubernetes cluster? Kuzivisa addon-operator

Pane maitiro maviri ekushanda:

  1. Iyo hoko yepasi rose inokonzereswa nechiitiko - semuenzaniso, kana sosi iri musumbu inoshanduka. Iyi hoko inogadzirisa shanduko uye inonyora hutsva hutsva kuchitoro chepasi rose. Addon-operator anocherechedza kuti chengetedzo yepasi rose yachinja uye inotanga mamodule ese. Imwe neimwe module, ichishandisa zvikorekedzo zvayo, inosarudza kana ichida kugoneswa uye inogadziridza kukosha kwayo chitoro. Kana iyo module ikagoneswa, iyo Addon-operator inotanga kuisirwa kweHelm chati. Mune ino kesi, iyo Helm chati inokwanisa kuwana kukosha kubva kumodule chengetedzo uye kubva kuchengetedzo yepasirese.
  2. Yechipiri mamiriro ari nyore: hoko yemodule inokonzereswa nechiitiko uye inoshandura kukosha muchitoro chemodule. Addon-operator anoona izvi uye anotangisa iyo Helm chati ine yakagadziridzwa tsika.

Iyo yekuwedzera inogona kuitwa sehoko imwechete, kana seimwe Helm chati, kana kunyangwe semamodule akati wandei anotsamira - izvi zvinoenderana nekuoma kwechikamu chiri kuiswa musumbu uye padanho rinodiwa rekugadzirisa kushanduka. Semuenzaniso, mune repository (/examples) kune sysctl-tuner yekuwedzera, iyo inoshandiswa zvese zviri nyore module ine hoko uye Helm chati, uye kushandisa kukosha kwechitoro, izvo zvinoita kuti zvikwanise kuwedzera marongero nekugadzirisa ConfigMap.

Delivery of updates

Mazwi mashoma nezve kuronga zvikamu zvinogadziriswa zvinoiswa neAddon-operator.

Kuti umhanye Addon-operator muchikwata, unoda gadzira mufananidzo nekuwedzera muchimiro che hook uye Helm chati mafaera, wedzera bhinari faira addon-operator uye zvese zvaunoda zvehuku: bash, kubectl, jq, python etc. Ipapo chifananidzo ichi chinogona kutenderedzwa kune cluster sechishandiso chenguva dzose, uye zvakanyanya iwe uchada kuronga imwe kana imwe tagging scheme. Kana paine masumbu mashoma, nzira yakafanana neyezvikumbiro ingave yakakodzera: kuburitswa kutsva, vhezheni nyowani, enda kumasumbu ese uye gadzirisa mufananidzo wePods. Nekudaro, kana iri nyaya yekuburitsa kune akakosha nhamba yemasumbu, pfungwa yekuzvigadzirisa kubva kuchiteshi yaive yakanyanya kutikodzera.

Heano maitiro atinozviita:

  • Chiteshi chinonyatso chiziviso chinogona kusetwa kune chero chinhu (semuenzaniso, dev/stage/ea/yakagadzikana).
  • Zita rechiteshi ndiro tag yemufananidzo. Paunenge uchida kuburitsa zvigadziriso kuchiteshi, chifananidzo chitsva chinounganidzwa uye chakaiswa zita rechiteshi.
  • Kana mufananidzo mutsva ukabuda mukunyoresa, Addon-operator inotangwazve uye inotangwa nemufananidzo mutsva.

Iyi haisi tsika yakanaka, sezvakanyorwa mukati Kubernetes zvinyorwa. Hazvikurudzirwi kuita izvi, asi tiri kutaura nezvazvo application yenguva dzose inogara musumbu rimwe chete. Panyaya yeAddon-operator, application yakawanda yeDeployments yakapararira mumasumbu, uye kuzvigadzirisa kunobatsira zvakanyanya uye kunoita kuti hupenyu huve nyore.

Zviteshi zvinobatsira uye mukuedza: kana paine boka rekubatsira, unogona kuzvigadzirisa kune chiteshi stage uye rondedzera zvigadziriso mairi usati waitenderedza kumachaneli ea ΠΈ stable. Kana ine cluster pachiteshi ea kukanganisa kwaitika, unogona kuchinjira stable, apo dambudziko resumbu iri riri kuongororwa. Kana iyo cluster ikabviswa mutsigiro inoshanda, inochinja kune yayo "chando" chiteshi - semuenzaniso, freeze-2019-03-20.

Pamusoro pekuvandudza zvikorekedzo uye Helm machati, iwe ungangoda update uye yechitatu bato chikamu. Semuyenzaniso, wakaona tsikidzi mune inomisikidzwa node-exporter uye wakatofunga kuti ungaipeta sei. Tevere, iwe wakavhura iyo PR uye wakamirira kuburitswa kutsva kuti upinde mumasumbu ese uye uwedzere shanduro yemufananidzo. Kuti usamirire nekusingaperi, unogona kuvaka yako node-exporter uye chinja kwairi usati wagamuchira iyo PR.

Kazhinji, izvi zvinogona kuitwa pasina Addon-operator, asi neAddon-operator module yekuisa node-exporter ichaonekwa mune imwe repository, iyo Dockerfile yekuvaka mufananidzo wako inogona kuchengetwa ipapo, zvinova nyore kune vese vatori vechikamu. nzira yekunzwisisa zvinoitika ... Uye kana pane mapoka akawanda, zvino zvinova nyore kune zvose kuedza PR yako uye kubudisa shanduro itsva!

Iri sangano rechikamu chekuvandudza rinoshanda zvinobudirira kwatiri, asi chero imwe chirongwa chakakodzera chinogona kuitwa - shure kwezvose mune iyi kesi Addon-operator iri nyore bhinari faira.

mhedziso

Misimboti inoshandiswa muAddon-operator inokubvumira kuti uvake nzira yakajeka yekugadzira, kuedza, kuisa nekugadzirisa ma-add-ons muchikwata, zvakafanana nekugadzirisa maitiro ezvishandiso zvenguva dzose.

Zvekuwedzera zveAddon-operator mumodule fomati (Helm chati + hoko) inogona kuitwa pachena. Isu, kambani yeFlant, tinoronga kushambadza zviitiko zvedu nenzira yekuwedzera kwakadaro munguva yezhizha. Join budiriro paGitHub (shell-operator, addon-operator), edza kuita yako wedzero zvichibva pane mienzaniso ΠΈ zvinyorwa, mirira nhau paHabrΓ© uye pane yedu YouTube chiteshi!

PS

Verenga zvakare pablog yedu:

Source: www.habr.com

Voeg