Yen sampeyan kaya umume wong, sampeyan bisa uga nggunakake sumber daya sing ana ing njaba klompok sampeyan. Mbok menawa sampeyan nggunakake Taleo API kanggo ngirim pesen teks utawa nganalisa gambar nganggo Google Cloud Vision API.
Yen sampeyan nggunakake titik pungkasan sing padha - titik panrima panyuwunan sisih server - ing kabeh lingkungan sampeyan lan ora ngrencanakake migrasi server menyang Kubernetes, mesthine duwe titik pungkasan layanan ing kode sampeyan. Nanging, ana akeh skenario liyane sing bisa kedadeyan. Ing seri Kubernetes Best Practices iki, sampeyan bakal sinau carane nggunakake mekanisme internal Kubernetes kanggo nemokake layanan ing njero lan njaba kluster sampeyan.
Conto layanan eksternal umum yaiku database sing mlaku ing njaba kluster Kubernetes. Ora kaya database maya kaya Google Cloud Data Store utawa Google Cloud Spanner, sing nggunakake titik pungkasan siji kanggo kabeh akses, umume database duwe titik pungkasan sing kapisah kanggo kahanan sing beda-beda.
Praktek paling apik kanggo basis data tradisional kaya MySQL lan MongoDB yaiku sampeyan biasane nyambung menyang komponen sing beda kanggo lingkungan sing beda. Sampeyan bisa uga duwe mesin gedhe kanggo data produksi lan mesin sing luwih cilik kanggo lingkungan tes. Saben bakal duwe alamat IP utawa jeneng domain sing beda, nanging sampeyan bisa uga ora pengin ngganti kode nalika pindhah saka siji lingkungan menyang lingkungan liyane. Dadi, tinimbang ngode alamat kasebut, sampeyan bisa nggunakake panemuan layanan eksternal basis DNS sing dibangun ing Kubernetes, kaya sing sampeyan gunakake kanggo layanan Kubernetes asli.

Contone, sampeyan nggunakake basis data MongoDB ing Google Compute Engine. Sampeyan bakal macet ing jagad hibrida iki nganti sampeyan bisa pindhah menyang kluster.
Untunge, sampeyan bisa nggunakake layanan statis Kubernetes kanggo nggawe urip luwih gampang. Ing conto iki, aku nggawe server MongoDB nggunakake Google Cloud Launcher. Wiwit digawe ing jaringan sing padha (utawa VPC) saka kluster Kubernetes, bisa diakses liwat alamat IP internal kanthi kinerja dhuwur.

Ing Google Cloud, iki minangka setelan gawan, dadi sampeyan ora perlu ngatur apa-apa. Saiki sampeyan duwe alamat IP, langkah pisanan yaiku nggawe layanan. Sampeyan bakal weruh yen ora ana pamilih pod kanggo layanan iki. Yaiku, kita wis nggawe layanan sing ora ngerti ngendi ngirim lalu lintas. Iki bakal ngidini sampeyan nggawe obyek endpoint kanthi manual sing bakal nampa lalu lintas saka layanan iki.

Conto kode ing ngisor iki nuduhake yen titik pungkasan nemtokake alamat IP kanggo database nggunakake jeneng mongo sing padha karo layanan kasebut.

Kubernetes bakal nggunakake kabeh alamat IP kanggo nemokake endpoint kaya-kaya polong Kubernetes biasa, supaya sampeyan saiki bisa ngakses database kanthi string sambungan prasaja menyang mongodb: // jeneng mongo ing ndhuwur. Ora perlu nggunakake alamat IP ing kode sampeyan.
Yen alamat IP diganti ing mangsa ngarep, sampeyan mung bisa nganyari titik pungkasan nganggo alamat IP anyar lan aplikasi sampeyan ora perlu diowahi kanthi cara tambahan.
Yen sampeyan nggunakake basis data sing di-host ing host pihak katelu, pemilik inang mesthi bakal menehi sampeyan URI kanggo nyambungake. Dadi yen sampeyan diwenehi alamat IP, sampeyan mung bisa nggunakake cara sadurunge. Conto iki nuduhake yen aku duwe rong database MongoDB sing di-host ing mLab inang.

Salah sijine yaiku database dev, lan liyane yaiku database produksi. Senar sambungan kanggo basis data kasebut kaya ing ngisor iki - mLab menehi URI dinamis lan port dinamis. Nalika sampeyan bisa ndeleng, padha beda.

Kanggo abstrak iki, kita bakal nggunakake Kubernetes lan nyambung menyang database pangembang. Sampeyan bisa nggawe jeneng layanan Kubernetes eksternal, sing bakal menehi layanan statis sing bakal nerusake lalu lintas menyang layanan eksternal.

Layanan iki bakal nindakake pangalihan CNAME sing prasaja ing tingkat kernel, sing bakal duwe pengaruh minimal ing kinerja. Iki ngidini sampeyan nggunakake senar sambungan sing luwih prasaja.
![]()
Nanging amarga jeneng eksternal nggunakake CNAME forwarding, ora bisa nindakake port forwarding. Dadi solusi iki mung ditrapake kanggo port statis lan ora bisa digunakake karo port dinamis. Nanging mLab Free Tier nyedhiyakake nomer port dinamis kanggo pangguna kanthi standar lan sampeyan ora bisa ngganti. Iki tegese sampeyan butuh baris perintah sambungan sing beda kanggo dev lan prod. Ing bab ala iku sampeyan kudu hardcode nomer port. Dadi kepiye carane nggawe port forwarding bisa digunakake?
Langkah pisanan yaiku njupuk alamat IP saka URI. Yen sampeyan mbukak nslookup, hostname, utawa ping URI, sampeyan bisa entuk alamat IP database. Yen layanan ngasilake pirang-pirang alamat IP, sampeyan bisa nggunakake kabeh alamat kasebut ing titik pungkasan obyek.

Penting kanggo elinga yen alamat IP URI bisa diganti tanpa kabar, saengga cukup beboyo kanggo digunakake ing prod. Nggunakake alamat IP kasebut, sampeyan bisa nyambung menyang database remot tanpa nemtokake port. Mangkono, layanan Kubernetes nindakake port reassignment cukup transparan.

Pemetaan, utawa cocog sumber eksternal karo internal, menehi sampeyan keluwesan kanggo nggunakake layanan iki ing kluster ing mangsa nalika minimalake refactoring efforts . Iku uga nggawe luwih gampang kanggo ngatur lan ngerti layanan eksternal apa sing digunakake perusahaan sampeyan.
Diterusake kanthi cepet ...

Sawetara iklan 🙂
Matur nuwun kanggo tetep karo kita. Apa sampeyan seneng karo artikel kita? Pengin ndeleng konten sing luwih menarik? Ndhukung kita kanthi nggawe pesenan utawa menehi rekomendasi menyang kanca, , analog unik saka server level entri, sing diciptakake kanggo sampeyan: (kasedhiya karo RAID1 lan RAID10, munggah 24 intine lan nganti 40GB DDR4).
Dell R730xd 2 kaping luwih murah ing pusat data Equinix Tier IV ing Amsterdam? Mung kene ing Walanda! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - saka $99! Maca babagan
Source: www.habr.com
