Ki jan Alibaba Cloud jere dè dizèn de milye grap Kubernetes ak... Kubernetes

Kib-sou-kib, metaclusters, siwo myèl, distribisyon resous

Ki jan Alibaba Cloud jere dè dizèn de milye grap Kubernetes ak... Kubernetes
Diri. 1. Ekosistèm Kubernetes sou Alibaba Cloud

Depi 2015, Alibaba Cloud Container Service pou Kubernetes (ACK) se te youn nan sèvis nwaj ki pi rapid nan Alibaba Cloud. Li sèvi anpil kliyan epi li sipòte tou enfrastrikti entèn Alibaba ak lòt sèvis nwaj konpayi an.

Menm jan ak sèvis veso ki sanble nan founisè nwaj klas mondyal yo, pi gwo priyorite nou yo se fyab ak disponiblite. Se poutèt sa, yo te kreye yon platfòm évolutive ak globalman aksesib pou dè dizèn de milye gwoup Kubernetes.

Nan atik sa a, nou pral pataje eksperyans nou nan jere yon gwo kantite gwoup Kubernetes sou enfrastrikti nwaj, ansanm ak achitekti platfòm ki kache a.

Antre

Kubernetes te vin estanda defakto pou yon varyete chaj travay nan nwaj la. Jan yo montre nan Fig. 1 pi wo a, plis ak plis aplikasyon Alibaba Cloud yo kounye a ap kouri sou grap Kubernetes: aplikasyon pou eta ak apatrid, osi byen ke administratè aplikasyon yo. Jesyon Kubernetes te toujou yon sijè enteresan e serye nan diskisyon pou enjenyè ki bati ak kenbe enfrastrikti. Lè li rive founisè nwaj tankou Alibaba Cloud, pwoblèm nan dekale vini nan devan an. Ki jan yo jere grap Kubernetes nan echèl sa a? Nou te deja kouvri pi bon pratik pou jere gwo gwoup Kubernetes 10-nœuds. Natirèlman, sa a se yon pwoblèm dekale enteresan. Men, gen yon lòt echèl: kantite grap yo tèt yo.

Nou te diskite sou sijè sa a ak anpil itilizatè ACK. Pifò nan yo chwazi pou dirije plizyè douzèn, si se pa dè santèn, grap Kubernetes ti oswa mwayen gwosè. Gen bon rezon pou sa: limite domaj potansyèl, separe grap pou ekip diferan, kreye grap vityèl pou fè tès. Si ACK gen pou objaktif pou sèvi yon odyans mondyal ak modèl itilizasyon sa a, li dwe jere yon gwo kantite grap nan plis pase 20 rejyon yo yon fason ki serye ak efikas.

Ki jan Alibaba Cloud jere dè dizèn de milye grap Kubernetes ak... Kubernetes
Diri. 2. Pwoblèm jere yon gwo kantite grap Kubernetes

Ki defi prensipal yo nan jere grap yo nan echèl sa a? Jan yo montre nan figi a, gen kat pwoblèm pou fè fas:

  • Eterojenite

ACK ta dwe sipòte divès kalite grap, tankou estanda, san sèvè, Edge, Windows, ak plizyè lòt. Gwoup diferan mande opsyon diferan, konpozan, ak modèl hosting. Gen kèk kliyan bezwen asistans ak personnalisation pou ka espesifik yo.

  • Divès gwosè grap

Gwosè yo varye nan gwosè: soti nan yon koup nan nœuds ki gen plizyè gous rive nan dè dizèn de milye de nœuds ak dè milye de gous. Kondisyon resous yo tou varye anpil. Move alokasyon resous ka afekte pèfòmans oswa menm lakòz echèk.

  • Diferan vèsyon

Kubernetes ap evolye trè vit. Nouvo vèsyon yo lage chak kèk mwa. Kliyan yo toujou vle eseye nouvo karakteristik. Se konsa, yo vle mete chaj tès la sou nouvo vèsyon Kubernetes ak chaj pwodiksyon an sou sa ki estab. Pou satisfè egzijans sa a, ACK dwe toujou delivre nouvo vèsyon Kubernetes bay kliyan pandan y ap kenbe vèsyon ki estab.

  • Konfòmite Sekirite

Gwoup yo distribye nan diferan rejyon yo. Kòm sa yo, yo dwe konfòme yo ak kondisyon sekirite divès kalite ak règleman ofisyèl yo. Pou egzanp, yon gwoup nan Ewòp dwe konfòme GDPR, pandan y ap yon nwaj finansye nan Lachin dwe gen plis kouch pwoteksyon. Kondisyon sa yo obligatwa e li pa akseptab pou inyore yo, paske sa kreye gwo risk pou kliyan platfòm nwaj la.

Platfòm ACK la fèt pou rezoud pifò pwoblèm ki anwo yo. Kounye a, li jere plis pase 10 mil gwoup Kubernetes atravè mond lan yon fason ki estab epi ki estab. Ann gade nan ki jan sa a te reyalize, ki gen ladan atravè plizyè prensip kle konsepsyon / achitekti.

Design

Kib-sou-kib ak siwo myèl

Kontrèman ak yon yerachi santralize, achitekti ki baze sou selil yo anjeneral itilize pou echèl yon platfòm pi lwen pase yon sèl sant done oswa pou elaji sijè ki abòde lan rekiperasyon dezas.

Chak rejyon nan Alibaba Cloud konsiste de plizyè zòn (AZ) epi anjeneral koresponn ak yon sant done espesifik. Nan yon rejyon gwo (egzanp Huangzhou), gen souvan dè milye de gwoup kliyan Kubernetes kouri ACK.

ACK jere grap Kubernetes sa yo lè l sèvi avèk Kubernetes tèt li, sa vle di nou gen yon metacluster Kubernetes k ap kouri pou jere grap kliyan Kubernetes yo. Achitekti sa a rele tou "kube-on-kube" (KoK). Achitekti KoK la senplifye jesyon gwoup kliyan paske deplwaman gwoup la senp epi detèminist. Sa ki pi enpòtan, nou ka reitilize karakteristik natif natal Kubernetes. Pou egzanp, jere sèvè API atravè deplwaman, lè l sèvi avèk operatè etcd pou jere plizyè etcds. Repetisyon sa yo toujou pote plezi espesyal.

Plizyè metaclusters Kubernetes yo deplwaye nan yon rejyon, tou depann de kantite kliyan yo. Nou rele selil metaclusters sa yo. Pou pwoteje kont echèk yon zòn tout antye, ACK sipòte deplwaman milti-aktif nan yon sèl rejyon: metacluster la distribye eleman prensipal gwoup kliyan Kubernetes atravè plizyè zòn epi kouri yo ansanm, se sa ki, nan mòd milti-aktif. Pou asire fyab la ak efikasite nan mèt la, ACK optimize plasman an nan eleman epi asire ke sèvè a API ak etcd yo pre youn ak lòt.

Modèl sa a pèmèt ou jere Kubernetes avèk efikasite, fleksibilite ak fyab.

Planifikasyon resous Metacluster

Kòm nou deja mansyone, kantite metaclusters nan chak rejyon depann sou kantite kliyan yo. Men, nan ki pwen yo ajoute yon nouvo metacluster? Sa a se yon pwoblèm planifikasyon resous tipik. Kòm yon règ, li se nòmal yo kreye yon nouvo lè metaclusters ki egziste deja fin itilize tout resous yo.

Ann pran resous rezo, pa egzanp. Nan achitekti KoK, konpozan Kubernetes ki soti nan gwoup kliyan yo deplwaye kòm gous nan yon metacluster. Nou itilize Terway (Fig. 3) se yon plugin wo-pèfòmans devlope pa Alibaba Cloud pou jesyon rezo veso. Li bay yon seri politik sekirite rich epi li pèmèt ou konekte ak nwaj prive vityèl kliyan yo (VPCs) atravè Alibaba Cloud Elastic Networking Interface (ENI). Pou byen distribye resous rezo atravè nœuds, gous ak sèvis nan yon metacluster, nou dwe ak anpil atansyon kontwole itilizasyon yo nan metacluster nyaj prive vityèl yo. Lè resous rezo yo rive nan yon fen, yo kreye yon nouvo selil.

Pou detèmine kantite pi bon gwoup kliyan nan chak metacluster, nou tou pran an kont depans nou yo, kondisyon dansite, kota resous, kondisyon fyab ak estatistik. Desizyon an pou kreye yon nouvo metacluster pran baze sou tout enfòmasyon sa yo. Tanpri sonje ke ti grap yo ka elaji anpil nan lavni an, kidonk konsomasyon resous ogmante menm si kantite grap yo rete san chanjman. Anjeneral nou kite ase espas lib pou chak gwoup grandi.

Ki jan Alibaba Cloud jere dè dizèn de milye grap Kubernetes ak... Kubernetes
Diri. 3. Achitekti rezo Terway

Echèl eleman sòsye atravè gwoup kliyan yo

Konpozan Sòsye yo gen diferan bezwen resous. Yo depann de kantite nœuds ak gous nan gwoup la, kantite kontwolè/operatè ki pa estanda k ap kominike avèk APIServer.

Nan ACK, chak gwoup kliyan Kubernetes diferan nan gwosè ak egzijans ègzekutabl. Pa gen okenn konfigirasyon inivèsèl pou mete eleman sòsye. Si nou erè mete yon limit resous ki ba pou yon gwo kliyan, Lè sa a, gwoup li yo pa pral kapab fè fas ak chaj la. Si ou fikse yon limit konsèvatif wo pou tout grap, resous yo pral gaspiye.

Pou jwenn yon konpwomi sibtil ant fyab ak pri, ACK itilize yon sistèm tip. Savwa, nou defini twa kalite grap: ti, mwayen ak gwo. Chak kalite gen yon pwofil alokasyon resous separe. Kalite a detèmine ki baze sou chaj la nan eleman sòsye, kantite nœuds, ak lòt faktè. Kalite gwoup la ka chanje sou tan. ACK kontinyèlman kontwole faktè sa yo epi li ka monte / desann tape kòmsadwa. Yon fwa yo chanje kalite gwoup la, alokasyon resous yo mete ajou otomatikman ak entèvansyon itilizatè minim.

N ap travay pou amelyore sistèm sa a ak dekale pi fin ak aktyalizasyon kalite pi presi pou chanjman sa yo rive pi fasil epi fè plis sans ekonomik.

Ki jan Alibaba Cloud jere dè dizèn de milye grap Kubernetes ak... Kubernetes
Diri. 4. Entelijan milti-etap kalite chanje

Evolisyon nan gwoup kliyan nan echèl

Seksyon anvan yo te kouvri kèk aspè nan jere yon gwo kantite gwoup Kubernetes. Sepandan, gen yon lòt pwoblèm ki bezwen rezoud: evolisyon nan grap yo.

Kubernetes se "Linux" nan mond lan nwaj. Li se kontinyèlman mete ajou epi li vin pi modilè. Nou dwe toujou ap delivre nouvo vèsyon bay kliyan nou yo, ranje vilnerabilite ak mete ajou gwoup ki egziste deja yo, osi byen ke jere yon gwo kantite konpozan ki gen rapò (CSI, CNI, Device Plugin, Scheduler Plugin ak anpil lòt).

Ann pran jesyon eleman Kubernetes kòm yon egzanp. Pou kòmanse, nou devlope yon sistèm santralize pou anrejistre ak jere tout eleman ki konekte sa yo.

Ki jan Alibaba Cloud jere dè dizèn de milye grap Kubernetes ak... Kubernetes
Diri. 5. Konpozan fleksib ak branche

Anvan w avanse, ou bezwen asire w ke aktyalizasyon a te reyisi. Pou fè sa, nou te devlope yon sistèm pou tcheke fonksyonalite eleman yo. Chèk la fèt anvan ak apre aktyalizasyon a.

Ki jan Alibaba Cloud jere dè dizèn de milye grap Kubernetes ak... Kubernetes
Diri. 6. Tcheke preliminè eleman gwoup yo

Pou mete ajou konpozan sa yo byen vit ak fyab, yon sistèm deplwaman kontinyèl travay ak sipò pou avansman pasyèl (echèl gri), poz ak lòt fonksyon. Kontwolè estanda Kubernetes yo pa byen adapte pou ka itilize sa a. Se poutèt sa, jere eleman gwoup, nou te devlope yon seri contrôleur espesyalize, ki gen ladan yon Plugin ak yon modil kontwòl oksilyè (jesyon sidecar).

Pou egzanp, kontwolè BroadcastJob la fèt pou mete ajou eleman sou chak machin travayè oswa tcheke nœuds sou chak machin. Travay Broadcast la kouri yon gous sou chak ne nan gwoup la, tankou yon DaemonSet. Sepandan, DaemonSet toujou kenbe gous la kouri pou yon tan long, pandan y ap BroadcastJob tonbe li. Kontwolè Broadcast la tou lanse gous sou nœuds ki fèk rantre epi inisyalize nœuds yo ak eleman ki nesesè yo. Nan mwa jen 2019, nou te louvri kòd sous motè automatisation OpenKruise, ke nou menm nou itilize nan konpayi an.

Ki jan Alibaba Cloud jere dè dizèn de milye grap Kubernetes ak... Kubernetes
Diri. 7. OpenKurise òganize ekzekisyon travay Broadcast la sou tout nœuds

Pou ede kliyan yo chwazi bon konfigirasyon gwoup yo, nou bay tou yon seri pwofil predefini, ki gen ladan pwofil Serverless, Edge, Windows, ak Bare Metal. Kòm peyizaj la elaji ak bezwen kliyan nou yo ap grandi, nou pral ajoute plis pwofil senplifye pwosesis la konfigirasyon fatigan.

Ki jan Alibaba Cloud jere dè dizèn de milye grap Kubernetes ak... Kubernetes
Diri. 8. Des grap avanse ak fleksib pou plizyè senaryo

Obsèvabilite mondyal atravè sant done yo

Jan yo montre nan fig pi ba a. 9, Alibaba Cloud Container sèvis nwaj te deplwaye nan ven rejyon atravè mond lan. Etandone echèl sa a, youn nan objektif kle ACK se kontwole fasilman eta a nan gwoup k ap kouri pou ke si yon gwoup kliyan rankontre yon pwoblèm, nou ka byen vit reponn a sitiyasyon an. Nan lòt mo, ou bezwen vini ak yon solisyon ki pral pèmèt ou avèk efikasite epi an sekirite kolekte estatistik an tan reyèl nan gwoup kliyan nan tout rejyon yo - ak vizyèlman prezante rezilta yo.

Ki jan Alibaba Cloud jere dè dizèn de milye grap Kubernetes ak... Kubernetes
Diri. 9. Global deplwaman sèvis Alibaba Cloud Container nan ven rejyon yo

Tankou anpil sistèm siveyans Kubernetes, nou itilize Prometheus kòm zouti prensipal nou an. Pou chak metacluster, ajan Prometheus kolekte paramèt sa yo:

  • OS mezi tankou resous lame (CPU, memwa, disk, elatriye) ak Pleasant rezo a.
  • Metrics pou metacluster ak sistèm jesyon gwoup kliyan an, tankou kube-apiserver, kube-controller-manager ak kube-scheduler.
  • Metrics soti nan kubernetes-state-metrics ak cadvisor.
  • mezi etcd tankou tan ekriti disk, gwosè baz done, debi lyen ant nœuds, elatriye.

Estatistik mondyal yo kolekte lè l sèvi avèk yon modèl agrégasyon milti-kouch. Done siveyans ki soti nan chak metacluster yo premye rasanble nan chak rejyon epi yo voye yo nan yon sèvè santral ki montre foto an jeneral. Tout bagay mache atravè mekanis federasyon an. Yon sèvè Prometheus nan chak sant done kolekte paramèt nan sant done sa a, epi sèvè santral Prometheus la responsab pou rasanble done siveyans. AlertManager konekte nan santral Prometheus epi voye alèt jan sa nesesè atravè DingTalk, imèl, SMS, elatriye Vizyalizasyon - Sèvi ak Grafana.

Nan Figi 10, sistèm siveyans la ka divize an twa nivo:

  • Nivo fwontyè

Kouch ki pi lwen sant lan. Sèvè Prometheus Edge la kouri nan chak metacluster, kolekte paramèt ki soti nan meta ak grap kliyan ki nan menm domèn rezo a.

  • Nivo Cascade

Fonksyon kouch cascade Prometheus la se kolekte done siveyans ki soti nan plizyè rejyon. Serveurs sa yo opere nan nivo pi gwo inite jeyografik tankou Lachin, Azi, Ewòp ak Amerik. Kòm grap grandi, rejyon an ka divize, epi Lè sa a, yon sèvè Prometheus nan nivo kaskad ap parèt nan chak nouvo rejyon gwo. Avèk estrateji sa a, ou ka san pwoblèm echèl jan sa nesesè.

  • Nivo santral

Sèvè santral Prometheus la konekte ak tout sèvè kaskad yo epi li fè total done final la. Pou fyab, de egzanp santral Prometheus yo te ogmante nan diferan zòn, ki konekte ak menm sèvè kaskad yo.

Ki jan Alibaba Cloud jere dè dizèn de milye grap Kubernetes ak... Kubernetes
Diri. 10. Achitekti siveyans milti-nivo mondyal ki baze sou mekanis federasyon Prometheus la

Rezime

Solisyon nwaj ki baze sou Kubernetes kontinye transfòme endistri nou an. Sèvis veso Alibaba Cloud bay hosting sekirite, serye ak pèfòmans segondè - li se youn nan pi bon hosting nan nwaj Kubernetes. Ekip Alibaba Cloud la kwè fòtman nan prensip Open Source ak kominote sous louvri. Nou pral definitivman kontinye pataje konesans nou nan domèn opere ak jere teknoloji nwaj yo.

Sous: www.habr.com

Add nouvo kòmantè