Shin yana da sauƙi da dacewa don shirya gungu na Kubernetes? Sanarwa addon-operator

Shin yana da sauƙi da dacewa don shirya gungu na Kubernetes? Sanarwa addon-operator

Bayan mai aiki da harsashi mun gabatar da babban yayansa - adon-operator. Wannan aikin Buɗewa ne wanda ake amfani da shi don shigar da abubuwan tsarin cikin gungu na Kubernetes, wanda ana iya kiransa add-ons.

Me yasa wani ƙari kwata-kwata?

Ba asiri ba ne cewa Kubernetes ba samfurin da aka yi da shi ba ne, kuma don gina gungu na "manyan" za ku buƙaci ƙari daban-daban. Addon-operator zai taimake ka ka shigar, daidaitawa da kuma ci gaba da waɗannan add-ons har zuwa yau.

Ana bayyana buƙatar ƙarin abubuwan haɗin gwiwa a cikin tari rahoto Abokan aiki driusha. A takaice dai, halin da ake ciki tare da Kubernetes a halin yanzu shine don sauƙi "wasa a kusa" shigarwa za ku iya samun ta tare da abubuwan da aka gyara daga cikin akwatin, don masu haɓakawa da gwaji za ku iya ƙara Ingress, amma don cikakken shigarwa, game da wanda za ka iya ce "ka samar da shi a shirye", kana bukatar ka ƙara da dozin daban-daban add-ons: wani abu don saka idanu, wani abu don shiga, kar a manta ingress da cert-manajan, zaži kungiyoyin na nodes, ƙara cibiyar sadarwa manufofin, kakar. tare da saitunan sysctl da pod autoscaler...

Shin yana da sauƙi da dacewa don shirya gungu na Kubernetes? Sanarwa addon-operator

Menene takamaiman aiki tare da su?

Kamar yadda aikin ya nuna, al'amarin bai iyakance ga shigarwa ɗaya ba. Don yin aiki cikin kwanciyar hankali tare da gungu, add-ons zasu buƙaci sabuntawa, kashe su (cire daga gungu), kuma kuna son gwada wasu kafin shigar da su a cikin gungun samarwa.

Don haka, watakila Ansible zai isa a nan? Wataƙila. Amma Gabaɗaya, cikakkun abubuwan ƙarawa ba sa rayuwa ba tare da saiti ba. Waɗannan saitunan na iya bambanta dangane da bambancin tari (aws, gce, azure, bare-metal, do, ...). Wasu saituna ba za a iya bayyana a gaba ba; dole ne a samo su daga gungu. Kuma gungu ba a tsaye yake ba: don wasu saitunan dole ne ku saka idanu akan canje-canje. Kuma a nan Ansible an riga an ɓace: kuna buƙatar shirin da ke zaune a cikin gungu, watau. Kubernetes Operator.

Wadanda suka gwada shi a wurin aiki mai aiki da harsashi, za su ce za a iya warware ayyukan shigarwa da sabunta add-ons da saitunan saka idanu gaba daya ta amfani da su. ƙugiya ga mai sarrafa harsashi. Kuna iya rubuta rubutun da zai yi sharadi kubectl apply da saka idanu, misali, ConfigMap, inda za'a adana saitunan. Wannan shine kusan abin da ake aiwatarwa a cikin addon-operator.

Ta yaya aka tsara wannan a addon-operator?

Lokacin ƙirƙirar sabon bayani, mun ci gaba daga ka'idodi masu zuwa:

  • Dole ne mai shigar da ƙara ya goyi baya samfuri da ƙayyadaddun tsari. Ba mu yin rubutun sihiri waɗanda ke shigar da ƙari. Addon-operator yana amfani da Helm don shigar da addons. Don shigarwa, kuna buƙatar ƙirƙirar ginshiƙi kuma zaɓi ƙimar da za a yi amfani da su don daidaitawa.
  • Saituna na iya zama haifar a kan shigarwa, za su iya samu daga tari, ko karbi sabuntawa, saka idanu albarkatun tari. Ana iya aiwatar da waɗannan ayyuka ta amfani da ƙugiya.
  • Saituna na iya zama adana a cikin tari. Don adana saituna a cikin gungu, an ƙirƙiri ConfigMap/addon-operator kuma Addon-operator yana lura da canje-canje zuwa wannan ConfigMap. Addon-operator yana ba ƙugiya damar shiga saituna ta amfani da ƙa'idodi masu sauƙi.
  • Ƙari ya dogara da saitunan. Idan saitunan sun canza, to Addon-operator yana fitar da taswirar Helm tare da sababbin dabi'u. Mun kira hade da ginshiƙi Helm, darajar da shi da kuma hooks a module (duba ƙasa don ƙarin cikakkun bayanai).
  • Tsayawa. Babu rubutun sakin sihiri. Tsarin sabuntawa yana kama da aikace-aikacen yau da kullun - tattara add-ons da masu aiki a cikin hoto, yi musu alama sannan a fitar da su.
  • Sarrafa sakamako. Addon-operator na iya samar da ma'auni don Prometheus.

Menene padding a addon-operator?

Ana iya la'akari da ƙari duk wani abu da ke ƙara sababbin ayyuka zuwa gungu. Misali, shigar da Ingress babban misali ne na ƙari. Wannan na iya zama kowane mai aiki ko mai sarrafawa tare da nasa CRD: prometheus-operator, cert-manager, kube-controller-manager, da sauransu. Ko wani ƙaramin abu, amma mafi sauƙin amfani - alal misali, kwafin sirri, wanda ke kwafin sirrin rajista zuwa sabbin wuraren suna, ko sysctl tuner, wanda ke daidaita sigogin sysctl akan sabbin nodes.

Don aiwatar da add-ons, Addon-operator yana ba da ra'ayoyi da yawa:

  • Tsarin Helm ana amfani da su don shigar da software daban-daban a cikin gungu - misali, Prometheus, Grafana, nginx-ingress. Idan bangaren da ake buƙata yana da taswirar Helm, to shigar da shi ta amfani da Addon-operator zai zama mai sauƙi.
  • Ma'ajiyar dabi'u. Taswirar Helm yawanci suna da saitunan daban-daban waɗanda zasu iya canzawa akan lokaci. Addon-operator yana goyan bayan adana waɗannan saitunan kuma yana iya lura da canje-canjen su don sake shigar da taswirar Helm tare da sabbin ƙima.
  • Kugiya fayiloli ne masu aiwatarwa waɗanda Addon-operator ke aiwatarwa akan abubuwan da suka faru kuma waɗanda ke samun damar adana ƙimar ƙimar. Ƙungiya na iya sa ido kan canje-canje a cikin tari kuma ya sabunta ƙima a cikin ma'ajin ƙididdiga. Wadancan. Yin amfani da ƙugiya, zaku iya yin bincike don tattara ƙima daga gungu a farawa ko bisa ga jadawali, ko kuma kuna iya ci gaba da ganowa, tattara ƙima daga gungu bisa canje-canje a cikin gungu.
  • Module haɗin ginshiƙi ne na Helm, ma'ajin ƙima da ƙugiyoyi. Ana iya kunna ko kashe module. Kashe tsarin yana nufin share duk abubuwan da aka fitar na Helm. Modules na iya taimaka wa kansu da ƙarfi, alal misali, idan an kunna duk na'urorin da suke buƙata ko kuma idan ganowa ya sami ma'auni masu mahimmanci a cikin ƙugiya - ana yin wannan ta amfani da rubutun da aka kunna.
  • Ƙwayoyin duniya. Waɗannan ƙugiya ne "da kansu", ba a haɗa su a cikin kayayyaki ba kuma suna da damar zuwa kantin sayar da ƙima na duniya, waɗanda ƙimar suna samuwa ga duk ƙugiya a cikin kayayyaki.

Ta yaya waɗannan sassan ke aiki tare? Bari mu kalli hoton daga takardun:

Shin yana da sauƙi da dacewa don shirya gungu na Kubernetes? Sanarwa addon-operator

Akwai hanyoyi guda biyu na aiki:

  1. Ƙungiya ta duniya tana haifar da wani abu - alal misali, lokacin da kayan aiki a cikin gungu ya canza. Wannan ƙugiya tana aiwatar da canje-canje kuma yana rubuta sabbin dabi'u zuwa ma'ajiyar kimar duniya. Addon-operator yana lura cewa ma'ajiyar duniya ta canza kuma ta fara duk kayayyaki. Kowane tsarin, ta amfani da ƙugiya, yana ƙayyade ko yana buƙatar kunna shi kuma yana sabunta ma'ajin ƙimarsa. Idan an kunna tsarin, Addon-operator yana fara shigar da taswirar Helm. A wannan yanayin, ginshiƙi na Helm yana da damar yin amfani da ƙima daga ma'ajin ma'auni kuma daga ajiyar duniya.
  2. Yanayi na biyu ya fi sauƙi: ƙugiya na ƙirar yana haifar da wani lamari kuma yana canza ƙima a cikin ma'ajin ƙimar module. Addon-operator ya lura da wannan kuma ya ƙaddamar da ginshiƙi na Helm tare da sabunta ƙima.

Ana iya aiwatar da ƙari azaman ƙugiya ɗaya, ko azaman ginshiƙi na Helm ɗaya, ko ko da a matsayin da yawa dogara kayayyaki - wannan ya dogara da rikitarwa na ɓangaren da aka shigar a cikin gungu kuma a kan matakin da ake so na daidaitawa. Alal misali, a cikin ma'ajin (/misali) akwai sysctl-tuner add-on, wanda aka aiwatar duka a matsayin tsari mai sauƙi tare da ƙugiya da taswirar Helm, da kuma amfani da ma'ajin ƙididdiga, wanda ya sa ya yiwu a ƙara saitunan ta hanyar gyara ConfigMap.

Isar da sabuntawa

Kalmomi kaɗan game da tsara abubuwan sabunta abubuwan da Addon-operator ke sakawa.

Don gudanar da Addon-operator a cikin gungu, kuna buƙatar gina hoto tare da ƙari a cikin hanyar ƙugiya da fayilolin taswirar Helm, ƙara fayil ɗin binary addon-operator da duk abin da kuke buƙata don ƙugiya: bash, kubectl, jq, python da dai sauransu. Sa'an nan wannan hoton za a iya mirgine shi zuwa gungu a matsayin aikace-aikace na yau da kullum, kuma da alama za ku so ku tsara ɗaya ko wani makircin alamar alama. Idan akwai 'yan gungu, hanya ɗaya kamar ta aikace-aikace na iya dacewa: sabon saki, sabon sigar, je duk gungu kuma gyara hoton Pods. Koyaya, idan aka yi jujjuyawar zuwa ga adadi mai yawa na gungu, manufar sabunta kai daga tashar ta fi dacewa da mu.

Ga yadda za mu yi:

  • Tashoshi ainihin abin ganowa ne wanda za'a iya saita shi zuwa wani abu (misali, dev/stage/ea/stable).
  • Sunan tashar shine alamar hoton. Lokacin da kake buƙatar fitar da sabuntawa zuwa tasha, ana haɗa sabon hoto da kuma sanya alama tare da sunan tashar.
  • Lokacin da sabon hoto ya bayyana a cikin rajista, Addon-operator yana sake kunnawa kuma an ƙaddamar da shi tare da sabon hoton.

Wannan ba shine mafi kyawun aiki ba, kamar yadda aka rubuta a ciki Dokokin Kubernetes. Ba a ba da shawarar yin wannan ba, amma muna magana ne game da aikace-aikacen yau da kullun wanda ke zaune a cikin gungu ɗaya. A cikin yanayin Addon-operator, aikace-aikacen yana da yawa na Ƙaddamarwa da ke warwatse a cikin gungu, kuma sabunta kai yana taimakawa da yawa kuma yana sauƙaƙa rayuwa.

Tashoshi suna taimakawa kuma a gwaji: idan akwai gungu na taimako, zaku iya saita shi zuwa tashar stage kuma mirgine sabuntawa a ciki kafin mirgine shi zuwa tashoshi ea и stable. Idan tare da tari akan tashar ea kuskure ya faru, zaka iya canza shi zuwa stable, yayin da ake binciken matsalar wannan gungu. Idan gungu an cire shi daga tallafi mai aiki, ya canza zuwa tashar "daskararre" - misali, freeze-2019-03-20.

Baya ga sabunta ƙugiya da jadawalin Helm, kuna iya buƙata sabuntawa da ɓangaren ɓangare na uku. Misali, kun lura da kwaro a cikin mai fitar da kuɗaɗen sharaɗi har ma da gano yadda ake facinsa. Bayan haka, kun buɗe PR kuma kuna jiran sabon sakin don shiga cikin dukkan gungu kuma ƙara sigar hoton. Don kada ku jira har abada, zaku iya gina mai fitar da kundi-kuɗi kuma ku canza zuwa gare ta kafin karɓar PR.

Gabaɗaya, ana iya yin wannan ba tare da Addon-operator ba, amma tare da Addon-operator module ɗin don shigar da node-exporter za a iya gani a cikin wurin ajiya guda ɗaya, Dockerfile don gina hoton ku ana iya ajiye shi a can, ya zama mai sauƙi ga duk mahalarta tsarin don fahimtar abin da ke faruwa ... Kuma idan akwai gungu da yawa, to ya zama sauƙi don gwada PR ɗin ku kuma mirgine sabon sigar!

Wannan ƙungiyar sabunta kayan aikin tana aiki cikin nasara a gare mu, amma ana iya aiwatar da duk wani tsarin da ya dace - bayan duk a wannan yanayin Addon-operator fayil ne mai sauƙi.

ƙarshe

Ka'idodin da aka aiwatar a cikin Addon-operator suna ba ku damar gina tsari na gaskiya don ƙirƙira, gwaji, shigarwa da sabunta abubuwan ƙarawa a cikin tari, kama da hanyoyin haɓaka aikace-aikacen yau da kullun.

Ƙara-kan don Addon-operator a cikin tsarin tsari (Chanshin Helm + hooks) ana iya samar da shi ga jama'a. Mu, kamfanin Flant, muna shirin buga abubuwan da muka ci gaba ta hanyar irin waɗannan abubuwan ƙari a lokacin bazara. Haɗa ci gaba akan GitHub (mai aiki da harsashi, adon-operator), yi ƙoƙarin yin ƙari na kanku bisa ga misalai и takardun, jira labarai kan Habré da kuma kan mu YouTube channel!

PS

Karanta kuma a kan shafinmu:

source: www.habr.com

Add a comment