Kula da albarkatu tarin Kubernetes

Kula da albarkatu tarin Kubernetes

Na kirkiro Kube Eagle - mai fitar da Prometheus. Ya zama abu mai sanyi wanda ke taimakawa wajen fahimtar albarkatun ƙananan gungu da matsakaici. A ƙarshe, na adana ɗaruruwan daloli saboda na zaɓi nau'ikan injin da suka dace da kuma daidaita iyakokin albarkatun aikace-aikacen don nauyin aiki.

Zan baku labarin amfanin Kube Eagle, amma da farko zan bayyana abin da ya haifar da hayaniya da kuma dalilin da yasa ake buƙatar kulawa mai inganci.

Na gudanar da gungu da yawa na nodes 4-50. Kowane gungu ya ƙunshi har zuwa 200 microservices da aikace-aikace. Don samun ingantacciyar amfani da kayan aikin da ake da su, yawancin turawa an saita su da RAM mai fashewa da albarkatun CPU. Ta wannan hanyar, kwasfa na iya ɗaukar albarkatun da ake da su idan ya cancanta, kuma a lokaci guda kada ku tsoma baki tare da sauran aikace-aikacen akan wannan kumburi. To, ba shi da kyau?

Kuma kodayake gungu ya cinye ɗan ƙaramin CPU (8%) da RAM (40%), koyaushe muna fuskantar matsaloli tare da preempted pods lokacin da suke ƙoƙarin ware ƙarin ƙwaƙwalwar ajiya fiye da yadda ake samu akan kumburi. A lokacin muna da dashboard guda ɗaya don sa ido kan albarkatun Kubernetes. Kamar wannan:

Kula da albarkatu tarin Kubernetes
Grafana dashboard tare da ma'aunin cAdvisor kawai

Tare da irin wannan panel, ba matsala ba ne don ganin nodes da ke cin yawancin ƙwaƙwalwar ajiya da CPU. Matsalar ita ce gano menene dalili. Don ajiye kwas ɗin a wurin, ba shakka mutum zai iya kafa ingantattun albarkatu akan duk kwafsa (albarkatun da ake buƙata daidai da iyaka). Amma wannan ba shine mafi wayo na amfani da kayan aiki ba. Tarin yana da gigabytes ɗari da yawa na ƙwaƙwalwar ajiya, yayin da wasu nodes ke fama da yunwa, yayin da wasu ke da 4-10 GB a ajiye.

Ya bayyana cewa mai tsara tsarin Kubernetes ya rarraba nauyin aiki ba daidai ba a cikin albarkatun da ake da su. Mai tsara tsarin Kubernetes yana la'akari da jeri daban-daban: kusanci, taints da dokokin haƙuri, masu zaɓin kumburi waɗanda zasu iya iyakance nodes ɗin da ke akwai. Amma a cikin yanayina babu wani abu makamancin haka, kuma an shirya kwasfan fayiloli dangane da albarkatun da ake buƙata akan kowane kumburi.

Kullin da ke da mafi kyawun albarkatun kyauta kuma wanda ya gamsar da buƙatun buƙatun an zaɓi don kwafsa. Mun gano cewa albarkatun da aka nema a kan nodes ɗin ba su dace da ainihin yadda ake amfani da su ba, kuma a nan ne Kube Eagle da ikon sa ido kan albarkatun sa suka zo don ceto.

Ina da kusan dukkanin gungu na Kubernetes da ake kula da su kawai Node fitarwa и Ma'aunin Jiha Kube. Node Exporter yana ba da ƙididdiga akan I/O da faifai, CPU, da amfani da RAM, yayin da Ma'aunin Jiha na Kube ke nuna ma'aunin abubuwan Kubernetes kamar buƙatun da CPU da iyakokin albarkatun ƙwaƙwalwar ajiya.

Muna buƙatar haɗa ma'aunin amfani tare da buƙatun da iyakance ma'auni a Grafana, sannan za mu sami duk bayanan game da matsalar. Wannan yana da sauƙi, amma kayan aikin guda biyu a zahiri suna ba da lakabin daban, kuma wasu ma'auni ba su da alamun metadata kwata-kwata. Kube Eagle yana yin komai da kansa kuma kwamitin yayi kama da haka:

Kula da albarkatu tarin Kubernetes

Kula da albarkatu tarin Kubernetes
Kube Eagle Dashboard

Mun yi nasarar magance matsaloli da yawa tare da albarkatu da adana kayan aiki:

  1. Wasu masu haɓakawa ba su san adadin albarkatun microservices da ake buƙata ba (ko kuma kawai ba su damu ba). Babu wata hanya da za mu iya nemo buƙatun da ba daidai ba don albarkatu - don wannan muna buƙatar sanin amfani da buƙatun da iyaka. Yanzu suna ganin ma'aunin Prometheus, suna lura da ainihin amfani da daidaita buƙatu da iyakoki.
  2. Aikace-aikacen JVM suna ɗaukar RAM da yawa kamar yadda za su iya ɗauka. Mai tara shara yana sakin ƙwaƙwalwa ne kawai lokacin da aka yi amfani da fiye da 75%. Kuma tunda yawancin ayyuka suna da ƙwaƙwalwar ƙwaƙwalwa mai fashewa, koyaushe JVM ne ke mamaye shi. Don haka, duk waɗannan ayyukan Java suna cin RAM da yawa fiye da yadda ake tsammani.
  3. Wasu aikace-aikacen sun buƙaci ƙwaƙwalwar ajiya da yawa, kuma mai tsara tsarin Kubernetes bai ba da waɗannan nodes ga wasu aikace-aikacen ba, kodayake a zahiri sun fi sauran nodes kyauta. Wani mai haɓakawa da gangan ya ƙara ƙarin lamba a cikin buƙatar kuma ya kama babban yanki na RAM: 20 GB maimakon 2. Babu wanda ya lura. Aikace-aikacen yana da kwafi guda 3, don haka an shafe kusan nodes 3.
  4. Mun gabatar da iyakoki na albarkatu, sake tsara kwasfan fayiloli tare da madaidaitan buƙatun, kuma mun sami daidaitaccen ma'auni na amfani da kayan masarufi a duk nodes. Ana iya rufe nodes biyu gaba ɗaya. Kuma sai muka ga cewa muna da injunan da ba daidai ba (CPU oriented, not memory oriented). Mun canza nau'in kuma mun share wasu nodes da yawa.

Sakamakon

Tare da albarkatu masu fashewa a cikin gungu, kuna amfani da kayan aikin da ake da su yadda ya kamata, amma Kubernetes mai tsara jadawalin jadawalin kwas ɗin bisa ga buƙatun albarkatun, kuma wannan yana da yawa. Don kashe tsuntsaye biyu da dutse daya: don kauce wa matsaloli da kuma amfani da albarkatun zuwa cikakke, kuna buƙatar kulawa mai kyau. Wannan shine dalilin da ya sa zai zama da amfani Kube Eagle (Masu fitar da Prometheus da dashboard na Grafana).

source: www.habr.com

Add a comment