Nā hana maikaʻi loa o Kubernetes. Hoʻonohonoho i nā Kubernetes me ka inoa inoa

Nā hana maikaʻi loa o Kubernetes. Ke hana ʻana i nā pahu liʻiliʻi

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.

Nā hana maikaʻi loa o Kubernetes. Hoʻonohonoho i nā Kubernetes me ka inoa inoa

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.

Nā hana maikaʻi loa o Kubernetes. Hoʻonohonoho i nā Kubernetes me ka inoa inoa

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.

Nā hana maikaʻi loa o Kubernetes. Hoʻonohonoho i nā Kubernetes me ka inoa inoa

Hiki iā ʻoe ke ʻike i nā inoa inoa āpau me ka hoʻohana ʻana i ke kauoha $ kubectl get namespace.

Nā hana maikaʻi loa o Kubernetes. Hoʻonohonoho i nā Kubernetes me ka inoa inoa

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.

Nā hana maikaʻi loa o Kubernetes. Hoʻonohonoho i nā Kubernetes me 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.

Nā hana maikaʻi loa o Kubernetes. Hoʻonohonoho i nā Kubernetes me ka inoa inoa

ʻO ke ala ʻelua, ʻo ia ke kuhikuhi i ka inoa inoa ma ka ʻōlelo YAML.

Nā hana maikaʻi loa o Kubernetes. Hoʻonohonoho i nā Kubernetes me ka inoa inoa

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ā.

Nā hana maikaʻi loa o Kubernetes. Hoʻonohonoho i nā Kubernetes me ka inoa inoa

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.

Nā hana maikaʻi loa o Kubernetes. Hoʻonohonoho i nā Kubernetes me ka inoa inoa

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.

Nā hana maikaʻi loa o Kubernetes. Hoʻonohonoho i nā Kubernetes me ka inoa inoa

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.

Nā hana maikaʻi loa o Kubernetes. Hoʻonohonoho i nā Kubernetes me ka inoa inoa

'O ia ho'i, 'a'ole pono 'oe i ka hae inoa no ka 'ike 'ana i ka pod ma ka inoa ho'ā'o.

Nā hana maikaʻi loa o Kubernetes. Hoʻonohonoho i nā Kubernetes me ka inoa inoa

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.

Nā hana maikaʻi loa o Kubernetes. Hoʻonohonoho i nā Kubernetes me ka inoa inoa

ʻ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:

Nā hana maikaʻi loa o Kubernetes. Hoʻonohonoho i nā Kubernetes me ka inoa inoa

ʻO ka maʻamau, pono ʻoe i ka inoa lawelawe a e hoʻoholo koke ʻo DNS i ka helu piha.

Nā hana maikaʻi loa o Kubernetes. Hoʻonohonoho i nā Kubernetes me ka inoa inoa

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:

Nā hana maikaʻi loa o Kubernetes. Hoʻonohonoho i nā Kubernetes me ka 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

Nā hana maikaʻi loa o Kubernetes. Hoʻonohonoho i nā Kubernetes me ka inoa inoa

Inā makemake ʻoe e hoʻopili i ka waihona lawelawe ma ka inoa inoa prod, hoʻohana ʻoe i ka database.prod.

Nā hana maikaʻi loa o Kubernetes. Hoʻonohonoho i nā Kubernetes me ka inoa inoa

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.

Nā hana maikaʻi loa o Kubernetes. Hoʻonohonoho i nā Kubernetes me ka inoa inoa

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.

Nā hana maikaʻi loa o Kubernetes. Hoʻonohonoho i nā Kubernetes me ka inoa inoa

ʻ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.

Nā hana maikaʻi loa o Kubernetes. Ke hōʻoia ʻana i ke ola o Kubernetes me nā hoʻāʻo mākaukau a me ke ola

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, cloud VPS no nā mea hoʻomohala mai $4.99, he analogue kū hoʻokahi o nā kikowaena hoʻokomo-level, i hana ʻia e mākou no ʻoe: ʻO ka ʻoiaʻiʻo holoʻokoʻa e pili ana iā VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps mai $ 19 a pehea e kaʻana like ai i kahi kikowaena? (loaʻa me RAID1 a me RAID10, a hiki i 24 cores a hiki i 40GB DDR4).

ʻO Dell R730xd 2 mau manawa maʻalahi ma Equinix Tier IV kikowaena data ma Amsterdam? Eia wale nō 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV mai $199 ma Netherlands! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - mai $99! Heluhelu e pili ana Pehea e kūkulu ai i ka ʻoihana ʻoihana. papa me ka hoʻohana 'ana o Dell R730xd E5-2650 v4 kikowaena waiwai 9000 euros no ka peni?

Source: www.habr.com

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