Simungafune Kubernetes

Simungafune Kubernetes
Mtsikana pa scooter. Chitsanzo freepik, Nomad logo from Zotsatira HashiCorp

Kubernetes ndi gorilla wolemera mapaundi 300 a orchestration. Zimagwira ntchito m'makina akuluakulu padziko lonse lapansi, koma ndizokwera mtengo.

Zokwera mtengo makamaka kwa magulu ang'onoang'ono, zomwe zimafuna nthawi yambiri yothandizira komanso maphunziro apamwamba. Izi ndizovuta kwambiri ku timu yathu yamagulu anayi. Kotero ife tinayamba kufunafuna njira zina - ndipo tinayamba kukondana nazo Nomad.

Mukufuna chiyani

Gulu lathu limathandizira ntchito zingapo zowunikira komanso kusanthula magwiridwe antchito: ma API endpoints olembedwa mu Go, Prometheus exports, log parsers monga Logstash ndi Gollum, komanso nkhokwe monga InfluxDB kapena Elasticsearch. Iliyonse mwa mautumikiwa imayenda mu chidebe chake. Timafunikira dongosolo losavuta kuti zonse ziziyenda.

Tinayamba ndi mndandanda wazomwe zimafunikira pakuyimba chidebe:

  • Kugwira ntchito pamakina ambiri.
  • Chidule cha ntchito zoyendetsa.
  • Maulalo pakati pa mautumiki.
  • Yambitsaninso zokha ngati ntchitoyo yatsika.
  • Kukonza zomangamanga ndi gulu laling'ono.

Kuphatikiza apo, zinthu zotsatirazi zikhala zabwino, koma osafunikira zowonjezera:

  • Makina oyika ma tag malinga ndi kuthekera kwawo (mwachitsanzo, makina ojambulira okhala ndi ma disks othamanga a ntchito zolemetsa za I/O).
  • Kutha kuyendetsa ntchito mosadalira oimba (mwachitsanzo, panthawi ya chitukuko).
  • Malo odziwika kuti mugawane masanjidwe ndi zinsinsi.
  • Mapeto a ma metrics ndi logi.

Chifukwa chiyani Kubernetes sizoyenera kwa ife

Pamene tinkajambula ndi Kubernetes, tidawona kuti tikuwonjezera magawo ovuta kwambiri omwe timadalira kwambiri.

Mwachitsanzo, Kubernetes imathandizira masinthidwe amtundu wokhazikika kudzera ConfigMaps. Mutha kusokonezeka mwachangu, makamaka mukaphatikiza mafayilo osinthira angapo kapena kuwonjezera mautumiki owonjezera ku pod. Kubernetes (kapena chisoti munkhaniyi) amakulolani kuti mugwiritse ntchito masinthidwe akunja kuti mulekanitse nkhawa. Koma izi zimapangitsa kulumikizana kolimba, kobisika pakati pa polojekiti yanu ndi Kubernetes. Komabe, Helm ndi ConfigMaps ndizowonjezera zina, kotero simuyenera kuzigwiritsa ntchito. Mutha kukopera kasinthidwe mu chithunzi cha Docker. Komabe, ndikuyesa kupita m'njira iyi ndikupanga zotsalira zosafunikira zomwe munganong'oneze nazo bondo pambuyo pake.

Kuphatikiza apo, Kubernetes ecosystem ikukula mwachangu. Zimatengera nthawi komanso mphamvu zambiri kuti mukhale ndi chidziwitso ndi machitidwe abwino komanso zida zamakono. Kubectl, minikube, kubeadm, helm, tiller, kops, oc - the list is on and on. Sikuti zida zonsezi ndizofunikira mukangoyamba, koma simudziwa zomwe mudzafunikira, ndiye muyenera kudziwa zonse. Pachifukwa ichi, maphunzirowa ndi ovuta kwambiri.

Nthawi yogwiritsira ntchito Kubernetes

Pakampani yathu, anthu ambiri amagwiritsa ntchito Kubernetes ndipo amasangalala nazo. Zochitika izi zimayendetsedwa ndi Google kapena Amazon, omwe ali ndi zothandizira kuwathandizira.

Kubernetes amabwera ndi zodabwitsa mbali, zomwe zimapangitsa kuyimba kwa chidebe pamlingo wokhoza kutheka:

  • Tsatanetsatane kasamalidwe ka ufulu.
  • Owongolera mwamakonda onjezani malingaliro ku tsango. Awa ndi mapulogalamu chabe omwe amalankhula ndi Kubernetes API.
  • Autoscaling! Kubernetes atha kukulitsa ntchito pofunidwa pogwiritsa ntchito ma metric a ntchito komanso osafuna kuchitapo kanthu pamanja.

Funso ndiloti mukufunikiradi zonsezi. Simungangodalira zongoyerekeza; muyenera kudziwa zomwe zikuchitika pansi pa hood.

Gulu lathu limapereka ntchito zambiri patali (chifukwa cha kulumikizana kwapafupi ndi zomangamanga), kotero sitinkafuna kukweza gulu lathu la Kubernetes. Tinkangofuna kupereka chithandizo.

Mabatire sanaphatikizidwe

Nomad ndi 20% ya orchestration yomwe imapereka 80% ya zomwe zikufunika. Zomwe zimachita ndikuwongolera kutumiza. Nomad amasamalira kutumizidwa, kuyambiranso zotengera pakagwa zolakwika ... ndipo ndi momwemo.

Mfundo yonse ya Nomad ndizomwe amachita osachepera: palibe kasamalidwe ka granular ufulu kapena ndondomeko zowonjezera maukonde, izi zidapangidwa mwapadera. Zigawozi zimaperekedwa kunja kapena ayi.

Ndikuganiza kuti Nomad wapeza kusagwirizana pakati pa kugwiritsa ntchito mosavuta komanso kugwiritsa ntchito. Ndi yabwino kwa mautumiki ang'onoang'ono, odziimira okha. Ngati mukufuna kuwongolera, muyenera kuzikweza nokha kapena kugwiritsa ntchito njira ina. Nomad ndi basi woyimba nyimbo.

Zabwino kwambiri za Nomad ndikuti ndizosavuta sinthani. Palibe kulumikizidwa kwa wogulitsa, chifukwa ntchito zake zimaphatikizidwa mosavuta munjira ina iliyonse yomwe imayang'anira ntchito. Zimangoyenda ngati binary wamba pamakina aliwonse pagulu, ndizo zonse!

Ecosystem ya Nomad yokhala ndi zida zophatikizika mosasamala

Mphamvu zenizeni za Nomad ndi chilengedwe chake. Zimaphatikizana bwino ndi zina - zosankha kwathunthu - monga Consum (sitolo yamtengo wapatali) kapena m'chipinda chotetezeka (kukonza zinsinsi). Mkati mwa fayilo ya Nomad pali magawo ochotsa deta kuchokera kuzinthu izi:

template {
  data = <<EOH
LOG_LEVEL="{{key "service/geo-api/log-verbosity"}}"
API_KEY="{{with secret "secret/geo-api-key"}}{{.Data.value}}{{end}}"
EOH

  destination = "secrets/file.env"
  env         = true
}

Apa tikuwerenga fungulo service/geo-api/log-verbosity kuchokera kwa Consul ndipo tikugwira ntchito timawonetsa kusinthika kwa chilengedwe LOG_LEVEL. Timaperekanso fungulo secret/geo-api-key kuchokera ku Vault ngati API_KEY. Zosavuta koma zamphamvu!

Chifukwa cha kuphweka kwake, Nomad imakulitsidwa mosavuta ndi ntchito zina kudzera pa API. Mwachitsanzo, ma tag a ntchito amathandizidwa. Timayika mautumiki onse ndi ma metric trv-metrics. Mwanjira iyi Prometheus atha kupeza mosavuta mautumikiwa kudzera pa Consul ndipo nthawi ndi nthawi amayang'ana pomaliza /metrics za data yatsopano. Zomwezo zikhoza kuchitika, mwachitsanzo, pazipika, pogwiritsa ntchito Loki.

Pali zitsanzo zina zambiri zowonjezera:

  • Pangani ntchito ya Jenkins pogwiritsa ntchito mbedza, ndipo Consul amayang'anira kutumizidwanso kwa ntchito ya Nomad pamene kasinthidwe ka ntchito kakusintha.
  • Ceph imawonjezera fayilo yogawidwa ku Nomad.
  • fabio kwa katundu balancing.

Zonsezi zimalola organically kukhazikitsa zomangamanga popanda kugwirizana kwapadera kwa wogulitsa.

Chenjezo loyenera

Palibe dongosolo langwiro. Sindikupangira kuti ndiwonetsere zatsopano kwambiri pakupanga. Zachidziwikire pali nsikidzi ndi zomwe zikusowa, koma zomwezo zikugwiranso ntchito kwa Kubernetes.

Poyerekeza ndi Kubernetes, gulu la Nomad si lalikulu chotere. Kubernetes ali kale ndi anthu pafupifupi 75 ndi othandizira 000, pomwe Nomad ali ndi pafupifupi 2000 ndi omwe akuthandizira 14. Nomad azivutika kuti azitsatira liwiro la Kubernetes, koma mwina siziyenera kutero! Ndi dongosolo lapadera kwambiri, ndipo gulu laling'ono limatanthauzanso kuti pempho lanu lokoka likhoza kuzindikirika ndikuvomerezedwa, poyerekeza ndi Kubernetes.

Chidule

Pansi: Osagwiritsa ntchito Kubernetes chifukwa choti wina aliyense akuchita. Yang'anani zofunikira zanu mosamala ndikuwona chida chomwe chili chopindulitsa kwambiri.

Ngati mukufuna kuyika matani azinthu zofananira pamapangidwe akulu, ndiye Kubernetes ndi njira yabwino. Ingodziwani zovuta zowonjezera komanso ndalama zogwirira ntchito. Ndalama zina zitha kupewedwa pogwiritsa ntchito malo oyendetsedwa a Kubernetes monga Injini ya Google Kubernetes kapena Amazon EKS.

Ngati mukungoyang'ana woyimba wodalirika yemwe ndi wosavuta kusamalira komanso wowonjezera, bwanji osayesa Nomad? Mungadabwe kuti izi zidzakufikitsani patali bwanji.

Ngati Kubernetes akufananizidwa ndi galimoto, Nomad angakhale scooter. Nthawi zina umafunika chinthu chimodzi ndipo nthawi zina umafunika china. Onse awiri ali ndi ufulu wokhalapo.

Source: www.habr.com

Kuwonjezera ndemanga