Ke hoʻomaka nei ʻoe e hana i nā lawelawe Kubernetes hou aʻe, hoʻomaka nā hana maʻalahi i ka wā mua. No ka laʻana, ʻaʻole hiki i nā hui hoʻomohala ke hana i nā lawelawe a i ʻole nā hoʻolaha ma lalo o ka inoa like. Inā loaʻa iā ʻoe nā kaukani pods, ʻo ka hoʻopaʻa inoa wale ʻana iā lākou e lōʻihi ka manawa, e waiho wale i ka mālama pono ʻana iā lākou. A ʻo kēia wale nō ka piko o ka hau hau.
E nānā kākou i ka maʻalahi o ka namespace i ka hoʻokele ʻana i nā kumuwaiwai Kubernetes. No laila he aha ka inoa inoa? Hiki ke noʻonoʻo ʻia ka namespace ma ke ʻano he puʻupuʻu virtual i loko o kāu pūʻulu Kubernetes. Hiki iā ʻoe ke hoʻokaʻawale i nā inoa inoa he nui mai kekahi i kekahi i loko o kahi pūʻulu Kubernetes hoʻokahi. Hiki iā lākou ke kōkua nui iā ʻoe a me kāu mau hui me ka hoʻonohonoho, palekana, a me ka hana ʻōnaehana.
Ma ka hapanui o nā māhele Kubernetes, puka mai ka pūʻulu mai loko mai o ka pahu me kahi inoa inoa i kapa ʻia "paʻamau". ʻEkolu mau inoa inoa e pili ana iā Kubernetes: default, kube-system, a me kube-public. I kēia manawa, ʻaʻole hoʻohana pinepine ʻia ʻo Kube-public.
He manaʻo maikaʻi ka haʻalele ʻana i ka namespace kube, ʻoi aku ma kahi ʻōnaehana hoʻokele e like me Google Kubernetes Engine. Hoʻohana ia i ka inoa "paʻamau" kahi i hana ʻia ai kāu mau lawelawe a me nā noi. ʻAʻohe mea kūikawā e pili ana iā ia, koe wale nō ʻo Kubernetes i hoʻonohonoho ʻia ma waho o ka pahu e hoʻohana ai, a ʻaʻole hiki iā ʻoe ke wehe. He mea maikaʻi kēia no ka hoʻomaka ʻana a me nā ʻōnaehana hana haʻahaʻa, akā ʻaʻole wau e manaʻo e hoʻohana i ka inoa inoa paʻamau ma nā ʻōnaehana prod nui. I ka hihia hope, hiki i kekahi hui hoʻomohala ke kākau hou i ke code a kekahi a uhaʻi i ka hana a kekahi hui me ka ʻike ʻole.
No laila, pono ʻoe e hana i nā inoa inoa he nui a hoʻohana iā lākou e hoʻokaʻawale i kāu mau lawelawe i nā ʻāpana hiki ke mālama. Hiki ke hana ʻia kahi namespace me hoʻokahi kauoha. Inā makemake ʻoe e hana i kahi namespace i kapa ʻia ʻo test, a laila e hoʻohana i ke kauoha $ kubectl create namespace test a i ʻole e hana i kahi faila YAML a hoʻohana e like me nā kumuwaiwai Kubernetes ʻē aʻe.
Hiki iā ʻoe ke ʻike i nā inoa inoa āpau me ka hoʻohana ʻana i ke kauoha $ kubectl get namespace.
Ke pau ia, ʻike ʻoe i ʻekolu mau inoa inoa i kūkulu ʻia a me kahi inoa inoa hou i kapa ʻia ʻo "hōʻoia". E nānā i kahi faila YAML maʻalahi e hana i kahi pod. E ʻike ʻoe ʻaʻole ʻōlelo ʻia ka inoa inoa.
Inā ʻoe e hoʻohana i ka kubectl e holo i kēia faila, e hana ʻo ia i ka module mypod i ka inoa inoa e hana nei. ʻO kēia ka inoa inoa paʻamau a hiki i kou hoʻololi ʻana. Aia 2 ala e haʻi aku ai iā Kubernetes i ka inoa inoa āu e makemake ai e hana i kāu kumuwaiwai. ʻO ke ala mua, ʻo ia ka hoʻohana ʻana i ka hae inoa i ka wā e hana ai i kahi kumuwaiwai.
ʻO ke ala ʻelua, ʻo ia ke kuhikuhi i ka inoa inoa ma ka ʻōlelo YAML.
Inā ʻoe e kuhikuhi i kahi inoa inoa ma YAML, e hana mau ʻia ka kumuwaiwai i kēlā inoa inoa. Inā ho'āʻo ʻoe e hoʻohana i kahi inoa inoa ʻē aʻe me ka hoʻohana ʻana i ka hae inoa inoa, e hāʻule ke kauoha. I kēia manawa inā hoʻāʻo ʻoe e ʻimi i kāu pod, ʻaʻole hiki iā ʻoe ke hana pēlā.
Hana ʻia kēia ma muli o ka hoʻokō ʻia ʻana o nā kauoha āpau ma waho o ka inoa inoa e hana nei. No ka ʻimi ʻana i kāu pod, pono ʻoe e hoʻohana i ka hae inoa, akā hikiwawe kēia, ʻoiai inā he mea hoʻomohala ʻoe ma kahi hui e hoʻohana ana i kona inoa ponoʻī a ʻaʻole makemake e hoʻohana i kēlā hae no kēlā me kēia kauoha. E ʻike kākou pehea e hoʻoponopono ai i kēia.
Ma waho o ka pahu, ua kapa ʻia kāu inoa inoa paʻamau. Inā ʻaʻole ʻoe e kuhikuhi i kahi inoa i loko o ka punawai YAML, a laila e hoʻohana nā kauoha Kubernetes āpau i kēia inoa inoa paʻamau. ʻO ka mea pōʻino, hiki i ka hoʻāʻo ʻana e hoʻokele i ka namespace me ka kubectl hiki ke hāʻule. Eia naʻe, aia kahi mea hana maikaʻi loa i kapa ʻia ʻo Kubens e maʻalahi i kēia kaʻina hana. Ke holo ʻoe i ke kauoha kubens, ʻike ʻoe i nā inoa inoa āpau me ka inoa inoa ikaika i hoʻohālikelike ʻia.
No ka hoʻololi ʻana i ka namespace hana i ka namespace hoʻāʻo, holo wale ʻoe i ke kauoha hōʻike $ kubens. Inā ʻoe e holo hou i ke kauoha $ kubens, e ʻike ʻoe ua hoʻokaʻawale ʻia kahi inoa inoa hou - hoʻāʻo.
'O ia ho'i, 'a'ole pono 'oe i ka hae inoa no ka 'ike 'ana i ka pod ma ka inoa ho'ā'o.
Ma kēia ʻano, hūnā ʻia nā inoa inoa mai kekahi i kekahi, akā ʻaʻole kaʻawale mai kekahi i kekahi. Hiki ke kamaʻilio maʻalahi i kahi lawelawe ma kahi inoa inoa hoʻokahi me kahi lawelawe ma kahi inoa inoa ʻē aʻe, he mea pono loa ia. ʻO ka hiki ke kamaʻilio ma waena o nā inoa inoa ʻokoʻa, ʻo ia ka hiki ke kamaʻilio me ka lawelawe o kāu mea hoʻomohala me kahi lawelawe o ka hui dev ma kahi inoa inoa ʻē aʻe.
ʻO ka maʻamau, ke makemake kāu noi e komo i kahi lawelawe Kubernetes, hoʻohana ʻoe i ka lawelawe ʻike DNS i kūkulu ʻia a hāʻawi wale i kāu noi i ka inoa o ka lawelawe. Eia naʻe, ma ka hana ʻana pēlā, hiki iā ʻoe ke hana i kahi lawelawe ma lalo o ka inoa hoʻokahi i nā inoa inoa he nui, ʻaʻole i ʻae ʻia.
ʻO ka pōmaikaʻi, maʻalahi kēia e hele a puni me ka hoʻohana ʻana i ke ʻano hoʻonui o ka helu DNS. Hōʻike nā lawelawe ma nā Kubernetes i ko lākou mau hopena me ka hoʻohana ʻana i kahi laʻa DNS maʻamau. He mea like me kēia:
ʻO ka maʻamau, pono ʻoe i ka inoa lawelawe a e hoʻoholo koke ʻo DNS i ka helu piha.
Eia naʻe, inā pono ʻoe e komo i kahi lawelawe ma kahi inoa inoa ʻē aʻe, e hoʻohana wale i ka inoa lawelawe me ka inoa inoa inoa:
No ka laʻana, inā makemake ʻoe e hoʻopili i kahi waihona lawelawe ma kahi inoa hoʻāʻo, hiki iā ʻoe ke hoʻohana i ka helu helu database database.test
Inā makemake ʻoe e hoʻopili i ka waihona lawelawe ma ka inoa inoa prod, hoʻohana ʻoe i ka database.prod.
Inā makemake ʻoe e hoʻokaʻawale a hoʻopaʻa i ke komo ʻana i ka namespace, ʻae ʻo Kubernetes iā ʻoe e hana i kēia me ka hoʻohana ʻana i nā Kubernetes Network Policies. E kamaʻilio wau e pili ana i kēia ma ka ʻatikala aʻe.
Nīnau pinepine ʻia iaʻu i ka nīnau, ʻehia ka nui o nā inoa inoa e pono iaʻu ke hana a no ke kumu hea? He aha ka ʻāpana ʻikepili i mālama ʻia?
Inā hoʻokumu ʻoe i nā inoa inoa he nui, e hele wale lākou i kou ala. Inā he liʻiliʻi loa o lākou, e nalowale ʻoe i nā pono āpau o ia ʻano hopena. Manaʻo wau aia ʻehā mau ʻanuʻu nui e hele ai kēlā me kēia hui i ka hana ʻana i kāna ʻano hoʻonohonoho. Ma muli o ke kahua o ka hoʻomohala ʻana i kāu papahana a i ʻole ʻoihana, makemake paha ʻoe e hoʻohana i kahi hoʻolālā inoa inoa kūpono.
E noʻonoʻo ʻoe he ʻāpana ʻoe i kahi hui liʻiliʻi e hana nei i ka hoʻomohala ʻana i nā microservices 5-10 a hiki iā ʻoe ke hōʻiliʻili maʻalahi i nā mea hoʻomohala āpau i hoʻokahi lumi. Ma kēia kūlana, kūpono ke holo i nā lawelawe prod āpau i ka inoa inoa paʻamau. ʻOiaʻiʻo, no ka maʻalahi, hiki iā ʻoe ke hoʻohana i 2 namespaces - kaʻawale no ka prod a me ka dev. A ʻo ka mea nui, hoʻāʻo ʻoe i kāu hoʻomohala ʻana ma kāu kamepiula kūloko me ka hoʻohana ʻana i kahi mea e like me Minikube.
E ʻōlelo kākou ua loli a loaʻa iā ʻoe kahi hui e ulu wikiwiki nei e hana ana ma mua o 10 microservices i ka manawa. Aia kahi manawa e pono ai e hoʻohana i kekahi mau puʻupuʻu a i ʻole nā inoa inoa, ʻokoʻa no ka prod a me ka dev. Hiki iā ʻoe ke hoʻokaʻawale i ka hui i loko o nā pūʻulu liʻiliʻi i loaʻa i kēlā me kēia o lākou kāna microservices a hiki i kēlā me kēia hui ke koho i kona inoa inoa ponoʻī e hoʻomaʻamaʻa i ke kaʻina hana o ka hoʻokele ʻana i ka hoʻomohala ʻana a me ka hoʻokuʻu ʻana.
I ka loaʻa ʻana o ka ʻike o kēlā me kēia lālā o ka hui i ke ʻano o ka hana ʻana o ka ʻōnaehana holoʻokoʻa, lilo ia i mea paʻakikī loa e hoʻonohonoho i kēlā me kēia hoʻololi me nā mea hoʻomohala ʻē aʻe. Ke hoʻāʻo nei e wili i kahi waihona piha ma kāu mīkini kūloko e paʻakikī i kēlā me kēia lā.
I nā ʻoihana nui, ʻaʻole ʻike nā mea hoʻomohala i ka mea e hana nei i ka mea. Kūkākūkā nā hui me ka hoʻohana ʻana i nā ʻaelike lawelawe a i ʻole ka hoʻohana ʻana i ka ʻenehana mesh lawelawe, e hoʻohui i kahi papa abstraction ma luna o ka pūnaewele, e like me ka mea hana hoʻonohonoho Istio. ʻAʻole hiki ke hoʻāʻo e holo i kahi waihona holoʻokoʻa ma ka wahi. No laila, hiki mai kahi manawa e pono ai kēlā me kēia kauoha i kona inoa inoa ponoʻī. Hiki i kēlā me kēia hui ke koho i nā inoa inoa he nui no ka dev environment a me ka prod environment.
ʻO ka mea hope loa, aia nā ʻoihana ʻoihana nui kahi i ʻike ʻole ai kahi hui o nā mea hoʻomohala aia nā hui ʻē aʻe. Hiki i kēlā ʻoihana ke hoʻolimalima i nā mea hoʻomohala ʻaoʻao ʻekolu e launa pū me ia ma o nā API i kākau ʻia. Loaʻa i kēlā me kēia pūʻulu he mau hui a me kekahi mau microservices. I kēia hihia, pono ʻoe e hoʻohana i nā mea hana āpau aʻu i kamaʻilio ai ma mua.
ʻAʻole pono ka poʻe polokalamu polokalamu e hoʻokau lima i nā lawelawe a ʻaʻole pono e komo i nā inoa inoa ʻaʻole pili iā lākou. I kēia manawa, pono e loaʻa i kekahi mau puʻupuʻu e hōʻemi i ka "radius blast" o nā noi i hoʻonohonoho maikaʻi ʻole ʻia, e maʻalahi i nā kaʻina hana pili kālā a me ka hoʻokele waiwai.
No laila, ʻo ka hoʻohana pono ʻana i nā papa inoa e kāu hui e hiki ai iā ʻoe ke hana i nā Kubernetes i ʻoi aku ka maʻalahi, hoʻomalu, palekana, a maʻalahi hoʻi.
Kekahi mau hoʻolaha 🙂
Mahalo no kou noho pū ʻana me mākou. Makemake ʻoe i kā mākou ʻatikala? Makemake ʻoe e ʻike i nā mea hoihoi hou aʻe? E kākoʻo iā mākou ma ke kau ʻana i kahi kauoha a i ʻole ka ʻōlelo ʻana i nā hoaaloha,
ʻO Dell R730xd 2 mau manawa maʻalahi ma Equinix Tier IV kikowaena data ma Amsterdam? Eia wale nō
Source: www.habr.com