7 mau hana maikaʻi loa no ka hoʻohana ʻana i nā ipu e like me Google

Nānā. unuhi.: ʻO Théo Chamley ka mea kākau o ka ʻatikala kumu, Google Cloud Solutions Architect. Ma kēia pou no ka blog Google Cloud, hāʻawi ʻo ia i kahi hōʻuluʻulu o ke alakaʻi kikoʻī o kāna hui, i kapa ʻia "ʻO nā hana maikaʻi loa no nā pahu hana" I loko o ia mea, ua hōʻiliʻili nā poʻe loea Google i nā hana maikaʻi loa no ka hoʻohana ʻana i nā ipu i loko o ka pōʻaiapili o ka hoʻohana ʻana i ka Google Kubernetes Engine a me nā mea hou aʻe, e pili ana i kahi ākea o nā kumuhana: mai ka palekana i ka nānā ʻana a me ka hoʻopaʻa inoa. No laila he aha nā hana pahu koʻikoʻi e like me Google?

7 mau hana maikaʻi loa no ka hoʻohana ʻana i nā ipu e like me Google

Kubernetes Engine (Lahana kumu Kubernetes no ka holo ʻana i nā noi pahu pahu ma Google Cloud - kokoke. unuhi) ʻo ia kekahi o nā ala maikaʻi loa e holo ai i nā haʻahaʻa hana pono e hoʻonui. Kubernetes e hōʻoia i ka hana maʻalahi o ka hapa nui o nā noi inā hoʻokomo ʻia lākou. Akā inā makemake ʻoe e maʻalahi kāu noi e hoʻokele a makemake ʻoe e hoʻohana pono i nā Kubernetes, pono ʻoe e hahai i nā hana maikaʻi loa. E hoʻomaʻamaʻa lākou i ka hana o ka noi, kāna nānā ʻana a me ka debugging, a hoʻonui pū i ka palekana.

Ma kēia ʻatikala, e hele mākou i kahi papa inoa o nā mea āu e ʻike ai a e hana ai e holo pono i nā ipu ma Kubernetes. ʻO ka poʻe makemake e hele hohonu i nā kikoʻī e heluhelu i ka mea ʻO nā hana maikaʻi loa no nā pahu hana, a e malama pu i ko kakou pou mua e pili ana i ka hui ʻana i nā ipu.

1. E hoʻohana i nā ʻano hana logging ipu maoli

Inā e holo ana ka palapala noi ma kahi pūʻulu Kubernetes, ʻaʻole pono nui no nā lāʻau. Ua kūkulu ʻia paha kahi ʻōnaehana logging kikowaena i loko o ka pūʻulu āu e hoʻohana nei. I ka hihia o ka hoʻohana ʻana iā Kubernetes Engine, ʻo ia ke kuleana Hoʻopaʻa inoa Stackdriver. (Nānā. unuhi.: A inā ʻoe e hoʻohana i kāu hoʻonohonoho Kubernetes ponoʻī, paipai mākou e nānā pono i kā mākou Open Source solution - hale lāʻau lāʻau.) E mālama maʻalahi i kou ola a hoʻohana i nā ʻano hana logging ipu maoli. Kākau i nā lāʻau i stdout a me stderr - e loaʻa koke iā lākou, mālama ʻia a kuhikuhi ʻia.

Inā makemake ʻia, hiki iā ʻoe ke kākau i nā lāʻau i Hōʻano JSON. E maʻalahi kēia ala e hoʻohui i nā metadata iā lākou. A me lākou, e loaʻa iā Stackdriver Logging ka hiki ke ʻimi ma o nā lāʻau me ka hoʻohana ʻana i kēia metadata.

2. E hōʻoia i ka mokuʻāina ʻole a hiki ke hoʻololi ʻia nā pahu

No ka hana pono ʻana o nā ipu i loko o kahi pūʻulu Kubernetes, pono ʻole lākou a hiki ʻole ke hoʻololi. Ke hoʻokō ʻia kēia mau kūlana, hiki i nā Kubernetes ke hana i kāna hana, ka hana ʻana a me ka luku ʻana i nā mea noi i ka wā a me kahi e pono ai.

Kuhihewa 'o ia ho'i, mālama 'ia kekahi moku'āina (nā 'ikepili mau o kēlā me kēia 'ano) ma waho o ka ipu. No kēia, ma muli o nā pono, hiki ke hoʻohana ʻia nā ʻano like ʻole o ka waiho ʻana o waho: Kapua pūnaewele, Nā diski hoʻomau, Ho'ōla, Kapua SQL a i ʻole nā ​​waihona ʻikepili i mālama ʻia. (Nānā. unuhi.: E heluhelu hou e pili ana i kēia ma kā mākou ʻatikala “Nā mea hoʻohana no Kubernetes: pehea e holo ai i nā noi kūlana".)

Hiki ʻole ke hoʻololi 'o ia ho'i, 'a'ole e ho'ololi 'ia ka ipu i kona wā e ola ana: 'a'ohe mea hou, patches, ho'ololi ho'onohonoho. Inā pono ʻoe e hōʻano hou i kāu code noi a hoʻopili paha i kahi patch, e hana i kahi kiʻi hou a kau iā ia. Manaʻo ʻia e hoʻoneʻe i ka hoʻonohonoho ipu (hoʻolohe awa, nā koho kaiapuni runtime, etc.) ma waho - i mea и ConfigMaps. Hiki iā lākou ke hōʻano hou me ka ʻole o ke kūkulu ʻana i kiʻi pahu hou. No ka hana maʻalahi i nā pipeline me ka hui kiʻi, hiki iā ʻoe ke hoʻohana Kapua Kapua. (Nānā. unuhi.: Hoʻohana mākou i kahi mea hana Open Source no kēia mau kumu dappd.)

7 mau hana maikaʻi loa no ka hoʻohana ʻana i nā ipu e like me Google
He laʻana o ka hoʻonui ʻana i ka hoʻonohonoho hoʻonohonoho ʻana ma Kubernetes me ka hoʻohana ʻana i ka ConfigMap i kau ʻia i loko o nā pods ma ke ʻano he config.

3. E pale i nā ipu waiwai

ʻAʻole ʻoe e holo i nā noi ma ke ʻano he aʻa ma kāu mau kikowaena, pololei? Inā komo ka mea hoʻouka i ka noi, e loaʻa iā ia ke aʻa. Pili nā manaʻo like ʻole i ka holo ʻole ʻana i nā ipu waiwai. Inā pono ʻoe e hoʻololi i nā hoʻonohonoho ma ka host, hiki iā ʻoe ke hāʻawi i ka pahu kikoʻī nā mea hiki hoʻohana i ke koho securityContext ma Kubernetes. Inā pono ʻoe e hoʻololi sysctls, ua loaʻa iā Kubernetes abstract kaawale no keia. Ma keʻano laulā, e ho'āʻo e hana i ka hapa nui ini- a me nā pahu kaʻa ʻaoʻao e hana i nā hana pono like. ʻAʻole pono lākou e loaʻa i nā kaʻa kūloko a i waho paha.

Inā lawelawe ʻoe i kahi hui, hiki iā ʻoe ke hoʻohana Kulekele Palekana Pod no nā kapu i ka hoʻohana ʻana i nā ipu waiwai.

4. E pale i ka holo ma ke ano he kumu

Ua kamaʻilio mua ʻia nā ipu waiwai, akā ʻoi aku ka maikaʻi inā, i ka hoʻohui ʻana i kēia, ʻaʻole ʻoe e holo i nā noi i loko o ka ipu e like me ke kumu. Inā ʻike ka mea hoʻouka i kahi haʻahaʻa mamao ma kahi noi me nā kuleana kumu e ʻae ai i ka hoʻokō code, a laila hiki iā ia ke haʻalele i ka pahu ma o kahi nāwaliwali i ʻike ʻole ʻia, e loaʻa iā ia ke aʻa ma ka host.

ʻO ke ala maikaʻi loa e pale aku ai i kēia, ʻaʻole e holo i kekahi mea ma ke kumu mua. No ka hana ʻana i kēia, hiki iā ʻoe ke hoʻohana i ke kuhikuhi USER в Dockerfile ai ole ia, runAsUser ma Kubernetes. Hiki i ka luna hoʻomalu hui ke hoʻonohonoho i ka hana hoʻokō me ka hoʻohana ʻana Kulekele Palekana Pod.

5. E maʻalahi ka nānā ʻana i ka noi

E like me ka hoʻopaʻa inoa ʻana, he ʻāpana koʻikoʻi ka nānā ʻana i ka hoʻokele noi. ʻO kahi hoʻonā nānā kaulana i ke kaiāulu Kubernetes IHILA - he ʻōnaehana e ʻike maʻalahi i nā pods a me nā lawelawe e pono ai ka nānā ʻana. (Nānā. unuhi.: E nana hoi i ko makou hōʻike kikoʻī ma ke kumuhana o ka nānā ʻana me ka hoʻohana ʻana iā Prometheus a me Kubernetes.) Mea hoʻokele waiwai hiki iā ia ke nānā i nā pūʻulu Kubernetes a komo i kāna mana ponoʻī o Prometheus no ka nānā ʻana i nā noi.

7 mau hana maikaʻi loa no ka hoʻohana ʻana i nā ipu e like me Google
Kubernetes Dashboard ma Stackdriver

Manaʻo ʻo Prometheus i ka noi e hoʻouna i nā metric i ka hopena HTTP. Loaʻa no kēia Nā hale waihona puke o nā mea kūʻai aku Prometheus. Hoʻohana ʻia ka ʻano like e nā mea hana ʻē aʻe e like me OpenCensus и Istio.

6. E hoʻolako i ke kūlana olakino o ka polokalamu

ʻO ka hoʻokele noiʻi i ka hana ʻana e kōkua ʻia e kona hiki ke kamaʻilio i kona mokuʻāina i ka ʻōnaehana holoʻokoʻa. Ke holo nei ka polokalamu? Ua maikaʻi paha? Mākaukau ʻoe e loaʻa i nā kaʻa? Pehea kona ʻano? ʻO ke ala maʻamau e hoʻoponopono ai i kēia pilikia ʻo ka hoʻokō ʻana i nā loiloi olakino (nā nānā olakino). He ʻelua ʻano ʻano Kubernetes: nā ʻimi ola a me ka mākaukau.

No ka ʻimi ola (nā mana ola) Pono e loaʻa i ka palapala noi kahi hopena HTTP e hoʻihoʻi i kahi pane "200 OK" inā pono ia a ua māʻona nā hilinaʻi kumu. No ka ʻimi mākaukau (nā mākaʻikaʻi mākaukau lawelawe) pono e loaʻa i ka palapala noi kahi hopena HTTP ʻē aʻe e hoʻihoʻi i kahi pane "200 OK" inā aia ka noi i kahi kūlana olakino, ua hoʻopau ʻia nā ʻanuʻu hoʻomaka a ʻaʻole i loaʻa kahi noi kūpono i kahi hewa. Na Kubernetes wale nō e hoʻokele i ke kaʻa i ka pahu inā mākaukau ka palapala noi e like me kēia mau loiloi. Hiki ke hoʻohui ʻia ʻelua mau hopena inā ʻaʻohe ʻokoʻa ma waena o ke kūlana ola a me ka mākaukau.

Hiki iā ʻoe ke heluhelu hou aʻe e pili ana i kēia ma ka ʻatikala pili mai Sandeep Dinesh, Developer Advocate mai Google: "Nā hoʻomaʻamaʻa maikaʻi loa o Kubernetes: Hoʻonohonoho i nā nānā olakino me ka mākaukau a me nā ʻimi ola".

7. E koho pono i kāu mana kiʻi

Hoʻohana ka hapa nui o nā kiʻi lehulehu a me nā kiʻi pilikino i kahi ʻōnaehana hōʻailona e like me ka mea i wehewehe ʻia ma ʻO nā hana maikaʻi loa no ke kūkulu ʻana i nā ipu. Inā hoʻohana ke kiʻi i kahi ʻōnaehana kokoke i hoʻololi semantic, pono e noʻonoʻo i nā kikoʻī o ke kau inoa ʻana. No ka laʻana, tag latest hiki ke neʻe pinepine mai ke kiʻi a i ke kiʻi - ʻaʻole hiki ke hilinaʻi ʻia inā makemake ʻoe i nā kūkulu a me nā hoʻonohonoho ʻana.

Hiki iā ʻoe ke hoʻohana i ka tag X.Y.Z (ʻaneʻane hoʻololi ʻole lākou i nā manawa a pau), akā i kēia hihia, e mālama pono i nā ʻāpana āpau a me nā mea hou i ke kiʻi. Inā he hōʻailona ko ke kiʻi āu e hoʻohana nei X.Y, He koho maikaʻi kēia no ka mean gula. Ma ke koho ʻana iā ia, loaʻa iā ʻoe nā patch a ma ka manawa like e hilinaʻi i ka mana paʻa o ka noi.

PS mai ka unuhi

E heluhelu pū ma kā mākou blog:

Source: www.habr.com

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