Kubernetes beschten Praktiken. Mapping vun externen Servicer

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
Kubernetes beschten Praktiken. Ressource Ufroen a Limiten opzestellen
Kubernetes beschten Praktiken. Korrekt Ausschalten Ofschloss

Wann Dir wéi déi meescht Leit sidd, benotzt Dir wahrscheinlech Ressourcen déi ausserhalb vun Ärem Cluster lafen. Vläicht benotzt Dir d'Taleo API fir SMSen ze schécken, oder analyséiert Biller mat der Google Cloud Vision API.

Wann Dir dee selwechte Server-Säit Ufro Endpunkt an all Ären Ëmfeld benotzt an net plangt Är Serveren op Kubernetes ze migréieren, dann ass et perfekt fir e Service Endpunkt direkt an Ärem Code ze hunn. Wéi och ëmmer, et gi vill aner Szenarie fir d'Entwécklung vun Eventer. An dëser Kubernetes Best Practices Serie léiert Dir wéi Dir déi agebaute Mechanismen vu Kubernetes benotzt fir Servicer souwuel bannen wéi ausserhalb vum Cluster z'entdecken.

E Beispill vun engem gemeinsamen externen Service ass eng Datebank ausserhalb vun engem Kubernetes Cluster. Am Géigesaz zu Cloud Datenbanken wéi Google Cloud Data Store oder Google Cloud Spanner, déi en eenzegen Endpunkt fir all Zougang benotzen, hunn déi meescht Datenbanken separat Endpunkte fir verschidden Ëmstänn.
Beschte Praktiken fir traditionell Datenbanken wéi MySQL a MongoDB ze benotzen bedeit normalerweis datt Dir mat verschiddene Komponenten fir verschidden Ëmfeld verbënnt. Dir kënnt eng grouss Maschinn fir Produktiounsdaten hunn an eng méi kleng Maschinn fir d'Testëmfeld. Jidderee vun hinnen wäert seng eege IP Adress oder Domain Numm hunn, awer Dir wëllt Äre Code wahrscheinlech net änneren wann Dir vun engem Ëmfeld an en anert plënnert. Also amplaz dës Adressen ze hardcodéieren, kënnt Dir Kubernetes 'built-in DNS-baséiert extern Service Entdeckung op déiselwecht Manéier wéi gebierteg Kubernetes Servicer benotzen.

Kubernetes beschten Praktiken. Mapping vun externen Servicer

Loosst eis soen datt Dir eng MongoDB Datebank op Google Compute Engine leeft. Dir wäert an dëser Hybrid Welt hänke bleiwen bis Dir et fäerdeg bréngt et an de Cluster ze transferéieren.

Glécklecherweis kënnt Dir statesch Kubernetes Servicer benotzen fir Äert Liewen e bësse méi einfach ze maachen. An dësem Beispill hunn ech e MongoDB Server erstallt mat Google Cloud Launcher. Well et am selwechte Netzwierk (oder Kubernetes Cluster VPC) erstallt gëtt, gëtt et mat enger performanter interner IP Adress zougänglech.

Kubernetes beschten Praktiken. Mapping vun externen Servicer

Dëst ass d'Standardastellung op Google Cloud, also musst Dir näischt konfiguréieren. Elo datt Dir eng IP Adress hutt, ass den éischte Schrëtt e Service ze kreéieren. Dir kënnt bemierken datt et keng Podselektorer fir dëse Service gëtt. Dat ass, mir hunn e Service erstallt deen net wësse wou de Traffic schéckt. Dëst erlaabt Iech manuell en Endpunktobjekt ze kreéieren deen Traffic vun dësem Service kritt.

Kubernetes beschten Praktiken. Mapping vun externen Servicer

Déi folgend Code Beispill weist datt d'Endpunkte d'IP Adress fir d'Datebank bestëmmen mat dem selwechte Mongo Numm wéi de Service.

Kubernetes beschten Praktiken. Mapping vun externen Servicer

Kubernetes wäert all IP Adressen benotzen fir Endpunkte ze fannen, wéi wa se regelméisseg Kubernetes Pods wieren, also kënnt Dir op d'Datebank mat engem einfache Verbindungsstring op den uewe genannte Numm mongodb: // mongo. Et ass guer net néideg IP Adressen an Ärem Code ze benotzen.

Wann d'IP Adressen an Zukunft änneren, kënnt Dir Är Endpunkte einfach mat der neier IP Adress aktualiséieren an Är Uwendungen mussen net op eng zousätzlech Manéier geännert ginn.

Wann Dir eng Datebank benotzt, déi op engem Drëtt-Partei-Host gehost gëtt, ass et wahrscheinlech datt d'Besëtzer vum Host Iech eng Uniform Resource Identifier URI zur Verfügung gestallt hunn fir matzemaachen. Also wann Dir eng IP Adress kritt hutt, kënnt Dir einfach déi viregt Method benotzen. Dëst Beispill weist datt ech zwee MongoDB Datenbanken op engem mLab Host gehost hunn.

Kubernetes beschten Praktiken. Mapping vun externen Servicer

Eent ass d'Entwéckler Datebank an déi aner ass d'Produktioun Datebank. D'Verbindungsstringe fir dës Datenbanken kucken esou aus - mLab bitt Iech eng dynamesch URI an en dynamesche Port. Wéi Dir gesitt, si se anescht.

Kubernetes beschten Praktiken. Mapping vun externen Servicer

Fir dëst ewech ze abstrakt, loosst eis Kubernetes benotzen a Verbindung mat der Entwéckler Datebank. Dir kënnt en externen Kubernetes Servicenumm erstellen, deen Iech e statesche Service gëtt deen den Traffic op den externen Service weidergeleet.

Kubernetes beschten Praktiken. Mapping vun externen Servicer

Dëse Service wäert einfach CNAME Forwarding um Kernelniveau mat minimalem Leeschtungsimpakt ausféieren. Dank dësem kënnt Dir eng méi einfach Verbindungsstring benotzen.

Kubernetes beschten Praktiken. Mapping vun externen Servicer

Mä well den externen Numm benotzt CNAME Forwarding, et kann net port Forwarding Leeschtunge. Dofir ass dës Léisung nëmme fir statesch Ports applicabel a kann net mat dynamesche Ports benotzt ginn. Awer mLab Free Tier gëtt dem Benotzer eng dynamesch Portnummer par défaut an Dir kënnt et net änneren. Dëst bedeit datt Dir verschidde Verbindungsbefehllinne fir Dev a Prod braucht. Déi schlecht Saach ass datt dëst Iech erfuerdert d'Portnummer ze hardcode. Also wéi kritt Dir Port Forwarding fir ze schaffen?

Den éischte Schrëtt ass d'IP Adress vun der URI ze kréien. Wann Dir nslookup, Hostnumm oder den URI pingt, kënnt Dir d'IP Adress vun der Datebank kréien. Wann de Service Iech e puer IP Adressen zréckginn, da kënnen all dës Adressen um Enn vum Objet benotzt ginn.

Kubernetes beschten Praktiken. Mapping vun externen Servicer

Eng Saach fir am Kapp ze halen ass datt IP URIs ouni Préavis änneren kënnen, sou datt se zimmlech riskant sinn fir a Prod ze benotzen. Mat dëser IP Adress kënnt Dir mat enger Remote-Datebank verbannen ouni e Port ze spezifizéieren. Sou mécht de Kubernetes Service Port Forwarding ganz transparent.

Kubernetes beschten Praktiken. Mapping vun externen Servicer

Mapping, oder Kartéierung vun externe Ressourcen op intern, gëtt Iech d'Flexibilitéit fir dës Servicer am Cluster an Zukunft ze benotzen, wärend d'Refaktoréierungsefforten minimiséieren. Et mécht et och méi einfach ze verwalten an Asiicht ze ginn a wéi eng extern Servicer Är Firma benotzt.

Ganz geschwënn weiderféieren...

Spillt Video

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

Kaaft zouverlässeg Hosting fir Site mat DDoS Schutz, VPS VDS Server 🔥 Kaaft zouverléissegt Websäithosting mat DDoS-Schutz, VPS VDS Server | ProHoster