Puncte:0

cum se schimbă încărcarea serviciului între poduri?

drapel pl

Aceasta este o întrebare de bază, așa că cred că trebuie să-mi lipsească ceva evident. Serviciul openshift folosește round-robin pentru a echilibra încărcarea între pod-uri? Sau transmite cereri către podul cu cea mai mare cantitate de resurse disponibile? Sau este total aleatoriu?

Configurația serviciului meu arată astfel:

fel: serviciu
metadate:
  nume: temp
  etichete:
    aplicație: temp
specificație:
  port:
    targetPort: temp-port
  la:
    fel: Serviciu
    nume: temp
Puncte:1
drapel cn

Postarea acestui răspuns wiki comunității pentru a indica documentația oficială a Openshift și Kubernetes (în resurse suplimentare) care ar trebui să răspundă la întrebarea postată.

Simțiți-vă liber să editați și să extindeți.

Conform documentației OpenShift (v3.11):

Servicii

Un serviciu Kubernetes servește ca echilibrator intern de încărcare. Identifică un set de pod-uri replicate pentru a le transmite prin proxy conexiunile pe care le primește. Podurile de rezervă pot fi adăugate sau eliminate dintr-un serviciu în mod arbitrar, în timp ce serviciul rămâne disponibil în mod constant, permițând orice lucru care depinde de serviciu să se refere la el la o adresă consecventă. Adresele IP implicite ale clusterului de servicii sunt din rețeaua internă OpenShift Container Platform și sunt utilizate pentru a permite podurilor să se acceseze unul pe celălalt.


Modul proxy de serviciu

OpenShift Container Platform are două implementări diferite ale infrastructurii de rutare a serviciilor. Implementarea implicită este în întregime bazată pe iptables și folosește reguli probabilistice de rescriere a iptables pentru a distribui conexiunile de serviciu de intrare între pod-urile punctelor finale. Implementarea mai veche folosește un proces de spațiu de utilizator pentru a accepta conexiunile de intrare și apoi traficul proxy între client și unul dintre podurile terminale.

Implementarea bazată pe iptables este mult mai eficientă, dar necesită ca toate punctele finale să fie întotdeauna capabile să accepte conexiuni; implementarea spațiului utilizatorului este mai lentă, dar poate încerca mai multe puncte finale pe rând până când găsește unul care funcționează. Dacă aveți verificări bune de pregătire (sau noduri și poduri în general fiabile), atunci proxy-ul de serviciu bazat pe iptables este cea mai bună alegere. În caz contrar, puteți activa proxy-ul bazat pe spațiu al utilizatorului la instalare sau după implementarea clusterului prin editarea fișierului de configurare a nodului.

Răspunzând la întrebarea cum se echilibrează încărcarea traficului atunci când mergi la Serviciu:

Implementarea implicită este în întregime bazată pe iptables și folosește reguli de rescriere iptables probabilistice pentru a distribui conexiunile de serviciu de intrare între podurile terminale.


Cred că puteți arunca o privire și asupra resurselor suplimentare:

drapel pl
Multumesc pentru raspunsul tau! Nu sunt sigur ce înseamnă „reguli probabilistice de rescriere a iptables”. totuși, și acest [link](https://scalingo.com/blog/iptables) specifică atât „Echilibrare aleatorie” cât și „Round Robin” ca metodă, trebuie să știu care este metoda implicită folosită de openshift
Dawid Kruk avatar
drapel cn
AFAIK acest lucru ar funcționa cu „Echilibrare aleatorie” (cu probabilitate). Consider că puteți inspecta regulile `iptables` de pe nodurile dvs. pentru mai multe referințe. Acest ghid ar trebui să vă ajute: https://www.stackrox.com/post/2020/01/kubernetes-networking-demystified/

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.