Hoʻomaikaʻi i kahi pūʻulu Kubernetes me ka ʻole o ka manawa hoʻomaha
Kaʻina hana hoʻomaikaʻi no kāu pūʻulu Kubernetes
I kekahi manawa, i ka wā e hoʻohana ai i kahi pūʻulu Kubernetes, pono e hoʻonui i nā nodes holo. Hiki i kēia ke komo i nā hōʻano hou o ka pūʻolo, nā mea hou kernel, a i ʻole ke kau ʻana i nā kiʻi mīkini virtual hou. Ma nā hua'ōlelo Kubernetes ua kapa ʻia kēia "Hoʻopilikia i ka manawaleʻa".
He ʻāpana kēia pou o ka moʻo 4-post:
ʻO kēia pou.
Hoʻopaʻa pololei i nā pods ma kahi pūʻulu Kubernetes
Hoʻopaneʻe ka hoʻopau ʻana o kahi pod ke holoi ʻia
Pehea e pale aku ai i ka Kubernetes Cluster Downtime me ka PodDisruptionBudgets
(ʻaneʻane. Manaʻo i ka unuhi ʻana o nā ʻatikala i koe ma ka moʻo i ka wā e hiki mai ana)
Ma kēia ʻatikala, e wehewehe mākou i nā mea hana a pau a Kubernetes e hoʻolako ai no ka hoʻokō ʻole ʻana i ka manawa hoʻomaha no nā node e holo ana i kāu hui.
Ke wehewehe nei i ka pilikia
E hana mākou i kahi ala naʻaupō i ka wā mua, e ʻike i nā pilikia a loiloi i nā pilikia e hiki mai ana o kēia ala, a kūkulu i ka ʻike e hoʻoponopono i kēlā me kēia pilikia a mākou e hālāwai ai i loko o ka pōʻai. ʻO ka hopena, he hoʻonohonoho e hoʻohana ana i nā makau o ke ola, nā ʻimi mākaukau, a me nā pūlāwai hoʻopilikia Pod e hoʻokō i kā mākou pahuhopu ʻole downtime.
No ka hoʻomaka ʻana i kā mākou huakaʻi, e lawe kākou i kahi laʻana paʻa. E ʻōlelo kākou he puʻupuʻu Kubernetes ʻelua nodes, kahi e holo ai kahi noi me ʻelua pods aia ma hope. Service:
E hoʻomaka kākou me ʻelua pods me Nginx a me Service e holo ana ma kā mākou ʻelua mau nodes cluster Kubernetes.
Makemake mākou e hōʻano hou i ka mana kernel o ʻelua nodes limahana i kā mākou hui. Pehea mākou e hana ai i kēia? ʻO kahi hoʻonā maʻalahi, ʻo ia ka hoʻopaʻa ʻana i nā nodes hou me ka hoʻonohonoho hou ʻana a laila pani i nā nodes kahiko i ka wā e hoʻomaka ana i nā mea hou. ʻOiai e hana ana kēia, aia kekahi mau pilikia me kēia ala:
Ke hoʻopau ʻoe i nā node kahiko, e hoʻopau ʻia nā pods e holo ana ma luna o lākou. He aha inā pono e hoʻomaʻemaʻe ʻia nā pods no ka pani ʻana maikaʻi? ʻAʻole paha e kali ka ʻōnaehana virtualization āu e hoʻohana nei i ke kaʻina hoʻomaʻemaʻe e hoʻopau.
Pehea inā hoʻopau ʻoe i nā node a pau i ka manawa like? E loaʻa iā ʻoe ka manawa haʻahaʻa i ka wā e neʻe ai nā pods i nā nodes hou.
Pono mākou i kahi ala e neʻe maikaʻi ai i nā pods mai nā node kahiko me ka hōʻoia ʻana ʻaʻole e holo ana kekahi o kā mākou kaʻina hana ke hana mākou i nā loli i ka node. A i ʻole ke hana mākou i kahi pani piha o ka puʻupuʻu, e like me ka laʻana (ʻo ia hoʻi, hoʻololi mākou i nā kiʻi VM), makemake mākou e hoʻololi i nā noi holo mai nā nodes kahiko i nā mea hou. Ma nā hihia ʻelua, makemake mākou e pale i nā pods hou mai ka hoʻonohonoho ʻana i nā nodes kahiko, a laila e kipaku i nā pods holo holo mai ia mau mea. No ka hoʻokō ʻana i kēia mau pahuhopu hiki iā mākou ke hoʻohana i ke kauoha kubectl drain.
Ka hāʻawi hou ʻana i nā pods a pau mai kahi node
Hiki iā ʻoe ke hoʻokaʻawale i nā pods a pau mai kahi node. I ka wā o ka hoʻokō ʻana i ka wai, ua hōʻailona ʻia ka node i hiki ʻole ke hoʻonohonoho ʻia (flag NoSchedule). ʻAʻole kēia i ʻike ʻia nā pods hou ma luna. A laila hoʻomaka ka wai e hoʻokuke i nā pods mai ka node, e pani i nā ipu e holo nei i kēia manawa ma ka node, e hoʻouna ana i kahi hōʻailona. TERM nā ipu i loko o kahi pahu.
ʻOiai kubectl drain E hana maikaʻi ʻo ia i ka hoʻokuke ʻana i nā pods, aia ʻelua mau kumu ʻē aʻe e hiki ke hoʻopau i ka hana ʻana:
Pono e ho'opau 'ia kāu palapala noi ma ka waiho 'ana TERM hōʻailona. Ke kipaku ʻia nā pods, hoʻouna ʻo Kubernetes i kahi hōʻailona TERM nā pahu a kali iā lākou e kū no kahi manawa i ʻōlelo ʻia, a laila, inā ʻaʻole lākou i kū, e hoʻopau iā lākou me ka ikaika. Inā ʻaʻole ʻike pololei kāu pahu i ka hōʻailona, hiki iā ʻoe ke hoʻopau pololei i nā pods inā e holo ana lākou (e laʻana, ke holomua nei kahi kālepa waihona).
Nalo nā pods a pau i loaʻa kāu noi. ʻAʻole hiki ke loaʻa i ka wā e hoʻokuʻu ʻia ai nā ipu hou ma nā node hou, a i ʻole ke kau ʻia kāu pods me ka ʻole o nā mea hoʻoponopono, ʻaʻole paha lākou e hoʻomaka hou.
Ke pale nei i ka wā hoʻomaha
No ka hōʻemi ʻana i ka manawa haʻahaʻa mai ka hoʻohaunaele manawaleʻa, e like me ka hana ʻana i ka hoʻoheheʻe ʻana ma kahi node, hāʻawi ʻo Kubernetes i kēia mau koho hoʻokele hemahema:
Ma ke koena o ka moʻo, e hoʻohana mākou i kēia mau hiʻohiʻona Kubernetes e hoʻēmi i ka hopena o ka neʻe ʻana o pod. I mea e maʻalahi ai ka hahai ʻana i ka manaʻo nui, e hoʻohana mākou i kā mākou hiʻohiʻona ma luna me kēia hoʻonohonoho kumu waiwai:
He laʻana liʻiliʻi kēia hoʻonohonoho Deployment, nāna e hoʻokele i nā pods nginx i ka pūʻulu. Eia kekahi, wehewehe ka hoʻonohonoho i ka waiwai Service, hiki ke hoʻohana ʻia no ke komo ʻana i nā pods nginx i kahi hui.
I loko o ke kaʻina holoʻokoʻa, e hoʻonui mākou i kēia hoʻonohonoho ʻana a hiki i ka hopena ke hoʻokomo i nā mana āpau a Kubernetes e hāʻawi ai e hōʻemi i ka manawa hoʻomaha.
No ka hoʻokō piha ʻana a hoʻāʻo ʻia o nā hōʻano hou o nā pūʻulu Kubernetes no ka manawa hoʻomaha ʻole ma AWS a ma waho aʻe, e kipa Gruntwork.io.
E heluhelu pū i nā ʻatikala ʻē aʻe ma kā mākou blog: