Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

Hāʻawi ka hōʻike i nā pilikia kūpono o ka hoʻomohala ʻana i kahi mea hoʻohana ma Kubernetes, ka hoʻolālā ʻana i kāna hoʻolālā a me nā kumu kumu o ka hana.

Ma ka ʻāpana mua o ka hōʻike, e noʻonoʻo mākou:

  • he aha ka mea hoʻohana ma Kubernetes a no ke aha e pono ai;
  • pehea e hoʻomaʻamaʻa pono ai ka mea hoʻokele i ka hoʻokele ʻana i nā ʻōnaehana paʻakikī;
  • ka mea hiki i ka mea hana a me ka mea hiki ole i ka mea hana.

A laila, huli mākou i kahi kūkākūkā o ka hoʻolālā o loko o ka mea hoʻohana. E noʻonoʻo i ka hoʻolālā a me ka hana o ka mea hoʻohana i kēlā me kēia pae. E nānā pono kākou:

  • ka pilina ma waena o ka mea hoʻohana a me nā Kubernetes;
  • he aha nā hana a ka mea hoʻohana e hana ai a he aha nā ʻelele iā Kubernetes.

E noʻonoʻo e hoʻokele i nā shards a me nā kope waihona ma Kubernetes.
A laila, e kūkākūkā mākou i nā pilikia mālama ʻikepili:

  • pehea e hana ai me ka Persistent Storage mai ka manaʻo o ka mea hoʻohana;
  • nā pilikia o ka hoʻohana ʻana i ka Local Storage.

Ma ka ʻāpana hope o ka hōʻike, e noʻonoʻo mākou i nā hiʻohiʻona kūpono o ka noi mea hoʻohana clickhouse me Amazon a i ʻole Google Cloud Service. Hoʻokumu ʻia ka hōʻike ma ka laʻana o ka hoʻomohala ʻana a me ka ʻike hana o ka mea hoʻohana no ClickHouse.

Video:

ʻO Vladislav Klimenko koʻu inoa. I kēia lā makemake wau e kamaʻilio e pili ana i kā mākou ʻike i ka hoʻomohala ʻana a me ka hana ʻana i kahi mea hoʻohana, a he mea hoʻohana kūikawā kēia no ka mālama ʻana i nā pūʻulu waihona. ʻo kahi laʻana ClickHouse-operator e mālama i ka hui ClickHouse.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

No ke aha e loaʻa ai iā mākou ka manawa e kamaʻilio e pili ana i ka mea hoʻokele a me ClickHouse?

  • Kākoʻo mākou a hoʻomohala i ClickHouse.
  • I kēia manawa, ke hoʻāʻo nei mākou e hāʻawi mālie i kā mākou kōkua i ka hoʻomohala ʻana o ClickHouse. A ʻo mākou ka lua ma hope o Yandex e pili ana i ka nui o nā loli i hana ʻia ma ClickHouse.
  • Ke ho'āʻo nei mākou e hana i nā papahana hou no ka ClickHouse ecosystem.

Makemake au e kamaʻilio e pili ana i kekahi o kēia mau papahana. E pili ana kēia i ka ClickHouse-operator no Kubernetes.

Ma kaʻu hōʻike, makemake wau e hoʻopā i ʻelua kumuhana:

  • ʻO ke kumuhana mua ka hana ʻana o kā mākou ClickHouse database operator ma Kubernetes.
  • ʻO ke kumuhana ʻelua ke ʻano o ka hana ʻana o kekahi mea hoʻohana, ʻo ia hoʻi, pehea e launa pū ai me Kubernetes.

Eia naʻe, e hui pū kēia mau nīnau ʻelua i kaʻu hōʻike.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

ʻO wai ka makemake e lohe i kaʻu e hoʻāʻo nei e ʻōlelo?

  • ʻO ka mea hoihoi loa ka poʻe e hoʻohana i nā mea hana.
  • A i ʻole no ka poʻe makemake e hana i kā lākou iho i mea e hoʻomaopopo ai i ka hana ʻana o loko, pehea e launa pū ai ka mea hoʻohana me Kubernetes, a he aha nā pitfalls e ʻike ʻia.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

I mea e hoʻomaopopo maikaʻi ai i ka mea a mākou e kūkākūkā ai i kēia lā, maikaʻi e ʻike pehea e hana ai ʻo Kubernetes a loaʻa kahi kumu kumu i ka computing kapua.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

He aha ka ClickHouse? He kolamu waihona kēia me nā kikoʻī i ka hoʻoponopono pūnaewele o nā nīnau noiʻi. A he mea hamama loa.

A pono mākou e ʻike i ʻelua mau mea. Pono ʻoe e ʻike he waihona kēia, no laila e pili ana ka mea aʻu e haʻi aku ai iā ʻoe i nā mea āpau. A ʻo ka ʻoiaʻiʻo o ka ClickHouse DBMS unahi maikaʻi loa e hāʻawi i ka scalability kokoke linear. A no laila, he kūlana kūlohelohe ka moku'āina o ka hui no ClickHouse. A makemake nui mākou e kūkākūkā pehea e lawelawe ai i kahi hui ClickHouse ma Kubernetes.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

No ke aha e pono ai ʻo ia ma laila? No ke aha ʻaʻole hiki iā mākou ke hoʻomau i ka hana iā mākou iho? A ʻo nā pane he ʻano loea a he ʻāpana hoʻonohonoho.

  • I ka hoʻomaʻamaʻa, ʻoi aku ka nui o ka manawa e hālāwai ai mākou i kēlā ʻano i ka wā i loko o nā ʻoihana nui kokoke i nā ʻāpana āpau i Kubernetes. E waiho i nā waihona ma waho.
  • Aʻoi aku ka nui o ka nīnau: "Hiki ke waiho i loko?". No laila, ke ho'āʻo nei nā ʻoihana nui e hana i ka hui nui o ka hoʻokele i hiki ke hoʻokele wikiwiki i kā lākou mau waihona ʻikepili.
  • A kōkua nui kēia inā makemake ʻoe i ka manawa kūpono e hana hou i ka mea like ma kahi wahi hou, ʻo ia hoʻi, ka hiki ke hoʻololi.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

Pehea ka maʻalahi a paʻakikī paha? ʻO kēia, ʻoiaʻiʻo, hiki ke hana me ka lima. Akā ʻaʻole maʻalahi kēia, no ka mea, hoʻohui mākou i ka paʻakikī o ka hoʻokele ʻana iā Kubernetes ponoʻī, akā i ka manawa like ua kau ʻia nā kikoʻī o ClickHouse. A ua hoʻololi ʻia kahi hui like ʻole.

A hui pū ʻia, hāʻawi kēia i kahi ʻenehana nui loa, a ke lilo nei i mea paʻakikī ke hoʻokele, no ka mea, lawe ʻo Kubernetes i kāna mau pilikia i kēlā me kēia lā i ka hana, a lawe ʻo ClickHouse i kāna mau pilikia i ka hana o kēlā me kēia lā. ʻOi loa inā loaʻa iā mākou kekahi mau ClickHouses, a pono mākou e hana mau i kekahi mea me lākou.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

ʻO ClickHouse me kahi hoʻonohonoho hoʻoikaika i ka nui o nā pilikia e hoʻokumu i kahi ukana mau ma DevOps:

  • Ke makemake mākou e hoʻololi i kekahi mea ma ClickHouse, no ka laʻana, hoʻohui i kahi kope, kahi shard, a laila pono mākou e hoʻokele i ka hoʻonohonoho.
  • A laila e hoʻololi i ka hoʻolālā ʻikepili, no ka mea he ʻano sharding kikoʻī ko ClickHouse. Ma laila pono e waiho i ka hoʻolālā data, hoʻonohonoho i nā hoʻonohonoho.
  • Pono ʻoe e hoʻonohonoho i ka nānā ʻana.
  • ʻOhi o nā lāʻau no nā shards hou, no nā kope hou.
  • E mālama i ka ho'ōla.
  • A hoʻomaka hou.

ʻO kēia nā hana maʻamau aʻu e makemake nui ai e hoʻomaʻamaʻa i ka hana.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

Kōkua nui ʻo Kubernetes i ka hana, akā ma nā ʻōnaehana kumu.

He maikaʻi ʻo Kubernetes i ka hoʻomaʻamaʻa ʻana a me ka hana ʻana i nā mea e like me:

  • Hoʻoiho.
  • Hoʻomaka hou.
  • Ka mālama mālama.

Maikaʻi kēlā, ʻo ia ke ala pololei, akā ʻaʻole ʻo ia i pili i ka hana ʻana i kahi pūʻulu waihona.

Makemake au i nā mea hou aku, makemake au e hana ka ʻikepili holoʻokoʻa no mākou ma Kubernetes.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

Makemake wau e kiʻi i kahi mea e like me ke pihi ʻulaʻula kilokilo nui āu e paʻi ai a loaʻa iā ʻoe kahi puʻupuʻu i kau ʻia a mālama ʻia i loko o ke ola holoʻokoʻa me nā hana o kēlā me kēia lā e pono e hoʻoholo. Puʻupuʻu ClickHouse ma Kubernetes.

A ua hoʻāʻo mākou e hana i kahi hoʻonā e kōkua i ka maʻalahi o ka hana. ʻO kēia ka ClickHouse-operator no Kubernetes mai Altinity.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

ʻO ka mea hoʻohana he polokalamu nona ka hana nui e hoʻokele i nā papahana ʻē aʻe, ʻo ia hoʻi, he manakia.

A loaʻa nā ʻano hana. Hiki iā ʻoe ke kapa i ka ʻike codified e pili ana i ke kumuhana.

A ʻo kāna hana nui, ʻo ia ka maʻalahi o ke ola no DevOps a hōʻemi i ka micromanagement i noʻonoʻo ʻo ia (DevOps) i nā ʻōlelo kiʻekiʻe, ʻo ia hoʻi, ʻaʻole ia (DevOps) i micromanage, i ʻole ʻo ia e hoʻonohonoho lima i nā mea āpau. kikoʻī.

A ʻo ka mea hoʻohana wale nō he mea kōkua robot e hakakā nei me nā microtasks a kōkua iā DevOps.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

No ke aha e pono ai ka mea hoʻohana? ʻOi aku ʻo ia ma nā ʻāpana ʻelua:

  • Inā ʻaʻole lawa ka ʻike o kahi loea ClickHouse, akā pono ia e hana i ka ClickHouse, hoʻomaʻamaʻa ka mea hoʻohana i ka hana a hiki iā ʻoe ke hana i kahi pūʻulu ClickHouse me kahi hoʻonohonoho paʻakikī, ʻoiai ʻaʻole e hele i nā kikoʻī e pili ana i ka hana a pau i loko. . Hāʻawi wale ʻoe iā ia i nā hana kiʻekiʻe, a hana ia.
  • A ʻo ka lua o ka hana e hōʻike maikaʻi ai iā ia iho i ka wā e pono ai e hoʻomaʻamaʻa i ka nui o nā hana maʻamau. Wehe i nā microtasks mai sysadmins.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

Pono kēia e ka poʻe e hoʻomaka ana i kā lākou huakaʻi, a i ʻole nā ​​​​mea pono e hana i ka nui o ka automation.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

He aha ka ʻokoʻa ma waena o ka hoʻokele hoʻokele a me nā ʻōnaehana ʻē aʻe? Aia kekahi Helm. He kōkua nō hoʻi ia e hoʻokomo i ka ClickHouse, hiki iā ʻoe ke huki i nā pakuhi helm, kahi e hoʻokomo ai i kahi hui ClickHouse holoʻokoʻa. He aha ka ʻokoʻa ma waena o ka mea hoʻohana a me ka mea like, no ka laʻana, Helm?

ʻO ka ʻokoʻa koʻikoʻi ʻo ia ʻo Helm e pili ana i ka hoʻokele pōʻai, a ʻoi aku ka mea hoʻokele i kahi ʻanuʻu. ʻO kēia ke kākoʻo o ke ola holoʻokoʻa. ʻAʻole kēia wale nō ka hoʻonohonoho ʻana, ʻo ia nā hana o kēlā me kēia lā e pili ana i ka scaling, sharding, ʻo ia hoʻi nā mea āpau e pono ai ke hana i ka wā o ke ola (inā pono, wehe pū kekahi) - ua hoʻoholo ʻia kēia e ka mea hoʻokele. Ho'āʻo ʻo ia e hoʻokaʻawale a lawelawe i ka pōʻaiapuni ola polokalamu holoʻokoʻa. ʻO kēia kona ʻokoʻa koʻikoʻi mai nā haʻina ʻē aʻe i hōʻike ʻia.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

ʻO ia ka māhele hoʻolauna, e neʻe kākou.

Pehea mākou e kūkulu ai i kā mākou mea hoʻohana? Ke ho'āʻo nei mākou e hoʻokokoke i ka pilikia i mea e mālama ai i ka hui ClickHouse ma ke ʻano he kumu hoʻokahi.

Eia iā mākou ka ʻikepili hoʻokomo ma ka ʻaoʻao hema o ke kiʻi. ʻO YAML kēia me kahi kikoʻī puʻupuʻu, i hoʻoili ʻia ma o kubectl i Kubernetes. Ma laila, lawe kā mākou mea hoʻokele, hana i kāna kilokilo. A ʻo ka hopena, loaʻa iā mākou kahi papahana. ʻO kēia ka hoʻokō ʻana o ClickHouse ma Kubernetes.

A laila e nānā mālie mākou i ka hana ʻana o ka mea hana, he aha nā hana maʻamau e hiki ke hoʻoholo. E noʻonoʻo mākou i nā hana maʻamau wale nō, no ka mea he manawa liʻiliʻi kā mākou. A ʻaʻole e haʻi ʻia e pili ana i nā mea āpau i hiki i ka mea hoʻokele ke hoʻoholo.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

E hoʻomaka kākou mai ka hoʻomaʻamaʻa. ʻO kā mākou papahana he kumu hāmama loa, no laila hiki iā ʻoe ke ʻike pehea e hana ai ma GitHub. A hiki iā ʻoe ke hoʻomau mai ka noʻonoʻo ʻana, inā makemake ʻoe e hoʻomaka, a laila hiki iā ʻoe ke hoʻomaka me ka Quick Start Guide.

Inā makemake ʻoe e hoʻomaopopo i nā kikoʻī, a laila hoʻāʻo mākou e mālama i ka palapala ma kahi ʻano kūpono a i ʻole.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

E hoʻomaka kākou me kahi pilikia kūpono. ʻO ka hana mua a mākou e makemake ai e hoʻomaka me ka holo ʻana i ka laʻana mua ma kekahi ʻano. Pehea e hoʻomaka ai i ka ClickHouse me ke kōkua o kahi mea hoʻohana, me ka ʻike ʻole pehea e hana ai? Ke kākau nei mākou i kahi manifesto, no ka mea ʻO nā kamaʻilio āpau me k8s ke kamaʻilio ma o nā hōʻike.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

Eia kahi manifesto paʻakikī. ʻO ka mea a mākou i hōʻike ai i ka ʻulaʻula ka mea e pono ai mākou e nānā. Noi mākou i ka mea hoʻohana e hana i kahi hui i kapa ʻia ʻo demo.

I kēia manawa, he mau laʻana kumu kēia. ʻAʻole i wehewehe ʻia ka waiho ʻana, akā e hoʻi mākou i ka waiho ʻana ma hope iki. I kēia manawa, e nānā mākou i ka ulu ʻana o ka puʻupuʻu i ka dinamika.

Ua hana mākou i kēia manifesto. Hāʻawi mākou iā ia i kā mākou mea hoʻohana. Hana ʻo ia, hana kilokilo.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

Nānā mākou i ka console. ʻEkolu mau mea hoihoi - ʻo Pod kēia, ʻelua Service-a, StatefulSet.

Ua hana ka mea hana, a hiki iā mākou ke ʻike i kāna mea i hana ai.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

Hana ʻo ia i mea like me kēia. Loaʻa iā mākou kahi StatefulSet, Pod, ConfigMap no kēlā me kēia kope, ConfigMap no ka hui holoʻokoʻa. Pono nā lawelawe ma ke ʻano he komo i ka pūʻulu.

ʻO nā lawelawe ke kikowaena Load Balancer Service a hiki i kēlā me kēia kope, no kēlā me kēia shard.

Eia kā mākou pūʻulu kumu e like me kēia. Node hoʻokahi ʻo ia.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

E hele hou kāua, e paʻakikī. Pono ʻoe e ʻoki i ka pūpū.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

Ke ulu nei kā mākou mau hana, hoʻomaka ka dynamics. Makemake mākou e hoʻohui i kahi shard. Hahai mākou i ka hoʻomohala ʻana. Hoʻololi mākou i kā mākou kikoʻī. Hōʻike mākou makemake mākou i ʻelua shards.

ʻO kēia ka faila like a mākou e hoʻomohala nei me ka ulu ʻana o ka ʻōnaehana. ʻAʻohe waihona, e kūkākūkā hou ʻia ka mālama ʻana, he pilikia kaʻawale kēia.

Hānai mākou i ka mea hoʻohana YAML a ʻike i ka mea e hana nei.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

Ua noʻonoʻo ka mea hoʻohana a hana i kēia mau mea. Loaʻa iā mākou ʻelua Pods, ʻekolu mau lawelawe a, hikiwawe, 2 StatefulSets. No ke aha 2 StatefulSets?

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

Ua like me kēia ma ke kiʻikuhi - ʻo ko mākou kūlana mua kēia, i ka wā i loaʻa iā mākou hoʻokahi pod.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

Ua like me keia. I kēia manawa, maʻalahi nā mea a pau, ua hoʻopālua.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

A no ke aha i lilo ai ka StatefulSet i ʻelua? Ma ʻaneʻi, pono mākou e haʻalele a kūkākūkā i ka nīnau pehea e mālama ʻia ai nā Pods ma Kubernetes.

Aia kekahi mea i kapa ʻia ʻo StatefulSet, kahi e hiki ai iā ʻoe ke hana i kahi hoʻonohonoho Pods mai kahi template. ʻO ka mea nui ma ʻaneʻi ʻo Template. A hiki iā ʻoe ke holo i nā Pods he nui i hoʻokahi StatefulSet e like me hoʻokahi template. A ʻo ka huaʻōlelo koʻikoʻi ma aneʻi ʻo "hoʻokahi template many Pods".

A ua nui ka hoʻowalewale e hana i ka pūʻulu holoʻokoʻa, e hoʻopili iā ia i hoʻokahi StatefulSet. E hana ia, ʻaʻohe pilikia i loko. Akā aia hoʻokahi kaʻa. Inā makemake mākou e hōʻuluʻulu i kahi hui heterogeneous, ʻo ia hoʻi mai nā ʻano like ʻole o ClickHouse, a laila hoʻomaka kā mākou nīnau. ʻAe, hiki iā StatefulSet ke hana i kahi hōʻano hou, akā ma laila hiki iā ʻoe ke ʻōwili i kahi mana hou, e wehewehe pono ʻoe e hoʻāʻo ʻaʻole ʻoi aku ka nui o nā nodes i ka manawa like.

Akā inā e hoʻonui mākou i ka hana a ʻōlelo mākou makemake mākou e hana i kahi pūʻulu heterogeneous loa a ʻaʻole makemake mākou e hoʻololi mai ka mana kahiko i kahi mea hou me ka hoʻohana ʻana i kahi hōʻano hou, akā makemake wale mākou e hana i kahi hui heterogeneous ma ke ʻano o nā ʻano like ʻole. o ClickHouse a ma ke ʻano o kahi mālama ʻokoʻa. Makemake mākou, no ka laʻana, e hana i kekahi mau kope ma nā disks kaʻawale, ma nā mea lohi, ma ke ʻano nui, e kūkulu pono i kahi hui heterogeneous. A ma muli o ka hana ʻana o StatefulSet i kahi hoʻonā maʻamau mai loko mai o hoʻokahi template, no laila ʻaʻohe ala e hana ai i kēia.

Ma hope o kekahi noʻonoʻo, ua hoʻoholo ʻia e hana mākou e like me kēia. Loaʻa iā mākou kēlā me kēia kope i kāna StatefulSet ponoʻī. Aia kekahi mau drawbacks i kēia hoʻonā, akā i ka hoʻomaʻamaʻa ʻana ua hoʻopili piha ia i ka mea hoʻohana. A he nui na pomaikai. Hiki iā mākou ke kūkulu i kahi puʻupuʻu e like me kā mākou makemake, no ka laʻana, kahi heterogeneous loa. No laila, i loko o kahi puʻupuʻu i loaʻa iā mākou ʻelua shards me hoʻokahi kope, e loaʻa iā mākou 2 StatefulSets a me 2 Pods pololei no ka mea ua koho mākou i kēia ala ma muli o nā kumu i luna no ka hiki ke kūkulu i kahi hui heterogeneous.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

E hoʻi kāua i nā hana kūpono. I kā mākou pūʻulu, pono mākou e hoʻonohonoho i nā mea hoʻohana, ʻo ia. pono ʻoe e hana i kahi hoʻonohonoho o ClickHouse ma Kubernetes. Hāʻawi ka mea hoʻohana i nā mea āpau no kēia.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

Hiki iā mākou ke kākau pololei i kā mākou makemake ma YAML. Hoʻopili pololei ʻia nā koho hoʻonohonoho āpau mai kēia YAML i nā configs ClickHouse, a laila e kau ʻia i loko o ka pūʻulu.

Hiki iā ʻoe ke kākau e like me kēia. He laʻana kēia. Hiki ke hoʻopili ʻia ka ʻōlelo huna. Kākoʻo ʻia nā koho hoʻonohonoho ClickHouse āpau. Eia kekahi laʻana.

Hoʻokaʻawale ʻia ka hoʻonohonoho cluster e like me ConfigMap. I ka hoʻomaʻamaʻa ʻana, ʻaʻole hiki koke ka ConfigMap update, no laila inā he pūʻulu nui, a laila e lōʻihi ka manawa o ke kaʻina hana o ka hoʻonohonoho ʻana. Akā, maʻalahi kēia mau mea a pau e hoʻohana.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

Hoʻopili mākou i ka hana. Ke ulu nei ka pūpū. Makemake mākou e hana hou i ka ʻikepili. ʻO ia, ua loaʻa iā mākou ʻelua shards, hoʻokahi kope i kēlā me kēia, ua hoʻonohonoho ʻia nā mea hoʻohana. Ke ulu nei mākou a makemake mākou e hana hou.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

He aha kā mākou e pono ai no ka hana hou?

Pono mākou i ka ZooKeeper. Ma ClickHouse, kūkulu ʻia ka hoʻopili ʻana me ka ZooKeeper. Pono ʻo ZooKeeper i loaʻa i nā replicas ClickHouse ʻokoʻa ka ʻae ʻana i nā poloka ʻikepili kahi o ClickHouse.

Hiki ke hoʻohana ʻia ʻo ZooKeeper e kekahi. Inā loaʻa i kahi ʻoihana kahi ZooKeeper waho, a laila hiki ke hoʻohana ʻia. Inā ʻaʻole, hiki iā ʻoe ke hoʻouka mai kā mākou waihona. Aia kekahi mea hoʻonoho e maʻalahi kēia mea āpau.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

A ʻo ke ʻano o ka launa pū ʻana o ka ʻōnaehana holoʻokoʻa e like me kēia. Loaʻa iā mākou nā Kubernetes ma ke ʻano he kahua. Hoʻokō ia i ka ʻōlelo ClickHouse. ZooKeeper Ua kiʻi au ma ʻaneʻi. A hui pū ka mea hoʻohana me ClickHouse a me ZooKeeper. ʻO ia hoʻi, loaʻa kahi pilina.

A pono kēia mau mea a pau no ClickHouse e hoʻopili pono i ka ʻikepili i k8s.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

E nānā kākou i ka hana pono'ī, pehea ke ʻano o ka hōʻike no ka replication.

Hoʻohui mākou i ʻelua ʻāpana i kā mākou hōʻike. ʻO ka mea mua kahi e loaʻa ai iā ZooKeeper, hiki iā ia ma loko o Kubernetes a i waho paha. He wehewehe wale nō kēia. A kauoha mākou i nā kope. ʻO kēlā mau mea. makemake mākou i ʻelua kope. I ka huina, pono iā mākou he 4 pods ma ka hoʻopuka. Hoʻomanaʻo mākou e pili ana i ka waiho ʻana, e hoʻi hou ana. He mele kaawale ka waihona.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

Ua like me keia.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

Lilo e like me keia. Hoʻohui ʻia nā kope. ʻAʻole kūpono ka 4, ke manaʻoʻiʻo nei mākou he nui paha lākou. A hoʻohui ʻia ʻo ZooKeeper ma ka ʻaoʻao. ʻOi aku ka paʻakikī o nā mamana.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

A ʻo ka manawa kēia e hoʻohui i ka hana aʻe. E hoʻohui mākou i ka Persistent Storage.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)No ka mālama ʻana, loaʻa iā mākou nā koho like ʻole.

Inā mākou e holo nei i kahi mea hoʻolako kapua, no ka laʻana, me ka hoʻohana ʻana iā Amazon, Google, a laila aia kahi hoʻowalewale nui e hoʻohana i ka mālama kapuaʻi. He maʻalahi loa, maikaʻi.

A aia kahi koho lua. ʻO kēia no ka mālama kūloko, ke loaʻa iā mākou nā disks kūloko ma kēlā me kēia node. ʻOi aku ka paʻakikī o kēia koho e hoʻokō, akā i ka manawa like ʻoi aku ka huahua.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

E ʻike kākou i nā mea e pili ana i ka mālama ʻana i ke ao.

Aia nā pono. He maʻalahi loa ka hoʻonohonoho ʻana. Ke kauoha wale nei mākou mai kahi mea hāʻawi kapuaʻi e ʻoluʻolu e hāʻawi iā mākou i ka mālama ʻana i kēlā a me kēlā ʻano, kēlā a me kēlā papa. Ua pena ʻia nā papa e nā mea hoʻolako kūʻokoʻa.

A aia kekahi drawback. No kekahi, he hemahema koʻikoʻi kēia. ʻOiaʻiʻo, e loaʻa kekahi mau uhi hana. He mea maʻalahi loa ia e hoʻohana, hilinaʻi, akā aia kekahi mau drawdown i ka hana.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

A mai ka manawa mai Hoʻopili ʻo ClickHouse i ka hana, hiki iā ʻoe ke ʻōlelo e hoʻopiʻi i nā mea āpau i hiki, no laila nui nā mea kūʻai aku e hoʻāʻo e ʻoki i ka hana kiʻekiʻe.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

A no ka loaʻa ʻana o ka mea maikaʻi loa, pono mākou i kahi mālama kūloko.

Hāʻawi ʻo Kubernetes i ʻekolu abstractions no ka hoʻohana ʻana i kahi mālama kūloko ma Kubernetes. ʻO kēia:

  • EmptyDir
  • HostPath.
  • Local

E noʻonoʻo i ko lākou ʻokoʻa, pehea lākou e like ai.

ʻO ka mea mua, ma nā ala ʻekolu a mākou e mālama ai - ʻo ia nā disks kūloko i loaʻa ma ka node k8s kino like. Akā he mau ʻokoʻa ko lākou.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

E hoʻomaka kākou me ka mea maʻalahi loa, ʻo ia hoʻi, emptyDir. He aha ia ma ka hana? ʻO mākou ke noi nei i ka ʻōnaehana containerization (maʻa pinepine ʻo Docker) mai kā mākou kikoʻī e hāʻawi iā mākou i ke komo ʻana i kahi waihona ma kahi diski kūloko.

I ka hoʻomaʻamaʻa, hana ka docker i kahi waihona pōkole ma kahi o kona mau ala ponoʻī, kapa ʻia he hash lōʻihi. A hāʻawi i kahi kikowaena e komo ai.

Pehea e hana ai ma ke ʻano o ka hana? E holo ana kēia ma ka wikiwiki o ka diski kūloko, ʻo ia hoʻi. ʻo kēia ke komo piha i kāu wili.

Akā aia kēia hihia i kāna drawback. ʻO ka hoʻomau i kēia hihia he mea kānalua. I ka neʻe mua ʻana o ka docker me nā ipu, ua nalowale ʻo Persistent. Inā makemake ʻo Kubernetes e hoʻoneʻe i kēia Pod i kahi disk ʻē aʻe no kekahi kumu, a laila e nalowale ka ʻikepili.

He maikaʻi kēia ala no nā hoʻokolohua, no ka mea ua hōʻike mua ia i ka wikiwiki maʻamau, akā ʻaʻole kūpono kēia koho no kahi mea koʻikoʻi.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

No laila, aia ke ala ʻelua. ʻO kēia ka hostPath. Inā ʻoe e nānā i ka paheʻe mua a me kēia, ʻike ʻoe i hoʻokahi ʻokoʻa. Ua haʻalele pololei kā mākou waihona i ka docker i ka node Kubernetes. ʻOi aku ka wikiwiki ma ʻaneʻi. Kākau pololei mākou i ke ala ma ka ʻōnaehana waihona kūloko kahi a mākou e makemake ai e mālama i kā mākou ʻikepili.

He mau mea maikaʻi kēia ʻano. He Persistent maoli kēia, a he mea maʻamau. Ma kā mākou disk, e kākau ʻia ka ʻikepili i kekahi helu wahi.

Aia kekahi mau hemahema. ʻO kēia ka paʻakikī o ka hoʻokele. Makemake paha kā mākou Kubernetes e hoʻoneʻe i ka Pod i kahi node kino ʻē aʻe. ʻO kēia kahi e komo ai ʻo DevOps. Pono e wehewehe pololei i ka ʻōnaehana holoʻokoʻa hiki iā ʻoe ke hoʻoneʻe i kēia mau pods i nā node kahi āu i kau ai ma kēia mau ala, a ʻaʻole ʻoi aku ma mua o hoʻokahi node i ka manawa. He paʻakikī.

ʻOi loa no kēia mau kumu, ua hana mākou i nā templates i kā mākou mea hoʻohana i mea e hūnā ai i kēia paʻakikī āpau. A hiki iā ʻoe ke ʻōlelo: "Makemake au e loaʻa i hoʻokahi hiʻohiʻona o ClickHouse ma kēlā me kēia node kino a ma ke ala like ʻole."

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

Akā ʻaʻole kēia pono no mākou wale nō, no laila ke hoʻomaopopo nei nā keonimana mai Kubernetes ponoʻī i ka makemake o nā poʻe e komo i nā disks kino, no laila hāʻawi lākou i ke kolu o ka pae.

Kapa ʻia ʻo ia wahi. ʻAʻohe mea ʻokoʻa mai ka paheʻe mua. Ma mua wale nō e pono ai e hana me ka lima ʻaʻole hiki iā mākou ke hoʻololi i kēia mau pods mai ka node a i ka node, no ka mea pono lākou e hoʻopili ʻia ma kēlā me kēia ala i ka disk kino kūloko, a i kēia manawa ua hoʻopili ʻia kēia ʻike āpau i Kubernetes ponoʻī. A ua ʻoi aku ka maʻalahi o ka hoʻonohonoho ʻana.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

E hoʻi kāua i kā mākou hana hoʻokō. E hoʻi kāua i ka YAML template. Eia mākou he waihona maoli. Hoʻi mākou i kēia. Hoʻonoho mākou i ka laʻana VolumeClaim maʻamau e like me k8s. A wehewehe mākou i ke ʻano o ka waihona a mākou e makemake ai.

Ma hope o kēlā, e noi ʻo k8s i kahi mālama. E hoʻokaʻawale iā mākou ma ka StatefulSet. A i ka hopena, e hoʻohuli ʻia ma ka hoʻokuʻu ʻana o ClickHouse.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

Loaʻa iā mākou kahi papahana. He ʻulaʻula kā mākou Kūʻai Kūʻai, me he mea lā e hana ʻia.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

A lilo ia i ʻōmaʻomaʻo. I kēia manawa ua hoʻopau piha ʻia ka ClickHouse ma k8s cluster scheme. Loaʻa iā mākou nā shards, replicas, ZooKeeper, loaʻa iā mākou Persistent maoli, i hoʻokō ʻia ma kekahi ala a i ʻole. Ua holo pono ka papahana.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

Ke hoʻomau nei mākou e ola. Ke ulu nei kā mākou hui. A ke ho'āʻo nei ʻo Aleksey a hoʻokuʻu i kahi mana hou o ClickHouse.

He hana kūpono - e hoʻāʻo i ka mana hou o ClickHouse ma kā mākou hui. A, ʻoiaʻiʻo, ʻaʻole wau makemake e ʻōwili i nā mea āpau, makemake wau e kau i kahi mana hou ma kahi o ke kihi mamao i hoʻokahi kope, a ʻaʻole paha i hoʻokahi mana hou, akā ʻelua i ka manawa hoʻokahi, no ka mea e puka pinepine mai lākou.

He aha kā mākou e ʻōlelo ai no kēia?

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

Eia wale nō kā mākou manawa kūpono. ʻO kēia nā hiʻohiʻona pod. Hiki iā ʻoe ke pena, ʻae kā mākou mea hoʻohana iā ʻoe e kūkulu i kahi hui heterogeneous. ʻO kēlā mau mea. hoʻonohonoho, e hoʻomaka ana mai nā replicas a pau i loko o kahi pūpū, e hoʻopau me kēlā me kēia kope pilikino, ʻo ia ka mana a mākou e makemake ai ClickHouse, ʻo ia ka mana a mākou e makemake ai e mālama. Hiki iā mākou ke hoʻonohonoho piha i ka pūʻulu i kahi hoʻonohonoho e like me kā mākou makemake.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

E hele hohonu kākou i loko. Ma mua o kēlā, ua kamaʻilio mākou e pili ana i ka hana ʻana o ka ClickHouse-operator e pili ana i nā kikoʻī o ClickHouse.

I kēia manawa makemake wau e ʻōlelo i kekahi mau huaʻōlelo e pili ana i ka hana ʻana o kekahi mea hoʻohana ma ka laulā, a me ke ʻano o ka launa pū ʻana me K8s.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

E noʻonoʻo i ka pilina me nā K8 e hoʻomaka me. He aha ka hopena ke hoʻohana mākou i ka kubectl? Ma o ka API, ʻike ʻia kā mākou mau mea i etcd.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

No ka laʻana, nā mea Kubernetes kumu: pod, StatefulSet, lawelawe, a pēlā aku ma o ka papa inoa.

Eia naʻe, ʻaʻohe mea e hana nei i ke kino. Pono e hoʻopili ʻia kēia mau mea i loko o kahi hui.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

ʻO kēia kahi e komo ai ka mea hoʻoponopono. ʻO ka mea hoʻoponopono he mea k8s kūikawā hiki ke hoʻokō i kēia mau wehewehe. ʻIke ʻo ia i ke ʻano a me ka mea e hana ai ma ke kino. ʻIke ʻo ia i ka holo ʻana i nā ipu, nā mea e pono e hoʻonohonoho ʻia ma laila i mea e hana ai ke kikowaena.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

A hoʻokō ia i kā mākou mau mea ma K8s.

Akā makemake mākou e hana ʻaʻole wale me nā pods, StatefulSets, makemake mākou e hana i kahi ClickHouseInstallation, ʻo ia hoʻi, kahi mea o ke ʻano ClickHouse, i mea e hana pū me ia ma ke ʻano holoʻokoʻa. I kēia manawa, ʻaʻohe mea hiki.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

Akā he mea maikaʻi ʻē aʻe ko K8s. Makemake mākou e loaʻa iā mākou kahi hui paʻakikī ma kahi, kahi e hōʻuluʻulu ʻia ai kā mākou hui mai nā pods a me StatefulSet.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

A he aha ka mea e hana ai no kēia? ʻO ka mea mua, komo ka Custom Resource Definition i ke kahua. He aha ia? He wehewehe kēia no nā K8 e loaʻa iā ʻoe kahi ʻano ʻikepili ʻē aʻe a mākou e makemake ai e hoʻohui i ka pod, StatefulSet, kahi kumuwaiwai maʻamau e paʻakikī i loko. He wehewehe kēia o ka hoʻolālā ʻikepili.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

Hoʻouna pū mākou iā ia ma o kubectl apply. Ua lawe ʻo Kubernetes me ka hauʻoli.

A i kēia manawa i loko o kā mākou waihona, ua loaʻa i ka mea ma etcd ka manawa e kākau ai i kahi kumuwaiwai maʻamau i kapa ʻia ʻo ClickHouseInstallation.

Akā i kēia manawa, ʻaʻohe mea e hiki mai. ʻO ia, inā mākou e hana nei i kahi faila YAML a mākou i noʻonoʻo ai me ka wehewehe ʻana i ka shard, replicas a ʻōlelo ʻo "kubectl apply", a laila e ʻae ʻo Kubernetes iā ia, e hoʻokomo i loko etcd a ʻōlelo: "Nui, akā ʻaʻole wau ʻike. he aha ka hana me ia. ʻAʻole maopopo iaʻu pehea e mālama ai i ka ClickHouseInstallation."

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

No laila, pono mākou i kekahi e kōkua iā Kubernetes e lawelawe i ke ʻano ʻikepili hou. Ma ka ʻaoʻao hema, loaʻa iā mākou kahi mea hoʻoponopono Kubernetes stock e hana me nā ʻano ʻikepili waihona. A ma ka ʻaoʻao ʻākau, pono e loaʻa iā mākou kahi mea hoʻoponopono maʻamau e hiki ke hana me nā ʻano ʻikepili maʻamau.

A ma kahi ʻano ʻē aʻe ua kapa ʻia ʻo ia he mea hoʻohana. Ua lawe kūikawā au iā ia ma ʻaneʻi no Kubernetes, no ka mea hiki ke hoʻokō ʻia ma waho o K8s. ʻO ka pinepine, ʻoiaʻiʻo, ua hoʻokō ʻia nā ʻōlelo a pau ma Kubernetes, akā ʻaʻohe mea e pale iā ia mai ke kū ʻana i waho, no laila e lawe ʻia i waho.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

A ma ka huli ʻana, pili ka mea hoʻoponopono maʻamau, ʻike ʻia ʻo ka mea hoʻohana, me Kubernetes ma o ka API. Ua ʻike mua ʻo ia pehea e launa pū me ka API. A ua ʻike mua ʻo ia pehea e hoʻokō ai i kahi hoʻolālā paʻakikī a mākou e makemake ai e hana mai kahi kumuwaiwai maʻamau. ʻO kēia ka hana a ka mea hoʻohana.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

Pehea ka hana a ka mea hoʻohana? E nānā kākou ma ka ʻaoʻao ʻākau e ʻike i kāna hana ʻana. E ʻike mākou pehea e hoʻokō ai ka mea hoʻohana i kēia mau mea āpau a pehea e hana hou ai ka pilina me K8s.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

ʻO ka mea hoʻohana ka papahana. He hanana hanana. Kau inoa ka mea hoʻohana i nā hanana me ka Kubernetes API. Loaʻa i ka Kubernetes API nā wahi komo kahi e hiki ai iā ʻoe ke kau inoa i nā hanana. A inā hoʻololi kekahi mea i nā K8, a laila hoʻouna ʻo Kubernetes i nā hanana i nā mea a pau, ʻo ia hoʻi. ʻO ka poʻe i kākau inoa i kēia wahi API e loaʻa i nā leka hoʻomaopopo.

Hoʻokomo ka mea hoʻohana i nā hanana, a pono e hana i kekahi ʻano pane. ʻO kāna hana ka pane ʻana i nā hanana e kū mai ana.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

Hana ʻia nā hanana e kekahi mau mea hou. Hiki mai kā mākou faila YAML me kahi wehewehe o ClickHouseInstallation. Ua hele ʻo ia i etcd ma o kubectl noi. He hanana i hana ma laila, e like me ka hopena, ua hiki mai keia hanana i ka ClickHouse-operator. Ua loaʻa i ka mea hoʻohana kēia wehewehe. A pono ia e hana i kekahi mea. Inā hiki mai kahi mea hou i ka mea ClickHouseInstallation, a laila pono ʻoe e hōʻano hou i ka hui. A ʻo ka hana a ka mea hoʻohana e hoʻohou i ka pūʻulu.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

He aha kāna e hana nei? ʻO ka mea mua, pono mākou e huki i kahi hoʻolālā hana no ka mea a mākou e hana ai me kēia hoʻolaha. Hiki ke liʻiliʻi loa nā mea hou, ʻo ia hoʻi. liʻiliʻi i ka hoʻokō YAML, akā hiki ke alakaʻi i nā loli nui loa i ka pūpū. No laila, hana ka mea hana i kahi hoʻolālā, a laila pili ʻo ia iā ia.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

Hoʻomaka ʻo ia, e like me kēia hoʻolālā, e hoʻolapalapa i kēia hale i loko i mea e materialize pods, lawelawe, i.e. e hana i kāna hana nui. Ua like ia me ke kūkulu ʻana i kahi hui ClickHouse ma Kubernetes.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

I kēia manawa e hoʻopā kāua i kahi mea hoihoi. He mahele kēia o ke kuleana ma waena o Kubernetes a me ka mea hoʻohana, ʻo ia hoʻi. He aha nā mea a Kubernetes e hana ai, he aha ka mea hana, a pehea lākou e launa pū ai me kekahi.

Na Kubernetes ke kuleana no nā mea ʻōnaehana, ʻo ia hoʻi. no kahi hoʻonohonoho kumu o nā mea i hiki ke unuhi ʻia ma ke ʻano he ʻōnaehana-scope. ʻIke ʻo Kubernetes i ka hoʻomaka ʻana i nā pods, pehea e hoʻomaka hou ai i nā ipu, pehea e hana ai i nā leo mauna, pehea e hana ai me ConfigMap, i.e. kekahi mea i kapa ʻia he ʻōnaehana.

Hana nā mea hana ma nā wahi kumuhana. Hana ʻia kēlā me kēia mea hoʻohana no kāna wahi kumuhana. Ua hana mākou no ClickHouse.

A pili pono ka mea hoʻohana i ke ʻano o ke kumuhana, e like me ka hoʻohui ʻana i kahi kope, hana i kahi hoʻolālā, hoʻonohonoho i ka nānā ʻana. Aia ka mahele like.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

E nānā kākou i kahi laʻana kūpono o ke ʻano o kēia kaʻawale ʻana o nā hopohopo ke hana mākou i kahi hana hoʻohui.

Hele mai ka hana i ka mea hoʻohana - e hoʻohui i kahi kope. He aha ka hana a ka mea hana? E helu ka mea hoʻohana he pono e hana i kahi StatefulSet hou, kahi e pono ai e wehewehe i kēlā a me ia mau template, koi nui.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

Ua hoʻomākaukau ʻo ia i nā mea a pau a hāʻawi i nā K8s. Ua ʻōlelo ʻo ia he pono iā ConfigMap, StatefulSet, Volume. Ke hana nei ʻo Kubernetes. Hoʻohana ʻo ia i nā ʻāpana kumu āna e hana ai.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

A laila hoʻomaka hou ka ClickHouse-operator. Loaʻa iā ia kahi pod kino e hiki ai iā ʻoe ke hana i kekahi mea. A hana hou ʻo ClickHouse-operator ma ke ʻano o ke kumuhana. ʻO kēlā mau mea. ʻO ka mea kikoʻī, ClickHouse, i mea e hoʻokomo ai i kahi kope i loko o kahi puʻupuʻu, pono ʻoe, ma mua, e hoʻonohonoho i ka hoʻolālā ʻikepili i loaʻa i kēia pūʻulu. A ʻo ka lua, pono e hoʻokomo ʻia kēia ʻōlelo i ka nānā ʻana i hiki ke ʻike maopopo ʻia. Ua hoʻonohonoho mua ka mea hana.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

A ma hope wale nō o ClickHouse iho e komo i ka pāʻani, i.e. kekahi mea kiʻekiʻe kiʻekiʻe. He waihona waihona. Loaʻa iā ia kāna hiʻohiʻona ponoʻī, ka replica i hoʻonohonoho ʻia aʻe, i mākaukau e hui pū i ka hui.

ʻIke ʻia ka lōʻihi o ke kaulahao o ka hoʻokō a me ka hoʻokaʻawale ʻana i ke kuleana ke hoʻohui i kahi kope.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

Hoʻomau mākou i kā mākou mau hana kūpono. Inā aia ka pūʻulu, a laila hiki iā ʻoe ke neʻe i ka hoʻonohonoho.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

Ua hana mākou i mea e hiki ai ke hele i loko o ka xml i loaʻa, i maopopo iā ClickHouse.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

Hiki iā ʻoe ke hoʻoponopono i ka ClickHouse. ʻO ka hoʻonohonoho ʻana wale nō ka mea aʻu i kamaʻilio ai i ka wehewehe ʻana i ka hostPath, kahi mālama kūloko. ʻO kēia ke ʻano e hana pono ai i ka hoʻonohonoho zoned.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

ʻO ka hana hoʻokō e hiki mai ana ke nānā.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

Inā loli kā mākou cluster, pono mākou e hoʻonohonoho i ka nānā ʻana i kēlā me kēia manawa.

E nānā kākou i ke kiʻikuhi. Ua noʻonoʻo mua mākou i nā pua ʻōmaʻomaʻo ma ʻaneʻi. I kēia manawa, e nānā kākou i nā pua ʻulaʻula. ʻO kēia kā mākou makemake e nānā i kā mākou hui. Pehea e komo ai nā metric mai ka hui ClickHouse i Prometheus, a laila i Grafana.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

He aha ka pilikia me ka nānā ʻana? No ke aha i hōʻike ʻia ai kēia ʻano hana? Aia ka pilikia ma ka dynamics. Ke loaʻa iā mākou hoʻokahi puʻupuʻu a paʻa ia, a laila hiki iā ʻoe ke hoʻonohonoho i ka nānā ʻana i hoʻokahi manawa a ʻaʻole pilikia hou.

Akā inā he nui nā pūʻulu, a i ʻole e loli mau ana kekahi mea, a laila ikaika ke kaʻina hana. A ʻo ka hoʻonohonoho hou ʻana i ka nānā ʻana he mea hoʻopau waiwai a me ka manawa; moloā wale nō. Pono e 'akomi 'ia kēia. Aia ka paʻakikī i ka dynamics o ke kaʻina hana. A hoʻomaʻamaʻa maikaʻi ka mea hoʻohana i kēia.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

Pehea i ulu ai kā mākou hui? I kinohi ua like ia me keia.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

A laila ua like ʻo ia me kēia.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

I ka hopena, ua like ʻo ia me kēia.

A hana 'akomi 'ia ka nānā 'ana e ka mea hana. Kekahi helu komo.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

A nānā wale mākou i ka puka i loko o ka papa kuhikuhi Grafana, pehea ke ola o kā mākou puʻupuʻu i loko.

Ma ke ala, ua puʻunaue ʻia ʻo Grafana dashboard me kā mākou mea hoʻohana pono i ke kumu kumu. Hiki iā ʻoe ke hoʻohui a hoʻohana. Ua hāʻawi ʻia kēia kiʻi iaʻu e kā mākou DevOps.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

Ma hea mākou e makemake ai e hele aʻe? ʻO kēia:

  • E hoʻomohala i ka automation hoʻāʻo. ʻO ka hana nui ka hoʻāʻo ʻana i nā mana hou.
  • Makemake mākou e hoʻokaʻawale i ka hoʻohui ʻana me ZooKeeper. A hoʻolālā e hoʻohui pū me ZooKeeper-operator. ʻO kēlā mau mea. ua kākau ʻia kahi mea hoʻohana no ZooKeeper, a he mea kūpono ia e hoʻomaka ai nā mea hoʻohana ʻelua e hoʻohui e kūkulu i kahi hopena maʻalahi.
  • Makemake mākou e hana i nā loiloi ola paʻakikī.
  • Ua hōʻike au i ka ʻōmaʻomaʻo i loaʻa iā mākou nā hoʻoilina Templates ma ke ala - DONE, ʻo ia hoʻi me ka hoʻokuʻu hou ʻana o ka mea hoʻohana, e loaʻa iā mākou ka hoʻoilina template. He mea hana ikaika kēia e hiki ai iā ʻoe ke kūkulu i nā hoʻonohonoho paʻakikī mai nā ʻāpana.
  • A makemake mākou e hoʻokaʻawale i nā hana paʻakikī. ʻO ka mea nui ʻo Re-sharding.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

E hana kāua i kekahi mau hopena waena.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

He aha kā mākou e loaʻa ai i ka hopena? A he mea pono paha ia a ʻaʻole paha? Pono paha wau e hoʻāʻo e kauo i ka waihona i loko o Kubernetes a hoʻopili i ka mea hoʻohana ma ka laulā a me ka mea hoʻohana ʻo Alitnity.

Ma ka hopena e loaʻa iā mākou:

  • E hoʻomaʻamaʻa a hoʻomaʻamaʻa i ka hoʻonohonoho, hoʻonohonoho, a me ka mālama ʻana.
  • Hoʻopili koke ʻia ka nānā ʻana.
  • A mākaukau no ka hoʻohana ʻana i codified templates no nā kūlana paʻakikī. ʻAʻole pono e hana lima ʻia ka hana o ke ʻano e hoʻohui i kahi kope. Hana ʻia kēia e ka mea hoʻohana.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

ʻO ka nīnau hope wale nō i koe. Loaʻa iā mākou kahi waihona ma Kubernetes, virtualization. Pehea e pili ana i ka hana o ia ʻano hoʻonā, ʻoiai ʻoi aku ka maikaʻi o ClickHouse no ka hana?

ʻO ka pane, ua maikaʻi nā mea a pau! ʻAʻole wau e wehewehe kikoʻī, ʻo ia ke kumuhana o kahi hōʻike kaʻawale.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

Akā aia kekahi papahana e like me TSBS. He aha kāna hana nui? He hōʻike hōʻike hana ʻikepili kēia. He ho'āʻo kēia e hoʻohālikelike i ka mahana me ka mahana, ka palupalu me ka palupalu.

Pehea kana hana ana? Hoʻokumu ʻia kahi pūʻulu ʻikepili. A laila e holo ana kēia ʻikepili ma ka hoʻāʻo hoʻokahi ma nā ʻikepili like ʻole. A hoʻoponopono kēlā me kēia waihona i hoʻokahi pilikia i ke ala e hiki ai. A laila hiki iā ʻoe ke hoʻohālikelike i nā hopena.

Kākoʻo ia i kahi hui nui o nā waihona. Ua ʻike au i ʻekolu mau mea nui. ʻO kēia:

  • timescaledb.
  • InfluxDB.
  • hale kaomi.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

Ua hoʻohālikelike ʻia me kekahi ʻano hoʻonā like. Hoʻohālikelike me RedShift. Ua hoʻohālikelike ʻia ma Amazon. Ua ʻoi aku ka maikaʻi o ClickHouse ma mua o nā mea āpau ma kēia mea.

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

He aha nā hopena e hiki ke unuhi mai kaʻu i ʻōlelo ai?

  • Hiki ke DB ma Kubernetes. Malia paha, hiki iā ʻoe ke hana i kekahi mea, akā ma ke ʻano he mea hiki iā ʻoe. Hiki i ka ClickHouse ma Kubernetes me ke kōkua o kā mākou mea hoʻohana.
  • Kōkua ka mea hoʻohana i nā kaʻina hana a hoʻomaʻamaʻa maoli i ke ola.
  • He mea maʻamau ka hana.
  • A, i ko mākou manaʻo he hiki ke hoʻohana ʻia.

Open source - hui pū me mākou!

E like me kaʻu i ʻōlelo ai, ʻo ka mea hoʻohana he huahana wehe loa, no laila e maikaʻi loa inā hoʻohana ka nui o ka poʻe. Hui pū i kēia manawa! Ke kali nei mākou iā ʻoukou a pau!

Mahalo iāʻoe!

ʻO kāu mau nīnau

Mea hana ma Kubernetes no ka mālama ʻana i nā pūʻulu waihona. ʻO Vladislav Klimenko (Altinity, 2019)

Mahalo no ka hōʻike! ʻO Anton koʻu inoa. No SEMrush wau. Ke noʻonoʻo nei au i ka mea e pili ana i ka logging. Lohe mākou e pili ana i ka nānā ʻana, akā ʻaʻohe mea e pili ana i ka logging, inā mākou e kamaʻilio e pili ana i ka pūʻulu holoʻokoʻa. No ka laʻana, loaʻa iā mākou kahi puʻupuʻu ma ka ʻenehana. A hoʻohana mākou i ka logging kikowaena, hōʻiliʻili mākou iā ia i kahi puʻu maʻamau ma ke ʻano maʻamau. A laila mai laila mākou e loaʻa ai ka ʻikepili hoihoi iā mākou.

ʻO ka nīnau maikaʻi, ʻo ia hoʻi ke komo ʻana i ka papa inoa hana. ʻAʻole hoʻokae kā mākou mea hoʻohana i kēia. Ke hoʻomohala nei nō, ʻōpiopio loa ka papahana. Hoʻomaopopo mākou i ka pono o ka logging. He kumuhana koʻikoʻi nō hoʻi kēia. A ʻaʻole i emi iki ka mea nui ma mua o ka nānā ʻana. Akā ʻo ka mea mua ma ka papa inoa no ka hoʻokō ʻana ka nānā ʻana. E hoʻopaʻa inoa. Ma keʻano maʻamau, ke hoʻāʻo nei mākou e hoʻokaʻawale i nā ʻano āpau o ke ola o ka pūpū. No laila, ʻo ka pane i kēia manawa, ʻaʻole ʻike ka mea hoʻohana i ka hana ʻana i kēia, akā aia i loko o nā hoʻolālā, e hana mākou. Inā makemake ʻoe e hui, a laila huki noi, e ʻoluʻolu.

Aloha! Mahalo no ka hōʻike! He nīnau maʻamau kaʻu e pili ana i nā Volumes Persistent. Ke hana mākou i kahi hoʻonohonoho me kēia mea hoʻohana, pehea e hoʻoholo ai ka mea hoʻokele i ka node i loaʻa iā mākou kahi disk a i ʻole folder? Pono mākou e wehewehe mua iā ia, e ʻoluʻolu, e kau i kā mākou ClickHouse ma luna o kēia mau nodes i loaʻa kahi disk?

I koʻu hoʻomaopopo ʻana, ʻo kēia nīnau ka hoʻomau ʻana o ka mālama kūloko, ʻoi aku ka hapa o ka hostPath. Ua like ia me ka wehewehe ʻana i ka ʻōnaehana holoʻokoʻa he mea pono e hoʻokuʻu pololei ʻia ka pod ma luna o kēlā a me kēia node, kahi i loaʻa iā mākou kahi disk pili kino, i kau ʻia ma kēlā a me kēlā ala. He ʻāpana holoʻokoʻa kēia aʻu i hoʻopā ai ma ke ʻano papa, no ka mea he nui ka pane ma laila.

I ka pōkole, ua like ia me kēia. ʻOiaʻiʻo, pono mākou e hoʻolako i kēia mau puke. I kēia manawa, ʻaʻohe mea hoʻolako i ka mālama kūloko, no laila pono e ʻoki ʻo DevOps i nā disks iā lākou iho, eia kēia mau puke. A pono lākou e wehewehe i ka hāʻawi ʻana iā Kubernetes, e loaʻa iā ʻoe nā puke paʻa o kēlā a me kēlā papa, aia ma luna o ia a me ia mau nodes. A laila pono e wehewehe i nā Kubernetes e pono e hoʻonohonoho ʻia nā pods e koi ana i kēlā a me kēia papa mālama kūloko e like me nā lepili wale nō i kēlā a me nā nodes. No kēia mau kumu, hiki i ka mea hoʻohana ke hāʻawi i kekahi ʻano lepili a hoʻokahi i kēlā me kēia host host. A ua ʻike ʻia e hoʻokele ʻia nā pods e Kubernetes e holo wale ma nā nodes e kūpono i nā koi, nā lepili, ma nā ʻōlelo maʻalahi. Hāʻawi nā luna i nā lepili, hana i ka hoʻolako ʻana i nā disks ma ka lima. A laila kau ʻia.

A ʻo ke kolu wale nō ke koho kūloko e kōkua i ka maʻalahi. E like me kaʻu i hōʻike mua ai, he hana koʻikoʻi kēia o ka hoʻolohe ʻana, e kōkua i ka loaʻa ʻana o ka hana kiʻekiʻe.

He nīnau ʻelua kaʻu e pili ana i kēia. Ua hāpai ʻia ʻo Kubernetes ma ke ʻano he mea nui ʻole iā mākou inā nalowale mākou i kahi node a ʻaʻole paha. He aha kā mākou e hana ai i kēia hihia inā ua nalowale ka node kahi i loaʻa iā mākou kahi shard?

ʻAe, ua hoʻonohonoho mua ʻia ʻo Kubernetes e like ko mākou pilina me kā mākou pods me he pipi, akā ma ʻaneʻi ua lilo kēlā me kēia disk i mea like me ka holoholona. Aia kekahi pilikia ʻaʻole hiki iā mākou ke kiola wale aku iā lākou. A ke hele nei ka hoʻomohala ʻana o Kubernetes i kahi hiki ʻole ke mālama pono iā ia me ka philosophically, ma ke ʻano he kumu i hoʻolei ʻia.

I kēia manawa he nīnau kūpono. He aha kāu e hana ai inā nalowale ʻoe i ka node kahi o ka disk? Eia ka pilikia ma kahi kiʻekiʻe. Ma ka hihia o ClickHouse, loaʻa iā mākou nā kope e hana ana ma kahi kiʻekiʻe, ʻo ia hoʻi. ma ka pae ClickHouse.

He aha ke ʻano? Na DevOps ke kuleana no ka hōʻoia ʻana ʻaʻole nalowale ka ʻikepili. Pono ia e hoʻonohonoho pono i ka hoʻopiʻi ʻana a pono e hōʻoia i ka holo ʻana o ka hana hou ʻana. Ma ka replica ma ka pae ClickHouse, pono e hoʻopili ʻia ka ʻikepili. ʻAʻole kēia ka hana a ka mea hoʻohana e hoʻonā. A ʻaʻole ka hana a Kubernetes ponoʻī e hoʻonā. Aia kēia ma ka pae ClickHouse.

He aha kāu e hana ai inā ua hāʻule kou puʻu hao? A ʻo ia ka mea e pono ai e kau i ka lua, e neʻe pono i ka disk ma luna, e hoʻopili i nā lepili. A ma hope o kēlā, e hoʻokō ʻo ia i nā koi a Kubernetes ma luna o ia e hiki ke holo i kahi hihia pod. E hoʻomaka ʻo Kubernetes. ʻAʻole lawa kāu helu o nā pods i ka mea i kuhikuhi ʻia. E hele ana ia ma ka pōʻaiapuni aʻu i hōʻike ai. A ma ka pae kiʻekiʻe loa, e hoʻomaopopo ʻo ClickHouse he kope kā mākou i hoʻokomo ʻia, ʻaʻohe mea a pono mākou e hoʻomaka e hoʻoili i ka ʻikepili iā ia. ʻO kēlā mau. keia kaʻina hana 'inoʻino automated.

Mahalo no ka hōʻike! Ke hiki mai nā ʻano mea ʻino a pau, hāʻule ka mea hoʻohana a hoʻomaka hou, a i kēlā manawa hiki mai nā hanana, ke hana nei ʻoe i kēia?

He aha ka hopena inā hāʻule ka mea hoʻohana a hoʻomaka hou, ʻae?

ʻAe. A i kēlā manawa ua hiki mai nā hanana.

ʻO ka hana o ka mea e hana ai i kēia hihia ua māhele ʻia ma waena o ka mea hoʻohana a me Kubernetes. Hiki iā Kubernetes ke hoʻokani hou i kahi hanana i hana ʻia. Hoʻokani hou ʻo ia. A ʻo ka hana a ka mea hoʻohana e hōʻoia i ka wā i hoʻopaʻa hou ʻia ai ka hanana hanana ma luna o ia mea, he idempotent kēia mau hanana. A no laila ʻaʻole e uhaʻi ka hana hou ʻana o ka hanana like i kā mākou ʻōnaehana no mākou. A ke hoʻokō nei kā mākou mea hana i kēia hana.

Aloha! Mahalo no ka hōʻike! ʻO Dmitry Zavialov, hui Smedov. Hoʻolālā ʻia e hoʻohui i nā koho maʻamau me ka haproxy i ka mea hoʻohana? ʻO kekahi mea kaulike ʻē aʻe he hoihoi ma waho o ka mea maʻamau, no laila ke akamai a hoʻomaopopo ʻo ClickHouse maoli ma laila.

Ke kamaʻilio nei ʻoe e pili ana iā Ingress?

ʻAe, hoʻololi iā Ingress me ka haproxy. I ka haproxy, hiki iā ʻoe ke kuhikuhi i ka topology cluster kahi i loaʻa ai nā replicas.

I kēia manawa, ʻaʻole mākou i noʻonoʻo. Inā makemake ʻoe a hiki iā ʻoe ke wehewehe i ke kumu e pono ai, a laila hiki ke hoʻokō ʻia, ʻoi aku inā makemake ʻoe e komo. E hauʻoli mākou e noʻonoʻo i ke koho. ʻO ka pane pōkole ʻaʻole, ʻaʻole mākou i kēia manawa i nā hana like. Mahalo no ka ʻōlelo aʻoaʻo, e nānā mākou i kēia. A inā e wehewehe pū ʻoe i ka hihia hoʻohana a me ke kumu e pono ai i ka hoʻomaʻamaʻa, no ka laʻana, hana i nā pilikia ma GitHub, a laila e maikaʻi loa ia.

Ua loaʻa.

Maikaʻi. Wehe mākou i nā manaʻo. A kau ʻia ka haproxy ma ka papa inoa hana. Ke ulu nei ka papa inoa todo, ʻaʻole i emi iki. Akā maikaʻi kēia, ʻo ia ka mea e koi ʻia ka huahana.

Source: www.habr.com

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