Fifuye iwọntunwọnsi ati igbelosoke awọn isopọ gigun ni Kubernetes

Fifuye iwọntunwọnsi ati igbelosoke awọn isopọ gigun ni Kubernetes
Nkan yii yoo ṣe iranlọwọ fun ọ lati loye bii iwọntunwọnsi fifuye ṣiṣẹ ni Kubernetes, kini o ṣẹlẹ nigbati iwọn awọn asopọ gigun gigun, ati idi ti o yẹ ki o gbero iwọntunwọnsi ẹgbẹ-ẹgbẹ ti o ba lo HTTP/2, gRPC, RSockets, AMQP, tabi awọn ilana igbesi aye gigun miiran . 

Diẹ diẹ nipa bi a ṣe tun pin ijabọ ni Kubernetes 

Kubernetes pese awọn abstractions irọrun meji fun gbigbe awọn ohun elo: Awọn iṣẹ ati Awọn imuṣiṣẹ.

Awọn imuṣiṣẹ ṣe apejuwe bii ati iye awọn adakọ ti ohun elo rẹ yẹ ki o nṣiṣẹ ni eyikeyi akoko ti a fun. Ohun elo kọọkan ti wa ni ransogun bi Pod kan ati pe o ti yan adirẹsi IP kan.

Awọn iṣẹ jẹ iru ni iṣẹ si iwọntunwọnsi fifuye. Wọn ṣe apẹrẹ lati pin kaakiri ijabọ kọja awọn adarọ-ese lọpọlọpọ.

Jẹ ká wo ohun ti o wulẹ.

  1. Ninu aworan atọka ti o wa ni isalẹ o le wo awọn iṣẹlẹ mẹta ti ohun elo kanna ati iwọntunwọnsi fifuye:

    Fifuye iwọntunwọnsi ati igbelosoke awọn isopọ gigun ni Kubernetes

  2. Oniwọntunwọnsi fifuye ni a pe ni Iṣẹ kan ati pe o yan adiresi IP kan. Eyikeyi ibeere ti nwọle ni a darí si ọkan ninu awọn adarọ-ese:

    Fifuye iwọntunwọnsi ati igbelosoke awọn isopọ gigun ni Kubernetes

  3. Oju iṣẹlẹ imuṣiṣẹ n pinnu nọmba awọn iṣẹlẹ ti ohun elo naa. O fẹrẹ kii yoo ni lati faagun taara labẹ:

    Fifuye iwọntunwọnsi ati igbelosoke awọn isopọ gigun ni Kubernetes

  4. Podu kọọkan jẹ adiresi IP tirẹ:

    Fifuye iwọntunwọnsi ati igbelosoke awọn isopọ gigun ni Kubernetes

O wulo lati ronu awọn iṣẹ bi akojọpọ awọn adirẹsi IP. Nigbakugba ti o ba wọle si iṣẹ naa, ọkan ninu awọn adirẹsi IP ni a yan lati inu atokọ naa ati lo bi adirẹsi ibi-ajo.

O dabi eleyi.

  1. Ibeere curl 10.96.45.152 gba si iṣẹ naa:

    Fifuye iwọntunwọnsi ati igbelosoke awọn isopọ gigun ni Kubernetes

  2. Iṣẹ naa yan ọkan ninu awọn adirẹsi adarọ-ese mẹta bi opin irin ajo rẹ:

    Fifuye iwọntunwọnsi ati igbelosoke awọn isopọ gigun ni Kubernetes

  3. Ti darí ijabọ si podu kan pato:

    Fifuye iwọntunwọnsi ati igbelosoke awọn isopọ gigun ni Kubernetes

Ti ohun elo rẹ ba ni iwaju iwaju ati ẹhin, lẹhinna o yoo ni iṣẹ mejeeji ati imuṣiṣẹ kan fun ọkọọkan.

Nigbati iwaju iwaju ba beere ibeere si ẹhin, ko nilo lati mọ ni pato iye awọn adarọ-ese ti ẹhin ti n ṣiṣẹ: o le jẹ ọkan, mẹwa, tabi ọgọrun.

Pẹlupẹlu, iwaju iwaju ko mọ ohunkohun nipa awọn adirẹsi ti awọn adarọ-ese ti n ṣiṣẹ ẹhin.

Nigbati iwaju iwaju ṣe ibeere si ẹhin, o nlo adiresi IP ti iṣẹ ẹhin, eyiti ko yipada.

Eyi ni ohun ti o dabi.

  1. Labẹ 1 awọn ibeere paati ẹhin inu inu. Dipo yiyan kan pato fun ẹhin, o ṣe ibeere kan si iṣẹ naa:

    Fifuye iwọntunwọnsi ati igbelosoke awọn isopọ gigun ni Kubernetes

  2. Iṣẹ naa yan ọkan ninu awọn adarọ-ese ẹhin bi adirẹsi opin irin ajo:

    Fifuye iwọntunwọnsi ati igbelosoke awọn isopọ gigun ni Kubernetes

  3. Ijabọ lati Pod 1 si Pod 5, ti a yan nipasẹ iṣẹ naa:

    Fifuye iwọntunwọnsi ati igbelosoke awọn isopọ gigun ni Kubernetes

  4. Labẹ 1 ko mọ deede iye awọn adarọ-ese bi labẹ 5 ti wa ni pamọ lẹhin iṣẹ naa:

    Fifuye iwọntunwọnsi ati igbelosoke awọn isopọ gigun ni Kubernetes

Ṣugbọn bawo ni deede iṣẹ naa ṣe pinpin awọn ibeere? O dabi pe iwọntunwọnsi-robin ti lo? Jẹ ká ro ero o jade. 

Iwontunwonsi ni awọn iṣẹ Kubernetes

Awọn iṣẹ Kubernetes ko si. Ko si ilana fun iṣẹ ti o yan adirẹsi IP ati ibudo.

O le mọ daju eyi nipa wíwọlé sinu eyikeyi ipade ninu iṣupọ ati ṣiṣe pipaṣẹ netstat -ntlp.

Iwọ kii yoo paapaa ni anfani lati wa adiresi IP ti a pin si iṣẹ naa.

Adirẹsi IP ti iṣẹ naa wa ni ipele iṣakoso, ninu oluṣakoso, ati gbasilẹ ni ibi ipamọ data - ati bẹbẹ lọ. Adirẹsi kanna ni a lo nipasẹ paati miiran - kube-proxy.
Kube-aṣoju gba atokọ ti awọn adiresi IP fun gbogbo awọn iṣẹ ati ṣe ipilẹṣẹ ṣeto awọn ofin iptables lori ipade kọọkan ninu iṣupọ.

Awọn ofin wọnyi sọ pe: “Ti a ba rii adiresi IP ti iṣẹ naa, a nilo lati yipada adirẹsi ibi-ajo ti ibeere naa ki a firanṣẹ si ọkan ninu awọn adarọ-ese.”

Adirẹsi IP iṣẹ naa jẹ lilo nikan bi aaye titẹsi ati pe ko ṣe iranṣẹ nipasẹ eyikeyi ilana ti n tẹtisi adirẹsi IP ati ibudo yẹn.

Jẹ ká wo ni yi

  1. Wo iṣupọ ti awọn apa mẹta. Ọpa kọọkan ni awọn adarọ-ese:

    Fifuye iwọntunwọnsi ati igbelosoke awọn isopọ gigun ni Kubernetes

  2. Awọn adarọ-ese ti a so ti ya alagara jẹ apakan ti iṣẹ naa. Nitoripe iṣẹ naa ko si bi ilana, o han ni grẹy:

    Fifuye iwọntunwọnsi ati igbelosoke awọn isopọ gigun ni Kubernetes

  3. Podu akọkọ n beere iṣẹ kan ati pe o gbọdọ lọ si ọkan ninu awọn adarọ-ese ti o somọ:

    Fifuye iwọntunwọnsi ati igbelosoke awọn isopọ gigun ni Kubernetes

  4. Ṣugbọn iṣẹ naa ko si, ilana naa ko si. Bawo ni o ṣe n ṣiṣẹ?

    Fifuye iwọntunwọnsi ati igbelosoke awọn isopọ gigun ni Kubernetes

  5. Ṣaaju ki ibeere naa lọ kuro ni ipade, o lọ nipasẹ awọn ofin iptables:

    Fifuye iwọntunwọnsi ati igbelosoke awọn isopọ gigun ni Kubernetes

  6. Awọn ofin iptables mọ pe iṣẹ naa ko si ati rọpo adiresi IP rẹ pẹlu ọkan ninu awọn adirẹsi IP ti awọn adarọ-ese ti o ni nkan ṣe pẹlu iṣẹ yẹn:

    Fifuye iwọntunwọnsi ati igbelosoke awọn isopọ gigun ni Kubernetes

  7. Ibeere naa gba adiresi IP to wulo bi adirẹsi ibi-ajo ati pe o ti ni ilọsiwaju ni deede:

    Fifuye iwọntunwọnsi ati igbelosoke awọn isopọ gigun ni Kubernetes

  8. Ti o da lori topology nẹtiwọọki, ibeere naa bajẹ de podu:

    Fifuye iwọntunwọnsi ati igbelosoke awọn isopọ gigun ni Kubernetes

Le iptables fifuye iwontunwonsi?

Rara, awọn iptables ni a lo fun sisẹ ati pe a ko ṣe apẹrẹ fun iwọntunwọnsi.

Sibẹsibẹ, o jẹ ṣee ṣe lati kọ kan ti ṣeto ti awọn ofin ti o ṣiṣẹ bi afarape-iwontunwonsi.

Ati pe eyi ni deede ohun ti a ṣe ni Kubernetes.

Ti o ba ni awọn adarọ-ese mẹta, kube-proxy yoo kọ awọn ofin wọnyi:

  1. Yan ipin akọkọ pẹlu iṣeeṣe 33%, bibẹẹkọ lọ si ofin atẹle.
  2. Yan ọkan keji pẹlu iṣeeṣe 50%, bibẹẹkọ lọ si ofin atẹle.
  3. Yan kẹta labẹ.

Eto yii ṣe abajade ni yiyan podu kọọkan pẹlu iṣeeṣe ti 33%.

Fifuye iwọntunwọnsi ati igbelosoke awọn isopọ gigun ni Kubernetes

Ati pe ko si iṣeduro pe Pod 2 yoo yan ni atẹle lẹhin Pod 1.

Daakọ: iptables nlo a iṣiro module pẹlu ID pinpin. Nitorinaa, algorithm iwọntunwọnsi da lori yiyan laileto.

Ni bayi ti o loye bii awọn iṣẹ ṣe n ṣiṣẹ, jẹ ki a wo awọn oju iṣẹlẹ iṣẹ ti o nifẹ diẹ sii.

Awọn asopọ igba pipẹ ni Kubernetes ko ṣe iwọn nipasẹ aiyipada

Ibeere HTTP kọọkan lati iwaju iwaju si ẹhin jẹ iranṣẹ nipasẹ asopọ TCP lọtọ, eyiti o ṣii ati pipade.

Ti iwaju iwaju ba firanṣẹ awọn ibeere 100 fun iṣẹju keji si ẹhin, lẹhinna 100 oriṣiriṣi awọn asopọ TCP ti ṣii ati pipade.

O le dinku akoko sisẹ ibeere ati fifuye nipa ṣiṣi asopọ TCP kan ati lilo rẹ fun gbogbo awọn ibeere HTTP ti o tẹle.

Ilana HTTP ni ẹya ti a pe ni HTTP keep-alive, tabi atunlo asopọ. Ni ọran yii, asopọ TCP kan ni a lo lati firanṣẹ ati gba ọpọlọpọ awọn ibeere HTTP ati awọn idahun:

Fifuye iwọntunwọnsi ati igbelosoke awọn isopọ gigun ni Kubernetes

Ẹya yii ko ṣiṣẹ nipasẹ aiyipada: mejeeji olupin ati alabara gbọdọ tunto ni ibamu.

Iṣeto funrararẹ rọrun ati iraye si fun ọpọlọpọ awọn ede siseto ati awọn agbegbe.

Eyi ni diẹ ninu awọn ọna asopọ si awọn apẹẹrẹ ni awọn ede oriṣiriṣi:

Kini yoo ṣẹlẹ ti a ba lo pa-laaye ni iṣẹ Kubernetes kan?
Jẹ ká ro pe mejeji awọn frontend ati backend support pa-laaye.

A ni ẹda kan ti iwaju iwaju ati awọn ẹda mẹta ti ẹhin. Iwaju iwaju ṣe ibeere akọkọ ati ṣi asopọ TCP kan si ẹhin. Ibeere naa de iṣẹ naa, ọkan ninu awọn adarọ-ese ẹhin ni a yan bi adirẹsi ibi-ajo. Awọn backend rán a esi, ati awọn frontend gba o.

Ko dabi ipo deede nibiti asopọ TCP ti wa ni pipade lẹhin gbigba esi, o wa ni ṣiṣi silẹ fun awọn ibeere HTTP siwaju.

Kini yoo ṣẹlẹ ti iwaju ba firanṣẹ awọn ibeere diẹ sii si ẹhin?

Lati dari awọn ibeere wọnyi, asopọ TCP ti o ṣii yoo ṣee lo, gbogbo awọn ibeere yoo lọ si ẹhin kanna nibiti ibeere akọkọ ti lọ.

Ṣe ko yẹ ki awọn iptables tun pin ijabọ naa?

Kii ṣe ninu ọran yii.

Nigbati asopọ TCP ba ṣẹda, o lọ nipasẹ awọn ofin iptables, eyiti o yan ẹhin kan pato nibiti ijabọ yoo lọ.

Niwọn igba ti gbogbo awọn ibeere ti o tẹle wa lori asopọ TCP ti o ṣii tẹlẹ, awọn ofin iptables ko pe mọ.

Jẹ ká wo ohun ti o wulẹ.

  1. Podu akọkọ fi ibeere ranṣẹ si iṣẹ naa:

    Fifuye iwọntunwọnsi ati igbelosoke awọn isopọ gigun ni Kubernetes

  2. O ti mọ ohun ti yoo ṣẹlẹ nigbamii. Iṣẹ naa ko si, ṣugbọn awọn ofin iptables wa ti yoo ṣe ilana ibeere naa:

    Fifuye iwọntunwọnsi ati igbelosoke awọn isopọ gigun ni Kubernetes

  3. Ọkan ninu awọn adarọ-ese ẹhin ni yoo yan bi adirẹsi ibi-ajo:

    Fifuye iwọntunwọnsi ati igbelosoke awọn isopọ gigun ni Kubernetes

  4. Ibeere naa de podu. Ni aaye yii, asopọ TCP ti o tẹsiwaju laarin awọn adarọ-ese meji yoo fi idi mulẹ:

    Fifuye iwọntunwọnsi ati igbelosoke awọn isopọ gigun ni Kubernetes

  5. Eyikeyi ibeere ti o tẹle lati adarọ ese akọkọ yoo lọ nipasẹ asopọ ti iṣeto tẹlẹ:

    Fifuye iwọntunwọnsi ati igbelosoke awọn isopọ gigun ni Kubernetes

Abajade jẹ akoko idahun yiyara ati igbejade giga, ṣugbọn o padanu agbara lati ṣe iwọn ẹhin.

Paapa ti o ba ni awọn adarọ-ese meji ni ẹhin, pẹlu asopọ igbagbogbo, ijabọ nigbagbogbo yoo lọ si ọkan ninu wọn.

Njẹ eyi le ṣe atunṣe?

Niwọn igba ti Kubernetes ko mọ bi o ṣe le ṣe iwọntunwọnsi awọn asopọ itẹramọṣẹ, iṣẹ-ṣiṣe yii ṣubu si ọ.

Awọn iṣẹ jẹ akojọpọ awọn adirẹsi IP ati awọn ebute oko oju omi ti a pe ni awọn aaye ipari.

Ohun elo rẹ le gba atokọ ti awọn aaye ipari lati iṣẹ naa ki o pinnu bi o ṣe le pin awọn ibeere laarin wọn. O le ṣii asopọ itẹramọṣẹ si adarọ-ese kọọkan ati awọn ibeere iwọntunwọnsi laarin awọn asopọ wọnyi nipa lilo robin-yika.

Tabi lo diẹ sii eka iwontunwosi aligoridimu.

Koodu ẹgbẹ-alabara ti o ni iduro fun iwọntunwọnsi yẹ ki o tẹle ọgbọn-ọrọ yii:

  1. Gba atokọ ti awọn aaye ipari lati iṣẹ naa.
  2. Ṣii asopọ ti o tẹsiwaju fun aaye ipari kọọkan.
  3. Nigbati ibeere ba nilo lati ṣe, lo ọkan ninu awọn asopọ ṣiṣi.
  4. Ṣe imudojuiwọn atokọ ti awọn aaye ipari nigbagbogbo, ṣẹda awọn tuntun tabi sunmọ awọn asopọ itẹramọṣẹ atijọ ti atokọ naa ba yipada.

Eyi ni ohun ti yoo dabi.

  1. Dipo adarọ ese akọkọ ti o firanṣẹ ibeere si iṣẹ naa, o le ṣe iwọntunwọnsi awọn ibeere ni ẹgbẹ alabara:

    Fifuye iwọntunwọnsi ati igbelosoke awọn isopọ gigun ni Kubernetes

  2. O nilo lati kọ koodu ti o beere awọn adarọ-ese wo ni apakan iṣẹ naa:

    Fifuye iwọntunwọnsi ati igbelosoke awọn isopọ gigun ni Kubernetes

  3. Ni kete ti o ba ni atokọ naa, fipamọ si ẹgbẹ alabara ki o lo lati sopọ si awọn adarọ-ese:

    Fifuye iwọntunwọnsi ati igbelosoke awọn isopọ gigun ni Kubernetes

  4. O ni iduro fun algorithm iwọntunwọnsi fifuye:

    Fifuye iwọntunwọnsi ati igbelosoke awọn isopọ gigun ni Kubernetes

Bayi ibeere naa waye: ṣe iṣoro yii kan si HTTP pa-laaye nikan bi?

Iwontunwonsi fifuye-ẹgbẹ onibara

HTTP kii ṣe ilana nikan ti o le lo awọn asopọ TCP ti o tẹsiwaju.

Ti ohun elo rẹ ba nlo aaye data kan, lẹhinna asopọ TCP ko ṣii ni gbogbo igba ti o nilo lati ṣe ibeere tabi gba iwe kan pada lati ibi ipamọ data. 

Dipo, asopọ TCP ti o tẹsiwaju si ibi ipamọ data ti ṣii ati lo.

Ti o ba ti gbe data data rẹ sori Kubernetes ati wiwọle ti pese bi iṣẹ kan, lẹhinna o yoo ba pade awọn iṣoro kanna ti a ṣalaye ni apakan ti tẹlẹ.

Ajọra data kan yoo jẹ kojọpọ diẹ sii ju awọn miiran lọ. Kube-aṣoju ati Kubernetes kii yoo ṣe iranlọwọ awọn asopọ iwọntunwọnsi. O gbọdọ ṣọra lati dọgbadọgba awọn ibeere si ibi ipamọ data rẹ.

Ti o da lori iru ile-ikawe ti o lo lati sopọ si ibi ipamọ data, o le ni awọn aṣayan oriṣiriṣi fun yiyan iṣoro yii.

Ni isalẹ jẹ apẹẹrẹ ti iraye si iṣupọ data MySQL kan lati Node.js:

var mysql = require('mysql');
var poolCluster = mysql.createPoolCluster();

var endpoints = /* retrieve endpoints from the Service */

for (var [index, endpoint] of endpoints) {
  poolCluster.add(`mysql-replica-${index}`, endpoint);
}

// Make queries to the clustered MySQL database

Ọpọlọpọ awọn ilana miiran wa ti o lo awọn asopọ TCP ti o tẹsiwaju:

  • WebSockets ati ni ifipamo WebSockets
  • HTTP / 2
  • gRPC
  • RSockets
  • AMQP

O yẹ ki o faramọ pẹlu pupọ julọ awọn ilana wọnyi.

Ṣugbọn ti awọn ilana wọnyi ba jẹ olokiki pupọ, kilode ti ko si ojutu iwọntunwọnsi iwọntunwọnsi? Kini idi ti oye alabara nilo lati yipada? Ṣe ojutu Kubernetes abinibi kan wa?

Kube-aṣoju ati awọn iptables jẹ apẹrẹ lati bo awọn ọran lilo ti o wọpọ julọ nigba gbigbe lọ si Kubernetes. Eleyi jẹ fun wewewe.

Ti o ba nlo iṣẹ wẹẹbu kan ti o ṣafihan API REST, o ni orire - ninu ọran yii, awọn asopọ TCP ti o tẹsiwaju ko lo, o le lo eyikeyi iṣẹ Kubernetes.

Ṣugbọn ni kete ti o ba bẹrẹ lilo awọn asopọ TCP ti o tẹpẹlẹ, iwọ yoo ni lati ro ero bi o ṣe le pin kaakiri ẹru naa kọja awọn ẹhin. Kubernetes ko ni awọn solusan ti a ti ṣetan fun ọran yii.

Sibẹsibẹ, nibẹ ni o wa esan awọn aṣayan ti o le ran.

Iwontunwonsi gun-ti gbé awọn isopọ ni Kubernetes

Awọn oriṣi awọn iṣẹ mẹrin lo wa ni Kubernetes:

  1. Àkópọ̀ IP
  2. NodePort
  3. LoadBalancer
  4. Olori

Awọn iṣẹ mẹta akọkọ ṣiṣẹ da lori adiresi IP foju kan, eyiti o jẹ lilo nipasẹ kube-proxy lati kọ awọn ofin iptables. Ṣugbọn ipilẹ ipilẹ ti gbogbo awọn iṣẹ jẹ iṣẹ ti ko ni ori.

Iṣẹ ti ko ni ori ko ni eyikeyi adiresi IP ti o ni nkan ṣe pẹlu rẹ ati pe o pese ẹrọ nikan fun gbigba atokọ ti awọn adirẹsi IP ati awọn ebute oko oju omi ti awọn adarọ-ese (awọn aaye ipari) ti o ni nkan ṣe pẹlu rẹ.

Gbogbo awọn iṣẹ da lori iṣẹ ti ko ni ori.

Iṣẹ ClusterIP jẹ iṣẹ ti ko ni ori pẹlu awọn afikun diẹ: 

  1. Layer isakoso fi adiresi IP kan fun u.
  2. Kube-aṣoju n ṣe agbekalẹ awọn ofin iptables pataki.

Ni ọna yii o le foju foju kube-aṣoju ati lo taara taara atokọ ti awọn aaye ipari ti o gba lati iṣẹ aisi ori lati ṣe iwọntunwọnsi ohun elo rẹ.

Ṣugbọn bawo ni a ṣe le ṣafikun ọgbọn kanna si gbogbo awọn ohun elo ti a fi ranṣẹ sinu iṣupọ naa?

Ti ohun elo rẹ ba ti lo tẹlẹ, iṣẹ yii le dabi ohun ti ko ṣee ṣe. Sibẹsibẹ, aṣayan miiran wa.

Mesh iṣẹ yoo ran ọ lọwọ

O ti ṣe akiyesi tẹlẹ pe ilana iwọntunwọnsi fifuye ẹgbẹ-ẹgbẹ jẹ boṣewa.

Nigbati ohun elo ba bẹrẹ, o:

  1. Ngba atokọ ti awọn adirẹsi IP lati iṣẹ naa.
  2. Ṣii ati ṣetọju adagun asopọ kan.
  3. Lokọọkan ṣe imudojuiwọn adagun-odo nipa fifi kun tabi yiyọ awọn aaye ipari kuro.

Ni kete ti ohun elo naa fẹ lati ṣe ibeere, o:

  1. Yan asopọ ti o wa nipa lilo ọgbọn diẹ (fun apẹẹrẹ-robin).
  2. Ṣiṣẹ ibeere naa.

Awọn igbesẹ wọnyi ṣiṣẹ fun mejeeji WebSockets, gRPC, ati awọn asopọ AMQP.

O le ya awọn kannaa yi sinu kan lọtọ ìkàwé ati ki o lo ninu rẹ elo.

Sibẹsibẹ, o le lo awọn meshes iṣẹ bii Istio tabi Linkerd dipo.

Mesh Iṣẹ ṣe alekun ohun elo rẹ pẹlu ilana kan ti:

  1. Wiwa ni aifọwọyi fun awọn adirẹsi IP iṣẹ.
  2. Ṣe idanwo awọn isopọ bii WebSockets ati gRPC.
  3. Ṣe iwọntunwọnsi awọn ibeere nipa lilo ilana to pe.

Mesh Iṣẹ ṣe iranlọwọ lati ṣakoso ijabọ laarin iṣupọ, ṣugbọn o jẹ ohun elo to lekoko. Awọn aṣayan miiran nlo awọn ile-ikawe ẹni-kẹta bi Netflix Ribbon tabi awọn aṣoju siseto bi Envoy.

Kini yoo ṣẹlẹ ti o ba foju kọ awọn ọran iwọntunwọnsi?

O le yan lati ma lo iwọntunwọnsi fifuye ati ṣi ko ṣe akiyesi eyikeyi awọn ayipada. Jẹ ki a wo awọn oju iṣẹlẹ iṣẹ diẹ.

Ti o ba ni awọn onibara diẹ sii ju awọn olupin lọ, eyi kii ṣe iṣoro nla bẹ.

Jẹ ki a sọ pe awọn alabara marun wa ti o sopọ si olupin meji. Paapa ti ko ba si iwọntunwọnsi, awọn olupin mejeeji yoo ṣee lo:

Fifuye iwọntunwọnsi ati igbelosoke awọn isopọ gigun ni Kubernetes

Awọn isopọ le ma pin boṣeyẹ: boya awọn alabara mẹrin ti o sopọ si olupin kanna, ṣugbọn aye wa ti o dara pe awọn olupin mejeeji yoo ṣee lo.

Kini iṣoro diẹ sii ni oju iṣẹlẹ idakeji.

Ti o ba ni awọn alabara diẹ ati awọn olupin diẹ sii, awọn orisun rẹ le jẹ aibikita ati pe igo ti o pọju yoo han.

Jẹ ki a sọ pe awọn alabara meji wa ati awọn olupin marun. Ninu ọran ti o dara julọ, awọn asopọ titilai meji yoo wa si olupin meji ninu marun.

Awọn olupin to ku yoo jẹ laišišẹ:

Fifuye iwọntunwọnsi ati igbelosoke awọn isopọ gigun ni Kubernetes

Ti awọn olupin meji wọnyi ko ba le mu awọn ibeere alabara mu, wiwọn petele kii yoo ṣe iranlọwọ.

ipari

Awọn iṣẹ Kubernetes jẹ apẹrẹ lati ṣiṣẹ ni ọpọlọpọ awọn oju iṣẹlẹ ohun elo wẹẹbu boṣewa.

Sibẹsibẹ, ni kete ti o ba bẹrẹ ṣiṣẹ pẹlu awọn ilana elo ti o lo awọn asopọ TCP ti o tẹpẹlẹ, gẹgẹbi awọn data data, gRPC tabi WebSockets, awọn iṣẹ ko dara mọ. Kubernetes ko pese awọn ilana inu fun iwọntunwọnsi awọn asopọ TCP ti o tẹsiwaju.

Eyi tumọ si pe o gbọdọ kọ awọn ohun elo pẹlu iwọntunwọnsi ẹgbẹ-ẹgbẹ ni ọkan.

Itumọ ti a pese sile nipasẹ ẹgbẹ Kubernetes aaS lati Mail.ru.

Kini ohun miiran lati ka lori koko:

  1. Awọn ipele mẹta ti autoscaling ni Kubernetes ati bii o ṣe le lo wọn daradara
  2. Kubernetes ninu ẹmi afarape pẹlu awoṣe fun imuse.
  3. ikanni Telegram wa nipa iyipada oni-nọmba.

orisun: www.habr.com

Fi ọrọìwòye kun