Kubernetes beschten Praktiken. Validéiere Kubernetes Liveness mat Bereetschaft a Liveness Tester

Kubernetes beschten Praktiken. Schafen kleng Container
Kubernetes beschten Praktiken. Organisatioun vu Kubernetes mat Nummraum

Kubernetes beschten Praktiken. Validéiere Kubernetes Liveness mat Bereetschaft a Liveness Tester

Verdeelt Systemer kënne schwéier ze verwalten sinn, well se vill bewegt, verännert Elementer hunn, déi all richteg funktionnéiere fir datt de System funktionnéiert. Wann ee vun den Elementer klappt, muss de System et entdecken, ëmgoen a fixéieren, an all dat muss automatesch gemaach ginn. An dëser Kubernetes Best Practices Serie léiere mir wéi Dir Readiness and Liveness Tester opstellt fir d'Gesondheet vun engem Kubernetes Cluster ze testen.

Health Check ass en einfache Wee fir de System ze wëssen ob Är Uwendungsinstanz leeft oder net. Wann Är Applikatioun Instanz erof ass, da sollten aner Servicer net zougräifen oder Ufroe schécken. Amplaz muss d'Ufro un eng aner Instanz vun der Applikatioun geschéckt ginn, déi scho leeft oder spéider gestart gëtt. Zousätzlech sollt de System déi verluere Funktionalitéit vun Ärer Applikatioun restauréieren.

Par défaut fänkt Kubernetes Traffic un e Pod ze schécken wann all Container an de Pods lafen, a Container nei starten wann se crashen. Dëst Standardsystemverhalen ka gutt genuch sinn fir unzefänken, awer Dir kënnt d'Zouverlässegkeet vun Ärem Produktdeployement verbesseren andeems Dir personaliséiert Sanitéitskontrollen benotzt.

Kubernetes beschten Praktiken. Validéiere Kubernetes Liveness mat Bereetschaft a Liveness Tester

Glécklecherweis mécht Kubernetes dat ganz einfach ze maachen, sou datt et keng Excuse gëtt fir dës Kontrollen ze ignoréieren. Kubernetes bitt zwou Aarte vu Gesondheetschecken, an et ass wichteg d'Ënnerscheeder ze verstoen wéi jidderee benotzt gëtt.

De Readiness Test ass entwéckelt fir Kubernetes ze soen datt Är Applikatioun prett ass fir de Traffic ze handhaben. Ier Dir e Service erlaabt Traffic op e Pod ze schécken, muss Kubernetes verifizéieren datt d'Bereetschaftskontroll erfollegräich ass. Wann de Readiness Test klappt, stoppt Kubernetes de Traffic op de Pod ze schécken bis den Test passéiert.

De Liveness Test erzielt Kubernetes ob Är Applikatioun lieweg oder dout ass. Am éischte Fall léisst de Kubernetes et eleng, am zweeten läscht se den doudege Pod an ersetzt se mat engem neien.

Loosst eis e Szenario virstellen wou Är Applikatioun 1 Minutt dauert fir sech opzemaachen an ze starten. Äre Service fänkt net un ze schaffen bis d'Applikatioun voll gelueden a leeft, obwuel de Workflow scho ugefaang ass. Dir wäert och Probleemer hunn, wann Dir dës Deployment op méi Kopie wëllt opbauen, well dës Exemplare solle kee Traffic kréien bis se komplett fäerdeg sinn. Wéi och ëmmer, Par défaut, fänkt Kubernetes Traffic ze schécken soubal Prozesser am Container ufänken.

Wann Dir de Readiness Test benotzt, waart Kubernetes bis d'Applikatioun voll leeft ier de Service erlaabt de Traffic op déi nei Kopie ze schécken.

Kubernetes beschten Praktiken. Validéiere Kubernetes Liveness mat Bereetschaft a Liveness Tester

Loosst eis en anere Szenario virstellen, an deem d'Applikatioun fir eng laang Zäit hänkt, d'Servicerfuerderunge stoppen. Wéi de Prozess weider leeft, gëtt de Standard Kubernetes ugeholl datt alles gutt ass a weider Ufroen un den net funktionnéierten Pod schécken. Awer wann Dir Liveness benotzt, wäert Kubernetes feststellen datt d'Applikatioun net méi Ufroe servéiert a wäert den Doudegen Pod als Standard nei starten.

Kubernetes beschten Praktiken. Validéiere Kubernetes Liveness mat Bereetschaft a Liveness Tester

Loosst eis kucken wéi Bereetschaft a Viabilitéit getest ginn. Et ginn dräi Testmethoden - HTTP, Kommando an TCP. Dir kënnt jidderee vun hinnen benotzen fir ze kontrolléieren. Deen allgemengste Wee fir e Benotzer ze testen ass eng HTTP-Sonde.

Och wann Är Applikatioun keen HTTP-Server ass, kënnt Dir ëmmer nach e liichte HTTP-Server an Ärer Applikatioun erstellen fir mam Liveness-Test ze interagéieren. Duerno fänkt de Kubernetes de Pod ze pingelen, a wann d'HTTP Äntwert am 200 oder 300 ms Beräich ass, wäert et uginn datt de Pod gesond ass. Soss gëtt de Modul als "ongesond" markéiert.

Kubernetes beschten Praktiken. Validéiere Kubernetes Liveness mat Bereetschaft a Liveness Tester

Fir Kommando Tester leeft Kubernetes de Kommando an Ärem Container. Wann de Kommando mat engem Null-Ausgangscode zréckkënnt, da gëtt de Container als gesond markéiert, soss, wann Dir eng Ausgangsstatusnummer vun 1 bis 255 kritt, gëtt de Container als "Krank" markéiert. Dës Testmethod ass nëtzlech wann Dir en HTTP-Server net kann oder wëllt lafen, awer fäeg sinn e Kommando auszeféieren deen d'Gesondheet vun Ärer Applikatioun iwwerpréift.

Kubernetes beschten Praktiken. Validéiere Kubernetes Liveness mat Bereetschaft a Liveness Tester

De finalen Verifizéierungsmechanismus ass den TCP Test. Kubernetes probéiert eng TCP-Verbindung um spezifizéierte Hafen ze etabléieren. Wann dat ka gemaach ginn, gëtt de Container als gesond ugesinn; wann net, gëtt et als onliewensfäeg ugesinn. Dës Method kann nëtzlech sinn wann Dir e Szenario benotzt wou Testen mat enger HTTP-Ufro oder Kommando-Ausféierung net ganz gutt funktionnéiert. Zum Beispill, d'Haaptservicer fir d'Verifizéierung mat TCP wieren gRPC oder FTP.

Kubernetes beschten Praktiken. Validéiere Kubernetes Liveness mat Bereetschaft a Liveness Tester

Tester kënnen op verschidde Manéiere mat verschiddene Parameteren konfiguréiert ginn. Dir kënnt spezifizéieren wéi dacks se ausgefouert solle ginn, wat d'Erfollegs- an Echecschwellen sinn, a wéi laang Dir op Äntwerten waart. Fir méi Informatioun, kuckt d'Dokumentatioun fir d'Bereetschaft a Liveness Tester. Wéi och ëmmer, et gëtt e ganz wichtege Punkt beim Astelle vum Liveness Test - den initialen Astellung vun der Testverzögerung initialDelaySeconds. Wéi ech erwähnt hunn, wäert de Feeler vun dësem Test dozou féieren datt de Modul nei gestart gëtt. Also musst Dir sécher sinn datt d'Test net ufänkt bis d'Applikatioun prett ass fir ze goen, soss fänkt se mam Vëlo duerch Restarts un. Ech recommandéieren der P99 Startup Zäit oder der Moyenne Applikatioun Startup Zäit aus dem Puffer ze benotzen. Denkt drun dëse Wäert unzepassen well d'Startzäit vun Ärer Applikatioun méi séier oder méi lues gëtt.

Déi meescht Experten bestätegen datt d'Gesondheetschecken eng obligatoresch Kontroll fir all verdeelt System sinn, a Kubernetes ass keng Ausnahm. D'Benotzung vun Service Gesondheetschecken garantéiert zouverlässeg, problemfräi Operatioun vu Kubernetes an ass ouni Ustrengung fir d'Benotzer.

Ganz geschwënn weiderféieren...

Puer Annoncen 🙂

Merci datt Dir bei eis bleift. Hutt Dir eis Artikelen gär? Wëllt Dir méi interessant Inhalt gesinn? Ënnerstëtzt eis andeems Dir eng Bestellung maacht oder Frënn empfeelt, Cloud VPS fir Entwéckler vun $ 4.99, en eenzegaartegen Analog vun Entry-Level Serveren, dee vun eis fir Iech erfonnt gouf: Déi ganz Wourecht iwwer VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps vun $19 oder wéi een e Server deelt? (verfügbar mat RAID1 an RAID10, bis zu 24 Kären a bis zu 40GB DDR4).

Dell R730xd 2 Mol méi bëlleg an Equinix Tier IV Daten Zentrum zu Amsterdam? Nëmmen hei 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV vun $199 an Holland! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - vun $99! Liest iwwer Wéi bauen ech Infrastructure Corp. Klass mat der Benotzung vun Dell R730xd E5-2650 v4 Serveren Wäert 9000 Euro fir e Penny?

Source: will.com

Setzt e Commentaire