Ka nānā ʻana i nā kumu waiwai pūʻulu Kubernetes

Ka nānā ʻana i nā kumu waiwai pūʻulu Kubernetes

Ua hana au iā Kube Eagle - kahi mea hoʻopuka Prometheus. Ua lilo ia i mea ʻoluʻolu e kōkua i ka hoʻomaopopo maikaʻi ʻana i nā kumuwaiwai o nā puʻupuʻu liʻiliʻi a me waena. I ka hopena, ua mālama au i mau haneli kālā no ka mea ua koho wau i nā ʻano mīkini kūpono a hoʻonohonoho i nā palena kumu waiwai noi no nā haʻahaʻa hana.

E haʻi aku wau iā ʻoe e pili ana i nā pōmaikaʻi Kube Eagle, akā, e wehewehe mua wau i ke kumu o ka haunaele a me ke kumu e pono ai ka nānā ʻana i ke kūlana kiʻekiʻe.

Ua mālama au i kekahi mau pūʻulu o 4-50 nodes. Loaʻa i kēlā me kēia pūʻulu a hiki i 200 microservices a me nā noi. No ka hoʻohana maikaʻi ʻana i nā lako lako i kēia manawa, ua hoʻonohonoho ʻia ka hapa nui o nā hoʻolālā me ka burstable RAM a me nā kumuwaiwai CPU. Ma kēia ala, hiki i nā pods ke lawe i nā kumuwaiwai i loaʻa inā pono, a i ka manawa like ʻaʻole e hoʻopilikia i nā noi ʻē aʻe ma kēia node. ʻAe, ʻaʻole maikaʻi?

A ʻoiai ua hoʻopau ka puʻupuʻu i ka CPU liʻiliʻi (8%) a me ka RAM (40%), loaʻa mau iā mākou nā pilikia me ka hoʻomaka ʻana o nā pods i ka wā i hoʻāʻo ai lākou e hoʻokaʻawale i nā hoʻomanaʻo hou aʻe ma mua o ka loaʻa ʻana ma ka node. I kēlā manawa he hoʻokahi wale nō dashboard no ka nānā ʻana i nā kumuwaiwai Kubernetes. E like me kēia:

Ka nānā ʻana i nā kumu waiwai pūʻulu Kubernetes
ʻO Grafana dashboard me nā metric cAdvisor wale nō

Me ia papa, ʻaʻole pilikia ka ʻike ʻana i nā nodes e ʻai nui i ka hoʻomanaʻo a me ka CPU. ʻO ka pilikia e ʻike i ke kumu. No ka hoʻopaʻa ʻana i nā pods, hiki i kekahi ke hoʻonohonoho i nā kumu waiwai i hoʻopaʻa ʻia ma nā pods āpau (noi ʻia nā kumuwaiwai e like me ka palena). Akā, ʻaʻole kēia ka hoʻohana akamai loa o ka ʻenehana. He mau haneli gigabytes ka hoʻomanaʻo ʻana o ka puʻupuʻu, ʻoiai e pōloli ana kekahi mau nodes, a ʻo nā mea ʻē aʻe he 4-10 GB i waiho ʻia.

ʻIke ʻia ua hāʻawi like ʻole ka mea hoʻonohonoho Kubernetes i nā haʻawina hana ma nā kumuwaiwai i loaʻa. Noʻonoʻo ka mea hoʻonohonoho Kubernetes i nā ʻano hoʻonohonoho like ʻole: pili, nā ʻili a me nā lula hoʻomanawanui, nā koho node hiki ke kaupalena i nā node i loaʻa. Akā i koʻu hihia ʻaʻohe mea like, a ua hoʻolālā ʻia nā pods ma muli o nā kumuwaiwai i noi ʻia ma kēlā me kēia node.

Ua koho ʻia ka node i loaʻa i nā kumuwaiwai manuahi a hoʻokō i nā kūlana noi no ka pod. Ua ʻike mākou ʻaʻole i kūlike nā kumuwaiwai i noi ʻia ma nā nodes me ka hoʻohana maoli ʻana, a ma laila kahi i hoʻopakele ai ʻo Kube Eagle a me kāna mau mākau waiwai.

Loaʻa iaʻu nā pūʻulu Kubernetes āpau i nānā wale ʻia me Node exporter и Nā ana mokuʻāina ʻo Kube. Hāʻawi ʻo Node Exporter i nā ʻikepili i ka I/O a me ka disk, CPU, a me ka hoʻohana ʻana i ka RAM, ʻoiai ʻo Kube State Metrics e hōʻike ana i nā metric object Kubernetes e like me nā noi a me ka CPU a me nā palena kumu hoʻomanaʻo.

Pono mākou e hoʻohui i nā metric hoʻohana me nā noi a me nā palena palena ma Grafana, a laila e loaʻa iā mākou ka ʻike āpau e pili ana i ka pilikia. He mea maʻalahi kēia, akā ʻokoʻa ka inoa o nā mea hana ʻelua i nā lepili, a ʻaʻole loaʻa i kekahi mau metric nā lepili metadata. Hana ʻo Kube Eagle i nā mea āpau iā ia iho a ua like ke ʻano o ka panel:

Ka nānā ʻana i nā kumu waiwai pūʻulu Kubernetes

Ka nānā ʻana i nā kumu waiwai pūʻulu Kubernetes
Kube Eagle Dashboard

Ua hoʻoponopono mākou i nā pilikia he nui me nā kumuwaiwai a mālama i nā mea hana:

  1. ʻAʻole ʻike kekahi poʻe mea hoʻomohala i ka nui o nā kumuwaiwai microservices e pono ai (a i ʻole ʻaʻole pilikia). ʻAʻohe ala no mākou e ʻike i nā noi hewa no nā kumuwaiwai - no kēia pono mākou e ʻike i ka hoʻohana ʻana me nā noi a me nā palena. I kēia manawa ʻike lākou i nā metric Prometheus, nānā i ka hoʻohana maoli a hoʻoponopono i nā noi a me nā palena.
  2. Lawe nā noi JVM i ka nui o ka RAM e hiki ai iā lākou ke mālama. Hoʻokuʻu wale ka mea ʻohi ʻōpala i ka hoʻomanaʻo ke hoʻohana ʻia ma mua o 75%. A ma muli o ka hapa nui o nā lawelawe i hoʻomanaʻo ʻia, ua noho mau ʻia e ka JVM. No laila, ʻoi aku ka nui o kēia mau lawelawe Java ma mua o ka mea i manaʻo ʻia.
  3. Ua noi kekahi mau noi i ka hoʻomanaʻo nui loa, a ʻaʻole i hāʻawi ka mea hoʻonohonoho Kubernetes i kēia mau nodes i nā noi ʻē aʻe, ʻoiai ʻoi aku ka manuahi ma mua o nā nodes ʻē aʻe. Ua hoʻohui hewa kekahi mea hoʻomohala i kahi huahelu hou i ka noi a hopu i kahi ʻāpana nui o RAM: 20 GB ma kahi o 2. ʻAʻohe mea i ʻike. He 3 replicas ka palapala noi, no laila ua pili ka nui o 3 nodes.
  4. Hoʻokomo mākou i nā palena waiwai, hoʻonohonoho hou i nā pods me nā noi kūpono, a loaʻa iā mākou ke kaulike kūpono o ka hoʻohana ʻana i nā lako ma nā node āpau. Ua pani ʻia paha kekahi mau node. A laila ʻike mākou ua hewa nā mīkini (CPU oriented, ʻaʻole hoʻomanaʻo hoʻomanaʻo). Ua hoʻololi mākou i ke ʻano a holoi i kekahi mau node.

Nā hopena

Me nā kumuwaiwai hikiwawe i loko o ka puʻupuʻu, hoʻohana ʻoe i ka lako i loaʻa me ka ʻoi aku ka maikaʻi, akā ua hoʻonohonoho ka mea hoʻonohonoho Kubernetes i nā pods e pili ana i nā noi no nā kumuwaiwai, a ua piha kēia. No ka pepehiʻana iʻelua manu me ka pōhaku hoʻokahi: e pale i nā pilikia a me ka hoʻohanaʻana i nā kumuwaiwai i ka piha, ponoʻoe i ka nānā pono. ʻO kēia ke kumu e pono ai Kube Eagle (Prometheus exporter a me Grafana dashboard).

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka