Labing maayo nga mga gawi sa Kubernetes. Pagmapa sa mga serbisyo sa gawas

Mga Kinamaayohang Gawi sa Kubernetes. Paghimo og Gagmay nga mga Kontainer
Mga Kinamaayohang Gawi sa Kubernetes. Kubernetes nga organisasyon nga adunay namespace
Mga Kinamaayohang Gawi sa Kubernetes. Pagsusi sa Panglawas sa Kubernetes gamit ang Pag-andam ug Pagsulay sa Liveness
Mga Kinamaayohang Gawi sa Kubernetes. Pagtakda sa mga hangyo ug limitasyon sa kapanguhaan
Mga Kinamaayohang Gawi sa Kubernetes. Husto nga pagsira Tapuson

Kung sama ka sa kadaghanan sa mga tawo, lagmit naggamit ka mga kapanguhaan nga naa sa gawas sa imong cluster. Tingali imong gigamit ang Taleo API sa pagpadala og mga text message, o pag-analisar sa mga hulagway gamit ang Google Cloud Vision API.

Kung mogamit ka sa parehas nga server-side nga hangyo nga endpoint sa tanan nimo nga mga palibot ug wala magplano nga ibalhin ang imong mga server sa Kubernetes, nan maayo nga adunay usa ka endpoint sa serbisyo sa imong code. Bisan pa, adunay daghang uban pang mga senaryo alang sa pag-uswag sa mga panghitabo. Niining serye sa Kubernetes Best Practices, makakat-on ka kung unsaon paggamit ang mga built-in nga mekanismo sa Kubernetes aron madiskubre ang mga serbisyo sa sulod ug gawas sa cluster.

Usa ka pananglitan sa usa ka komon nga eksternal nga serbisyo mao ang usa ka database nga nagdagan sa gawas sa usa ka Kubernetes cluster. Dili sama sa mga database sa panganod sama sa Google Cloud Data Store o Google Cloud Spanner, nga naggamit sa usa ka endpoint alang sa tanan nga pag-access, kadaghanan sa mga database adunay lahi nga mga endpoint alang sa lainlaing mga kahimtang.
Ang labing maayo nga mga gawi sa paggamit sa tradisyonal nga mga database sama sa MySQL ug MongoDB kasagaran nagpasabut nga nagkonektar ka sa lainlaing mga sangkap alang sa lainlaing mga palibot. Mahimo kang adunay usa ka dako nga makina alang sa datos sa produksiyon ug usa ka gamay nga makina alang sa pagsulay nga palibot. Ang matag usa kanila adunay kaugalingon nga IP address o domain name, apan dili nimo gusto nga usbon ang imong code kung mobalhin gikan sa usa ka palibot ngadto sa lain. Mao nga imbes nga hard-coding kini nga mga adres, mahimo nimong gamiton ang built-in nga DNS-based nga eksternal nga pagdiskobre sa serbisyo sa Kubernetes sa parehas nga paagi sa mga serbisyo sa lumad nga Kubernetes.

Labing maayo nga mga gawi sa Kubernetes. Pagmapa sa mga serbisyo sa gawas

Ingnon ta nga nagpadagan ka og database sa MongoDB sa Google Compute Engine. Ma-stuck ka sa kini nga hybrid nga kalibutan hangtod nga madumala nimo ang pagbalhin niini sa cluster.

Maayo na lang, mahimo nimong gamiton ang mga static nga serbisyo sa Kubernetes aron mapadali ang imong kinabuhi. Niini nga pananglitan, naghimo ko og MongoDB server gamit ang Google Cloud Launcher. Tungod kay gihimo kini sa parehas nga network (o Kubernetes cluster VPC), gi-access kini gamit ang usa ka high-performance internal IP address.

Labing maayo nga mga gawi sa Kubernetes. Pagmapa sa mga serbisyo sa gawas

Kini ang default nga setting sa Google Cloud, mao nga dili nimo kinahanglan nga i-configure ang bisan unsang butang. Karon nga ikaw adunay IP address, ang unang lakang mao ang paghimo og serbisyo. Mahimo nimong mamatikdan nga walay mga tigpili pod alang niini nga serbisyo. Sa ato pa, naghimo kami usa ka serbisyo nga dili mahibal-an kung asa ipadala ang trapiko. Makatugot kini kanimo nga mano-mano ang paghimo og endpoint nga butang nga makadawat sa trapiko gikan niini nga serbisyo.

Labing maayo nga mga gawi sa Kubernetes. Pagmapa sa mga serbisyo sa gawas

Ang mosunod nga pananglitan sa code nagpakita nga ang mga endpoint nagtino sa IP address alang sa database gamit ang parehas nga mongo nga ngalan sa serbisyo.

Labing maayo nga mga gawi sa Kubernetes. Pagmapa sa mga serbisyo sa gawas

Gagamiton sa Kubernetes ang tanang IP address para mangita og mga endpoint nga murag regular nga Kubernetes Pods, mao nga ma-access na nimo ang database gamit ang usa ka simple nga connection string sa ibabaw nga ngalan mongodb://mongo. Dili na kinahanglan nga gamiton ang mga IP address sa imong code.

Kung ang mga IP address mausab sa umaabot, mahimo nimong i-update ang imong mga endpoint gamit ang bag-ong IP address ug ang imong mga aplikasyon dili kinahanglan nga usbon sa bisan unsang dugang nga paagi.

Kung naggamit ka usa ka database nga gi-host sa usa ka ikatulo nga partido nga host, lagmit nga ang mga tag-iya sa host naghatag kanimo usa ka Uniform Resource Identifier URI aron makonektar. Mao nga kung gihatagan ka usa ka IP address, mahimo nimong gamiton ang miaging pamaagi. Kini nga pananglitan nagpakita nga ako adunay duha ka MongoDB databases nga gi-host sa usa ka mLab host.

Labing maayo nga mga gawi sa Kubernetes. Pagmapa sa mga serbisyo sa gawas

Ang usa mao ang database sa developer ug ang lain mao ang database sa produksiyon. Ang mga kuwerdas sa koneksyon alang sa kini nga mga database sama niini - ang mLab naghatag kanimo usa ka dinamikong URI ug usa ka dinamikong pantalan. Sama sa imong makita, lahi sila.

Labing maayo nga mga gawi sa Kubernetes. Pagmapa sa mga serbisyo sa gawas

Aron makuha kini, gamiton nato ang Kubernetes ug magkonektar sa database sa developer. Makahimo ka ug eksternal nga ngalan sa serbisyo sa Kubernetes, nga maghatag kanimo ug usa ka static nga serbisyo nga magpasa sa trapiko sa gawas nga serbisyo.

Labing maayo nga mga gawi sa Kubernetes. Pagmapa sa mga serbisyo sa gawas

Kini nga serbisyo maghimo ug yano nga pagpasa sa CNAME sa lebel sa kernel nga adunay gamay nga epekto sa pasundayag. Salamat niini nga imong mahimo sa paggamit sa usa ka yano nga koneksyon string.

Labing maayo nga mga gawi sa Kubernetes. Pagmapa sa mga serbisyo sa gawas

Apan tungod kay ang eksternal nga ngalan naggamit sa CNAME forwarding, kini dili makahimo sa port forwarding. Busa, kini nga solusyon magamit lamang sa mga static nga pantalan ug dili magamit sa dinamikong mga pantalan. Apan ang mLab Free Tier naghatag sa tiggamit og dinamikong numero sa port nga default ug dili nimo kini usbon. Kini nagpasabut nga kinahanglan nimo ang lainlaing mga linya sa mando sa koneksyon alang sa dev ug prod. Ang dili maayo nga butang mao nga kinahanglan nimo nga i-hardcode ang numero sa port. Busa unsaon nimo pagkuha sa port forwarding aron magtrabaho?

Ang unang lakang mao ang pagkuha sa IP address gikan sa URI. Kung nagpadagan ka sa nslookup, hostname, o ping sa URI, makuha nimo ang IP address sa database. Kung ang serbisyo nagbalik sa daghang mga adres sa IP kanimo, nan ang tanan niini nga mga adres mahimong magamit sa mga endpoint sa butang.

Labing maayo nga mga gawi sa Kubernetes. Pagmapa sa mga serbisyo sa gawas

Usa ka butang nga hinumdoman mao nga ang mga IP URI mahimong magbag-o nga wala’y pahibalo, nga naghimo kanila nga peligro nga gamiton sa prod. Gamit kini nga IP address, mahimo kang makonektar sa usa ka hilit nga database nga wala magpiho sa usa ka pantalan. Busa, ang serbisyo sa Kubernetes naghimo sa port forwarding nga klaro kaayo.

Labing maayo nga mga gawi sa Kubernetes. Pagmapa sa mga serbisyo sa gawas

Ang pagmapa, o pagmapa sa gawas nga mga kahinguhaan ngadto sa mga internal, naghatag kanimo sa pagka-flexible sa paggamit niini nga mga serbisyo sulod sa cluster sa umaabot samtang gipamenos ang mga paningkamot sa refactoring. Gipasayon ​​usab niini ang pagdumala ug paghatag og pagsabot sa mga serbisyo sa gawas nga gigamit sa imong kompanya.

Ipadayon sa dili madugay...

Pipila ka mga ad πŸ™‚

Salamat sa pagpabilin kanamo. Ganahan ka ba sa among mga artikulo? Gusto nga makakita og mas makapaikag nga sulod? Suportahi kami pinaagi sa pag-order o pagrekomenda sa mga higala, cloud VPS alang sa mga developers gikan sa $4.99, usa ka talagsaon nga analogue sa mga entry-level server, nga giimbento namo alang kanimo: Ang tibuok kamatuoran bahin sa VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps gikan sa $19 o unsaon pagpaambit sa usa ka server? (anaa sa RAID1 ug RAID10, hangtod sa 24 ka mga core ug hangtod sa 40GB DDR4).

Dell R730xd 2 ka beses nga mas barato sa Equinix Tier IV data center sa Amsterdam? Dinhi lang 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV gikan sa $199 sa Netherlands! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - gikan sa $99! Basaha ang mahitungod sa Unsaon pagtukod sa infrastructure corp. klase sa paggamit sa Dell R730xd E5-2650 v4 server nga nagkantidad ug 9000 euros sa usa ka sentimos?

Source: www.habr.com

Idugang sa usa ka comment