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