Ọ dị mfe na adaba ịkwado ụyọkọ Kubernetes? Na-akpọsa addon-operator

Ọ dị mfe na adaba ịkwado ụyọkọ Kubernetes? Na-akpọsa addon-operator

Mgbe shei-arụ ọrụ anyị na-ewetara nwanne ya nwoke nke okenye - adon-operator. Nke a bụ ọrụ mepere emepe nke ejiri wụnye sistemu sistemu n'ime ụyọkọ Kubernetes, nke enwere ike ịkpọ add-ons.

Kedu ihe kpatara mgbakwunye ọ bụla?

Ọ bụghị ihe nzuzo na Kubernetes abụghị ihe eji eme ihe niile dị njikere, na iji wuo ụyọkọ "okenye" ​​ị ga-achọ mgbakwunye dị iche iche. Addon-operator ga-enyere gị aka ịwụnye, hazie ma mee ka mgbakwunye ndị a dị ọhụrụ.

A na-ekpughere mkpa maka akụrụngwa ndị ọzọ na ụyọkọ ahụ mkpesa Ndị ọrụ ibe driusha. Na nkenke, ọnọdụ na Kubernetes n'oge a bụ na maka nrụnye "egwu gburugburu" dị mfe ị nwere ike nweta site na ihe ndị dị na igbe ahụ, maka ndị mmepe na ule ị nwere ike ịgbakwunye Ingress, ma maka nrụnye zuru ezu, nke banyere ya. ị nwere ike ịsị "mmepụta gị dị njikere", ịkwesịrị ịgbakwunye na iri na abụọ dị iche iche tinye-ons: ihe maka nlekota oru, ihe maka osisi, echefula ingress na cert-manager, họrọ otu nke ọnụ ọnụ, tinye netwọk atumatu, oge. ya na ntọala sysctl na pod autoscaler...

Ọ dị mfe na adaba ịkwado ụyọkọ Kubernetes? Na-akpọsa addon-operator

Kedu ihe dị iche iche nke ịrụ ọrụ na ha?

Dị ka omume na-egosi, okwu ahụ ejedebeghị na otu nrụnye. Iji rụọ ọrụ nke ọma na ụyọkọ ahụ, mgbakwunye ga-adị mkpa ka emelite, nwee nkwarụ (wepụ na ụyọkọ), ị ga-achọ ịnwale ụfọdụ tupu ịwụnye ha na ụyọkọ mmepụta.

Yabụ, ma eleghị anya, Ansible ga-ezu ebe a? Enwere ike. Ma N'ozuzu, ihe mgbakwunye zuru oke anaghị adị ndụ na-enweghị ntọala. Ntọala ndị a nwere ike ịdị iche dabere na ụdị ụyọkọ (aws, gce, azure, bare-metal, do, ...). Enweghị ike ịkọwa ntọala ụfọdụ tupu oge eruo; a ga-enwetarịrị ha site na ụyọkọ. Na ụyọkọ ahụ abụghị ihe kwụ ọtọ: maka ntọala ụfọdụ ị ga-enyocha mgbanwe. Na ebe a Ansible na-efu efu: ị chọrọ mmemme nke bi na ụyọkọ, i.e. Onye ọrụ Kubernetes.

Ndị nwara ya na ọrụ shei-arụ ọrụ, ha ga-ekwu na ọrụ nke ịwụnye na imelite add-ons na ntọala nlekota nwere ike dozie ya kpamkpam site na iji. nko maka shell-operator. Ị nwere ike dee edemede nke ga-eme ka ọ bụrụ ọnọdụ kubectl apply wee nyochaa, ọmụmaatụ, ConfigMap, ebe a ga-echekwa ntọala. Nke a bụ ihe a na-emejuputa atumatu na addon-operator.

Kedu ka esi ahazi nke a na addon-operator?

Mgbe ị na-eke ihe ngwọta ọhụrụ, anyị si n'ụkpụrụ ndị a pụta:

  • Ihe ntinye ihe mgbakwunye ga-akwadorịrị templating na nkwuputa nhazi. Anyị anaghị eme scripts anwansi na-etinye mgbakwunye. Addon-operator na-eji Helm wụnye addons. Iji wụnye, ịkwesịrị ịmepụta eserese ma họrọ ụkpụrụ ndị a ga-eji maka nhazi.
  • Ntọala nwere ike ịbụ n'ịwa na echichi, ha nwere ike nweta site na ụyọkọ, ma ọ bụ nweta mmelite, nlekota akụrụngwa ụyọkọ. Enwere ike ịrụ ọrụ ndị a site na iji nko.
  • Ntọala nwere ike ịbụ na-echekwa na ụyọkọ. Ka ịchekwaa ntọala n'ụyọkọ, a na-emepụta ConfigMap/addon-operator yana ndị na-ahụ maka Addon-operator na-agbanwe na ConfigMap a. Addon-operator na-enye nko ohere ịnweta ntọala site na iji mgbakọ dị mfe.
  • Mgbakwunye dabere na ntọala. Ọ bụrụ na ntọala agbanweela, mgbe ahụ, Addon-operator na-eji ụkpụrụ ọhụrụ ewepụta chaatị Helm. Anyị na-akpọ ngwakọta nke chaatị Helm, ụkpụrụ maka ya na nko modul (lee n'okpuru maka nkọwa ndị ọzọ).
  • Nhazi. Enweghị edemede mwepụta anwansi. Usoro mmelite yiri ngwa a na-eme mgbe niile - na-anakọta ihe mgbakwunye na ndị ọrụ addon n'ime onyonyo, kpado ha ma bupụ ha.
  • Njikwa nsonaazụ. Addon-operator nwere ike ịnye metrics maka Prometheus.

Kedu ihe bụ padding na addon-operator?

Enwere ike ịtụle mgbakwunye ihe ọ bụla na-agbakwunye ọrụ ọhụrụ na ụyọkọ. Dịka ọmụmaatụ, ịwụnye Ingress bụ ezigbo ihe atụ nke mgbakwunye. Nke a nwere ike ịbụ onye ọrụ ma ọ bụ onye njikwa ọ bụla nwere CRD nke ya: prometheus-operator, cert-manager, kube-controller-manager, wdg. Ma ọ bụ ihe dị ntakịrị, ma dị mfe iji - dịka ọmụmaatụ, onye na-edekọ ihe nzuzo, nke na-edepụta ihe nzuzo ndekọ aha na oghere aha ọhụrụ, ma ọ bụ sysctl tuner, nke na-ahazi sysctl parameters na ọnụ ọhụrụ.

Iji mejuputa add-ons, Addon-operator na-enye ọtụtụ echiche:

  • chaatị Helm eji etinye ngwanrọ dị iche iche n'ime ụyọkọ - ọmụmaatụ, Prometheus, Grafana, nginx-ingress. Ọ bụrụ na akụrụngwa achọrọ nwere chaatị Helm, mgbe ahụ ịwụnye ya site na iji Addon-operator ga-adị nnọọ mfe.
  • Nchekwa ụkpụrụ. Chaatị Helm na-enwekarị ọtụtụ ntọala dị iche iche nwere ike ịgbanwe ka oge na-aga. Addon-operator na-akwado ịchekwa ntọala ndị a ma nwee ike nyochaa mgbanwe ha iji tinye ụkpụrụ Helm ọhụrụ.
  • nko bụ faịlụ executable nke Addon-operator na-arụ na mmemme yana nweta ụlọ ahịa ụkpụrụ. nko nwere ike nyochaa mgbanwe na ụyọkọ ma melite ụkpụrụ dị na ụlọ ahịa ụkpụrụ. Ndị ahụ. Iji nko, ị nwere ike ime nchọpụta iji nakọta ụkpụrụ sitere na ụyọkọ na mmalite ma ọ bụ dịka usoro nhazi, ma ọ bụ ị nwere ike ime nchọpụta na-aga n'ihu, na-anakọta ụkpụrụ sitere na ụyọkọ ahụ dabere na mgbanwe na ụyọkọ ahụ.
  • Daalụ bụ ngwakọta nke chaatị Helm, ụlọ ahịa ụkpụrụ na nko. Enwere ike ịgbanye ma ọ bụ gbanyụọ modul. Ịkwụsị modul pụtara ihichapụ ihe niile ewepụtara chaatị Helm. Modul nwere ike mee onwe ha ka ọ dị ike, dịka ọmụmaatụ, ọ bụrụ na agbanyere modul niile ọ chọrọ ma ọ bụ ọ bụrụ na nchoputa achọpụtala ihe ndị dị mkpa na nko - a na-eme nke a site na iji edemede nyere aka.
  • nko zuru ụwa ọnụ. Ndị a bụ nko "n'onwe ha", anaghị etinye ha na modul ma nwee ike ịnweta ụlọ ahịa ụkpụrụ ụwa, ụkpụrụ nke dị maka nko niile na modul.

Kedu ka akụkụ ndị a si arụkọ ọrụ ọnụ? Ka anyị lee foto a si na akwụkwọ ahụ:

Ọ dị mfe na adaba ịkwado ụyọkọ Kubernetes? Na-akpọsa addon-operator

E nwere ụzọ abụọ nke ọrụ:

  1. Ihe omume na-ebute nko zuru ụwa ọnụ - dịka ọmụmaatụ, mgbe akụrụngwa dị na ụyọkọ gbanwere. Nko a na-eme mgbanwe ndị ahụ ma dee ụkpụrụ ọhụrụ na ụlọ ahịa ụkpụrụ ụwa. Addon-operator na-achọpụta na nchekwa zuru ụwa ọnụ agbanweela wee malite modul niile. Modul ọ bụla, na-eji nko ya, na-ekpebi ma ọ dị mkpa ka enyere ya aka ma melite ụlọ ahịa ụkpụrụ ya. Ọ bụrụ na agbanyere modul ahụ, Addon-operator na-amalite ntinye nke chaatị Helm. N'okwu a, chaatị Helm nwere ohere ịnweta ụkpụrụ sitere na nchekwa modul yana site na nchekwa zuru ụwa ọnụ.
  2. Ihe ngosi nke abụọ dị mfe: nko modul na-ebute ihe omume ma gbanwee ụkpụrụ na ụlọ ahịa ụkpụrụ modul. Addon-operator hụrụ nke a wee wepụta chaatị Helm na ụkpụrụ emelitere.

Enwere ike itinye mgbakwunye ahụ dị ka otu nko, ma ọ bụ dị ka eserese Helm, ma ọ bụ ọbụna dị ka ọtụtụ dabere modul - nke a dabere na mgbagwoju anya nke akụrụngwa a na-etinye n'ime ụyọkọ na n'ogo a chọrọ nke nhazi mgbanwe. Dịka ọmụmaatụ, na ebe nchekwa (/atụ) enwere mgbakwunye sysctl-tuner, nke etinyere ma dị ka modul dị mfe na nko na eserese Helm, yana iji ụlọ ahịa ụkpụrụ, nke na-eme ka o kwe omume ịgbakwunye ntọala site na dezie ConfigMap.

Nnyefe mmelite

Okwu ole na ole gbasara ịhazi mmelite akụrụngwa nke Addon-operator na-etinye.

Iji mee Addon-operator na ụyọkọ, ịchọrọ wuo onyonyo na mgbakwunye n'ụdị nko na Helm chaatị faịlụ, tinye a ọnụọgụ abụọ faịlụ addon-operator na ihe niile ị chọrọ maka nko: bash, kubectl, jq, python wdg. Mgbe ahụ, enwere ike ibugharị onyonyo a na ụyọkọ dị ka ngwa a na-ejikarị, yana yikarịrị ka ị ga-achọ ịhazi atụmatụ mkpado ma ọ bụ ọzọ. Ọ bụrụ na enwere ụyọkọ ole na ole, otu usoro ahụ dị na ngwa nwere ike dabara: mwepụta ọhụrụ, ụdị ọhụrụ, gaa na ụyọkọ niile wee mezie onyonyo nke Pods. Agbanyeghị, n'ihe gbasara mwegharị gaa na ọnụ ọgụgụ dị ukwuu nke ụyọkọ, echiche nke imelite onwe site na ọwa dabara adabara anyị.

Nke a bụ otu anyị si eme ya:

  • Ọwa bụ n'ezie ihe nchọpụta enwere ike ịtọ ya na ihe ọ bụla (dịka ọmụmaatụ, dev/stage/ea/stable).
  • Aha ọwa bụ mkpado onyonyo. Mgbe ịchọrọ iwepụta mmelite na ọwa, a na-achịkọta onyonyo ọhụrụ wee tinye aha ọwa.
  • Mgbe onyonyo ọhụrụ pụtara na ndekọ, Addon-operator ga-amalitegharị wee jiri onyonyo ọhụrụ wepụta ya.

Nke a abụghị omume kacha mma, dị ka edere ya Kubernetes akwụkwọ. A naghị atụ aro ime nke a, mana anyị na-ekwu maka ya ngwa mgbe niile nke na-ebi n'otu ụyọkọ ahụ. N'ihe banyere Addon-operator, ngwa ngwa bụ ọtụtụ Nkwadebe na-agbasasị na ụyọkọ, na imelite onwe ya na-enyere aka nke ukwuu ma na-eme ka ndụ dịkwuo mfe.

Ọwa enyemaka na na ule: ọ bụrụ na enwere ụyọkọ inyeaka, ị nwere ike hazie ya na ọwa stage ma tụgharịa mmelite n'ime ya tupu ibugharị ya na ọwa ea и stable. Ọ bụrụ na ya na ụyọkọ na ọwa ea mperi mere, ị nwere ike ịgbanwe ya gaa stable, ka a na-enyocha nsogbu dị na ụyọkọ a. Ọ bụrụ na ewepụrụ ụyọkọ ahụ na nkwado nọ n'ọrụ, ọ na-agbanye na ọwa "frozen" ya - dịka ọmụmaatụ, freeze-2019-03-20.

Na mgbakwunye na imelite nko na chaatị Helm, ị nwere ike ịchọrọ imelite na akụrụngwa ndị ọzọ. Dịka ọmụmaatụ, ị hụrụ ahụhụ dị na onye na-ebupụ ọnụ na ọnọdụ na ọbụna chepụta ka esi emechie ya. Na-esote, ị meghere PR ma na-eche ka mwepụta ọhụrụ ga-agafe na ụyọkọ niile ma welie ụdị nke onyinyo ahụ. Ka ị ghara ichere ruo mgbe ebighị ebi, ị nwere ike wulite node-exporter gị ma gbanwee ya tupu ịnakwere PR.

N'ozuzu, nke a nwere ike ime na-enweghị Addon-operator, ma na Addon-operator modul maka ịwụnye node-exporter ga-ahụ anya n'otu ebe nchekwa, Dockerfile maka iwulite ihe oyiyi gị nwere ike idowe ebe ahụ, ọ na-adị mfe maka ndị niile sonyere na. usoro iji ghọta ihe na-eme ... Ma ọ bụrụ na e nwere ọtụtụ ụyọkọ, mgbe ahụ, ọ ga-adị mfe ma nwalee PR gị ma tụgharịa ụdị ọhụrụ!

Nzukọ a nke imelite akụrụngwa na-arụ ọrụ nke ọma maka anyị, mana enwere ike itinye atụmatụ ọ bụla dabara adaba - mgbe niile na nke a Addon-operator bụ faịlụ ọnụọgụ abụọ dị mfe.

nkwubi

Ụkpụrụ etinyere na Addon-operator na-enye gị ohere ịmepụta usoro nghọta maka ịmepụta, ịnwale, wụnye na imelite ihe mgbakwunye na ụyọkọ, dị ka usoro mmepe nke ngwa mgbe niile.

Tinye-ons maka Addon-operator na usoro modul (helm chart + hooks) enwere ike ime ka ọha na eze dị. Anyị, ụlọ ọrụ Flant, na-eme atụmatụ ibipụta mmepe anyị n'ụdị mgbakwunye dị otú ahụ n'oge ọkọchị. Soro mmepe na GitHub (shei-arụ ọrụ, adon-operator), gbalịa ime mgbakwunye nke gị dabere na ihe atụ и akwụkwọ, chere ozi na Habré na nke anyị Ọwa YouTube!

PS

Gụọkwa na blọọgụ anyị:

isi: www.habr.com

Tinye a comment