Siveyans resous cluster Kubernetes

Siveyans resous cluster Kubernetes

Mwen te kreye Kube Eagle - yon ekspòtatè Prometheus. Li te tounen yon bagay fre ki ede pi byen konprann resous yo nan grap ti ak mwayen gwosè. Nan fen a, mwen te sove dè santèn de dola paske mwen te chwazi kalite machin yo dwa ak konfigirasyon limit resous aplikasyon pou chaj travay.

Mwen pral di ou sou benefis yo Kube Eagle, men anvan mwen pral eksplike sa ki te lakòz meli melo a ak poukisa yo te bezwen siveyans kalite siperyè.

Mwen jere plizyè grap nan 4-50 nœuds. Chak gwoup gen jiska 200 mikwosèvis ak aplikasyon. Pou fè pi bon itilizasyon pyès ki nan konpitè ki egziste deja, pifò deplwaman yo te configuré ak resous RAM ak CPU ki ka eklatman. Nan fason sa a, gous ka pran resous ki disponib si sa nesesè, epi an menm tan an pa entèfere ak lòt aplikasyon sou ne sa a. Oke, se pa li gwo?

Ak byenke gwoup la konsome relativman ti CPU (8%) ak RAM (40%), nou toujou ap gen pwoblèm ak gous yo te preempted lè yo te eseye asiyen plis memwa pase sa ki te disponib sou ne la. Lè sa a, nou te gen yon sèl tablodbò pou kontwole resous Kubernetes. Tankou sa a:

Siveyans resous cluster Kubernetes
Grafana tablodbò ak mezi cAdvisor sèlman

Avèk yon panèl konsa, li pa yon pwoblèm pou wè nœuds ki manje anpil memwa ak CPU. Pwoblèm lan se konnen kisa rezon an ye. Pou kenbe gous yo an plas, yon moun te kapab nan kou mete garanti resous sou tout gous (resous mande yo egal a limit la). Men, sa a se pa itilizasyon ki pi entelijan nan pyès ki nan konpitè. Gwoup la te gen plizyè santèn gigabyte memwa, pandan ke kèk nœuds te mouri grangou, pandan ke lòt te gen 4-10 GB rete an rezèv.

Li sanble ke orè Kubernetes la te distribye chaj travay yo yon fason ki inegal nan tout resous ki disponib yo. Planifikatè Kubernetes la pran an kont diferan konfigirasyon: règ afinite, tach ak tolerans, seleksyon nœuds ki ka limite nœuds ki disponib yo. Men, nan ka mwen an pa te gen anyen tankou sa, ak gous yo te planifye depann sou resous yo mande sou chak ne.

Yo te chwazi ne ki gen resous ki pi gratis epi ki satisfè kondisyon demann lan pou gous la. Nou te jwenn ke resous yo mande sou nœuds yo pa t matche ak itilizasyon aktyèl la, e sa a se kote Kube Eagle ak kapasite siveyans resous li yo te vin sekou.

Mwen gen prèske tout grap Kubernetes kontwole sèlman ak Ekspòtatè ne и Kube eta metrik. Node Exporter bay estatistik sou I/O ak itilizasyon disk, CPU, ak RAM, pandan y ap Kube State Metrics montre mezi objè Kubernetes tankou demann ak CPU ak limit resous memwa.

Nou bezwen konbine mezi itilizasyon yo ak mezi demann ak limit nan Grafana, epi apre sa nou pral jwenn tout enfòmasyon sou pwoblèm nan. Sa a son senp, men de zouti yo aktyèlman non etikèt yo yon fason diferan, ak kèk mezi pa gen okenn etikèt metadata ditou. Kube Eagle fè tout bagay poukont li epi panèl la sanble sa a:

Siveyans resous cluster Kubernetes

Siveyans resous cluster Kubernetes
Kube Eagle Dach

Nou jere yo rezoud anpil pwoblèm ak resous ak sove ekipman:

  1. Gen kèk devlopè pa t 'konnen konbyen resous mikwosèvis yo te bezwen (oswa tou senpleman pa t' deranje). Pa te gen okenn fason pou nou jwenn demann kòrèk pou resous - pou sa a nou bezwen konnen konsomasyon plis demann ak limit. Koulye a, yo wè mezi Prometheus, kontwole itilizasyon aktyèl yo epi ajiste demann ak limit yo.
  2. Aplikasyon JVM pran anpil RAM jan yo ka okipe. Pèseptè fatra a sèlman degaje memwa lè yo itilize plis pase 75%. Epi kòm pifò sèvis yo gen memwa eklatman, li te toujou okipe pa JVM la. Se poutèt sa, tout sèvis Java sa yo te manje pi plis RAM pase espere.
  3. Gen kèk aplikasyon ki te mande twòp memwa, ak pwogramasyon Kubernetes la pa t bay nœuds sa yo nan lòt aplikasyon, menm si an reyalite yo te pi lib pase lòt nœuds. Yon pwomotè aksidantèlman te ajoute yon chif siplemantè nan demann lan epi li te pwan yon gwo moso RAM: 20 GB olye pou yo 2. Pa gen moun ki remake. Aplikasyon an te gen 3 kopi, kidonk otan ke 3 nœuds te afekte.
  4. Nou te entwodwi limit resous, repwograme gous ak demann kòrèk yo, epi nou te jwenn yon balans ideyal nan itilizasyon pyès ki nan konpitè atravè tout nœuds. Yon koup nan nœuds te kapab fèmen tout ansanm. Lè sa a, nou te wè ke nou te gen machin yo mal (CPU oryante, pa oryante memwa). Nou chanje kalite a ak efase plizyè lòt nœuds.

Rezilta

Avèk resous eklatman nan gwoup la, ou itilize pyès ki nan konpitè ki disponib pi efikas, men pwogramasyon Kubernetes la pwograme gous ki baze sou demann pou resous, e sa a chaje. Pou touye de zwazo ak yon sèl kout wòch: pou fè pou evite pwoblèm ak pou sèvi ak resous yo nan tout, ou bezwen bon siveyans. Se poutèt sa li pral itil Kube Eagle (Prometheus ekspòtatè ak tablodbò Grafana).

Sous: www.habr.com

Add nouvo kòmantè