Huwa faċli u konvenjenti li tipprepara cluster Kubernetes? Tħabbar addon-operatur

Huwa faċli u konvenjenti li tipprepara cluster Kubernetes? Tħabbar addon-operatur

Wara operatur tal-qoxra nippreżentaw lil ħuh il-kbir - addon-operatur. Dan huwa proġett Open Source li jintuża biex jiġu installati komponenti tas-sistema fi cluster Kubernetes, li jistgħu jissejħu add-ons.

Għaliex xi żidiet fil-livelli kollha?

Mhuwiex sigriet li Kubernetes mhuwiex prodott lest kollu f'wieħed, u biex tibni cluster "adulti" ser ikollok bżonn diversi żidiet. Addon-operatur jgħinek tinstalla, tikkonfigura u żżomm dawn iż-żidiet aġġornati.

Il-ħtieġa għal komponenti addizzjonali fil-cluster hija żvelata fi tirrapporta Kollegi driusha. Fil-qosor, is-sitwazzjoni ma 'Kubernetes bħalissa hija tali li għal installazzjoni sempliċi "play around" tista' tgħaddi bil-komponenti barra mill-kaxxa, għall-iżviluppaturi u l-ittestjar tista 'żżid Ingress, iżda għal installazzjoni sħiħa, li dwarha tista 'tgħid "il-produzzjoni tiegħek hija lesta", għandek bżonn iżżid ma' tużżana add-ons differenti: xi ħaġa għall-monitoraġġ, xi ħaġa għall-qtugħ, tinsiex l-ingress u l-cert-manager, agħżel gruppi ta 'nodi, żid politiki tan-netwerk, staġun b'settings ta' sysctl u pod autoscaler...

Huwa faċli u konvenjenti li tipprepara cluster Kubernetes? Tħabbar addon-operatur

X'inhuma l-ispeċifiċitajiet ta 'ħidma magħhom?

Kif turi l-prattika, il-kwistjoni mhix limitata għal installazzjoni waħda. Biex taħdem bil-kumdità mal-cluster, iż-żidiet ser jeħtieġu li jiġu aġġornati, diżattivati ​​(imneħħija mill-cluster), u tkun trid tittestja xi wħud qabel tinstallahom fil-cluster tal-produzzjoni.

Allura, forsi Ansible se jkun biżżejjed hawn? Jista 'jkun. Iżda B'mod ġenerali, add-ons sħaħ ma jgħixux mingħajr settings. Dawn is-settings jistgħu jvarjaw skont il-varjant tal-cluster (aws, gce, azure, bare-metal, do, ...). Xi settings ma jistgħux jiġu speċifikati minn qabel għandhom jinkisbu mill-cluster. U l-cluster mhuwiex statiku: għal xi settings ser ikollok timmonitorja l-bidliet. U hawn Ansible diġà huwa nieqes: għandek bżonn programm li jgħix fi cluster, i.e. Operatur Kubernetes.

Dawk li ppruvaw fuq ix-xogħol operatur tal-qoxra, se jgħidu li l-kompiti ta 'installazzjoni u aġġornament ta' add-ons u settings ta 'monitoraġġ jistgħu jiġu solvuti kompletament bl-użu ganċijiet għall-operatur tal-qoxra. Tista 'tikteb b'kitba li se tagħmel kondizzjonali kubectl apply u jimmonitorja, pereżempju, ConfigMap, fejn se jinħażnu s-settings. Dan huwa bejn wieħed u ieħor dak li huwa implimentat f'addon-operator.

Kif huwa organizzat dan f'addon-operator?

Meta ħloqna soluzzjoni ġdida, ipproċedejna mill-prinċipji li ġejjin:

  • L-installatur add-on għandu jappoġġja mudellar u konfigurazzjoni dikjarattiva. Aħna ma nagħmlux skripts maġiċi li jinstallaw add-ons. Addon-operatur juża Helm biex jinstalla addons. Biex tinstalla, trid toħloq chart u tagħżel il-valuri li se jintużaw għall-konfigurazzjoni.
  • Settings jistgħu jkunu jiġġeneraw mal-installazzjoni, jistgħu jkunu tikseb minn clusterJew tirċievi aġġornamenti, il-monitoraġġ tar-riżorsi tal-clusters. Dawn l-operazzjonijiet jistgħu jiġu implimentati bl-użu ta 'ganċijiet.
  • Settings jistgħu jkunu aħżen fi cluster. Biex taħżen is-settings fil-cluster, jinħoloq ConfigMap/addon-operator u l-Addon-operator jimmonitorja l-bidliet għal dan il-ConfigMap. Addon-operatur jagħti aċċess ganċijiet għall-issettjar bl-użu ta 'konvenzjonijiet sempliċi.
  • Iż-żieda tiddependi fuq is-settings. Jekk is-settings ikunu nbidlu, allura l-operatur Addon jirrombla t-tabella Helm b'valuri ġodda. Aħna sejjaħ il-kombinazzjoni tat-tabella Helm, valuri għaliha u ganċijiet modulu (ara hawn taħt għal aktar dettalji).
  • Stadji. M'hemm l-ebda skripts ta 'rilaxx maġiku. Il-mekkaniżmu ta' aġġornament huwa simili għal applikazzjoni regolari - iġbor add-ons u addon-operators f'immaġini, immarkahom u roll out.
  • Kontroll tar-riżultat. Addon-operatur jista 'jipprovdi metriċi għal Prometheus.

X'inhu padding fl-addon-operator?

Żieda tista 'titqies kull ħaġa li żżid funzjonijiet ġodda mal-cluster. Per eżempju, l-installazzjoni ta 'Ingress hija eżempju kbir ta' add-on. Dan jista 'jkun kwalunkwe operatur jew kontrollur bis-CRD tiegħu stess: prometheus-operator, cert-manager, kube-controller-manager, eċċ. Jew xi ħaġa żgħira, iżda aktar faċli biex tużah - pereżempju, kopjatur sigriet, li jikkopja s-sigrieti tar-reġistru għal spazji tal-isem ġodda, jew sysctl tuner, li jikkonfigura l-parametri sysctl fuq nodi ġodda.

Biex timplimenta add-ons, Addon-operatur jipprovdi diversi kunċetti:

  • Tabella tat-Tmun użati biex jinstallaw softwer varji fil-cluster - per eżempju, Prometheus, Grafana, nginx-ingress. Jekk il-komponent meħtieġ ikollu chart Helm, allura l-installazzjoni bl-użu ta 'Addon-operator tkun sempliċi ħafna.
  • Ħażna tal-valuri. Iċ-ċarts tat-tmun normalment ikollhom ħafna settings differenti li jistgħu jinbidlu maż-żmien. L-operatur addon jappoġġja l-ħażna ta 'dawn is-settings u jista' jimmonitorja l-bidliet tagħhom sabiex jerġa 'jinstalla t-tabella ta' Helm b'valuri ġodda.
  • Ganċijiet huma fajls eżekutibbli li l-operatur Addon jaħdem fuq avvenimenti u li jaċċessaw il-maħżen tal-valuri. Il-ganċ jista 'jissorvelja l-bidliet fil-cluster u jaġġorna l-valuri fil-maħżen tal-valuri. Dawk. Billi tuża ganċijiet, tista 'tagħmel skoperta biex tiġbor valuri mill-cluster fl-istartjar jew skond skeda, jew tista' tagħmel skoperta kontinwa, tiġbor valuri mill-cluster ibbażata fuq bidliet fil-cluster.
  • Modulu hija taħlita ta 'chart Helm, maħżen tal-valuri u ganċijiet. Il-moduli jistgħu jiġu attivati ​​jew diżattivati. Id-diżattivazzjoni ta' modulu tfisser li tħassar ir-rilaxxi kollha taċ-ċart Helm. Il-moduli jistgħu jippermettu lilhom infushom b'mod dinamiku, pereżempju, jekk il-moduli kollha li teħtieġ huma attivati ​​jew jekk l-iskoperta sabet il-parametri meħtieġa fil-ganċijiet - dan isir bl-użu ta 'skript awżiljarju attivat.
  • Ganċijiet globali. Dawn huma ganċijiet "waħedhom", mhumiex inklużi fil-moduli u għandhom aċċess għal maħżen tal-valuri globali, li l-valuri tagħhom huma disponibbli għall-ganċijiet kollha fil-moduli.

Kif jaħdmu dawn il-partijiet flimkien? Ejja nħarsu lejn l-istampa mid-dokumentazzjoni:

Huwa faċli u konvenjenti li tipprepara cluster Kubernetes? Tħabbar addon-operatur

Hemm żewġ xenarji ta’ xogħol:

  1. Il-ganċ globali jiġi attivat minn avveniment - pereżempju, meta riżorsa fil-cluster tinbidel. Dan il-ganċ jipproċessa l-bidliet u jikteb il-valuri l-ġodda fil-maħżen tal-valuri globali. L-operatur addon jinnota li l-ħażna globali nbidlet u jibda l-moduli kollha. Kull modulu, billi juża l-ganċijiet tiegħu, jiddetermina jekk jeħtieġx li jiġi attivat u jaġġorna l-maħżen tal-valuri tiegħu. Jekk il-modulu huwa attivat, l-operatur Addon jibda l-installazzjoni tat-tabella Helm. F'dan il-każ, iċ-ċart Helm għandha aċċess għal valuri mill-ħażna tal-modulu u mill-ħażna globali.
  2. It-tieni xenarju huwa aktar sempliċi: ganċ tal-modulu jiġi attivat minn avveniment u jibdel il-valuri fil-maħżen tal-valuri tal-modulu. L-operatur addon jinnota dan u jniedi t-tabella Helm b'valuri aġġornati.

Iż-żieda tista 'tiġi implimentata bħala ganċ wieħed, jew bħala tabella Helm waħda, jew anke bħala diversi moduli dipendenti - dan jiddependi fuq il-kumplessità tal-komponent li qed jiġi installat fil-cluster u fuq il-livell mixtieq ta 'flessibilità tal-konfigurazzjoni. Pereżempju, fir-repożitorju (/eżempji) hemm sysctl-tuner add-on, li huwa implimentat kemm bħala modulu sempliċi b'ganċ u Helm chart, kif ukoll bl-użu tal-maħżen tal-valuri, li jagħmilha possibbli li żżid is-settings billi teditja ConfigMap.

Kunsinna ta' aġġornamenti

Ftit kelmiet dwar l-organizzazzjoni tal-aġġornamenti tal-komponenti li l-operatur Addon jinstalla.

Biex tmexxi Addon-operator fi cluster, għandek bżonn tibni immaġni b'żidiet fil-forma ta 'hook u Helm chart files, żid fajl binarju addon-operator u dak kollu li għandek bżonn għall-ganċijiet: bash, kubectl, jq, python eċċ. Imbagħad din l-immaġni tista 'tiġi mxerrda fil-cluster bħala applikazzjoni regolari, u x'aktarx tkun trid torganizza skema ta' tikkettjar waħda jew oħra. Jekk ikun hemm ftit clusters, l-istess approċċ bħal ma 'l-applikazzjonijiet jista' jkun adattat: rilaxx ġdid, verżjoni ġdida, mur fil-clusters kollha u kkoreġi l-immaġni tal-Pods. Madankollu, fil-każ ta 'tnedija għal numru sinifikanti ta' clusters, il-kunċett ta 'awto-aġġornament minn kanal kien aktar adattat għalina.

Hawn kif nagħmluh:

  • Kanal huwa essenzjalment identifikatur li jista 'jiġi ssettjat għal kwalunkwe ħaġa (per eżempju, dev/stage/ea/stable).
  • L-isem tal-kanal huwa t-tikketta tal-immaġni. Meta jkollok bżonn toħroġ aġġornamenti għal kanal, tinġabar immaġni ġdida u tiġi mmarkata bl-isem tal-kanal.
  • Meta immaġni ġdida tidher fir-reġistru, l-operatur Addon jerġa 'jinbeda u jitnieda bl-immaġni l-ġdida.

Din mhix l-aħjar prattika, kif miktub Dokumentazzjoni ta' Kubernetes. Mhux rakkomandat li tagħmel dan, iżda qed nitkellmu applikazzjoni regolari li tgħix fl-istess cluster. Fil-każ ta 'Addon-operator, applikazzjoni hija ħafna Skjeramenti mifruxa madwar raggruppamenti, u l-awto-aġġornament jgħin ħafna u jagħmel il-ħajja aktar faċli.

Il-kanali jgħinu u fl-ittestjar: jekk hemm cluster awżiljarju, tista 'tikkonfiguraha mal-kanal stage u roll aġġornamenti fiha qabel rolling out għall-kanali ea и stable. Jekk ma 'cluster fuq il-kanal ea seħħ żball, tista' taqlebha stable, filwaqt li l-problema b'dan il-cluster qed tiġi investigata. Jekk il-cluster jitneħħa mill-appoġġ attiv, jaqleb għall-kanal "iffriżat" tiegħu - pereżempju, freeze-2019-03-20.

Minbarra l-aġġornament tal-ganċijiet u t-tabelli ta 'Hm, jista' jkollok bżonn aġġornament u parti terza komponent. Per eżempju, innotajt bug fil-kondizzjonali node-esportatur u anke dehret kif tirranġaha. Sussegwentement, ftaħt il-PR u qed tistenna li r-rilaxx il-ġdid jgħaddi mill-clusters kollha u jżid il-verżjoni tal-immaġni. Sabiex ma tistennax għal żmien indefinit, tista 'tibni l-esportatur tan-node tiegħek u taqleb għalih qabel ma taċċetta l-PR.

B'mod ġenerali, dan jista 'jsir mingħajr Addon-operator, iżda b'Addon-operator il-modulu għall-installazzjoni ta' node-exporter se jkun viżibbli f'repożitorju wieħed, id-Dockerfile għall-bini ta 'l-immaġni tiegħek jista' jinżamm hemm dritt, isir aktar faċli għall-parteċipanti kollha f' il-proċess biex tifhem x'jiġri... U jekk ikun hemm diversi clusters, allura jsir aktar faċli kemm li tittestja l-PR tiegħek kif ukoll li toħroġ verżjoni ġdida!

Din l-organizzazzjoni tal-aġġornament tal-komponenti taħdem b'suċċess għalina, iżda kwalunkwe skema oħra xierqa tista 'tiġi implimentata - wara kollox f'dan il-każ Addon-operatur huwa fajl binarju sempliċi.

Konklużjoni

Il-prinċipji implimentati f'Addon-operator jippermettulek tibni proċess trasparenti għall-ħolqien, l-ittestjar, l-installazzjoni u l-aġġornament ta 'add-ons fi cluster, simili għall-proċessi ta' żvilupp ta 'applikazzjonijiet regolari.

Add-ons għall-Addon-operator fil-format tal-modulu (Helm chart + ganċijiet) jistgħu jsiru pubblikament disponibbli. Aħna, il-kumpanija Flant, nippjanaw li nippubblikaw l-iżviluppi tagħna fil-forma ta 'żidiet bħal dawn matul is-sajf. Ingħaqad fl-iżvilupp fuq GitHub (operatur tal-qoxra, addon-operatur), ipprova tagħmel iż-żieda tiegħek ibbażata fuq eżempji и dokumentazzjoni, stenna aħbarijiet fuq Habré u fuq tagħna Kanal YouTube!

PS

Aqra wkoll fuq il-blog tagħna:

Sors: www.habr.com

Żid kumment