Pod IP, ClusterIP atau penyeimbang beban dalaman untuk pengguna VPN
Pod IP boleh dihalakan melalui VPN sehingga Pod diganti. Bandingkan akses terus ke Pod, ClusterIP dan penyeimbang dalaman, serta kos setiap satu kepada anda.
Dengan VPC CNI, Pod boleh memegang alamat daripada VPC, dan pengguna VPN dengan laluan yang betul boleh mencapainya secara terus. Itu menjadikan akses terus ke Pod kelihatan pilihan paling mudah, dan memang begitu, sehingga Pod diganti. Alamat yang diingati pengguna sepatutnya milik aplikasi, bukan milik replika. Perbandingan tiga pintu masuk akhirnya tertumpu pada objek mana yang memiliki alamat itu dan apa yang mesti terus berfungsi apabila beban kerja berpindah.
Pilih dahulu mengikut kitaran hayat, kemudian mengikut apa yang rangkaian mesti lakukan untuk menjadikan pintu masuk boleh dicapai.
Tiga pintu masuk, tiga kitaran hayat
Pod IP dimiliki oleh Pod: ia diperuntukkan bersamanya dan dilepaskan apabila ia tamat. ClusterIP dimiliki oleh Service dan bersifat maya, ia hanya bermakna di tempat perhalakan perkhidmatan kluster wujud. Penyeimbang beban dalaman dimiliki oleh sumber awan yang diprogramkan pengawal kluster dengan backend. Model pemilikan itu meramalkan kegagalan yang akan anda dapat: alamat lapuk, nama yang tidak dapat dicapai, atau set backend yang sudah lapuk.
Tuliskan perbandingan sebelum memilih. Setelah pemilik dan kegagalan dinamakan, pilihan biasanya membuat dirinya sendiri.
| Entry | Owner | Failure when the workload moves |
|---|---|---|
| Pod IP | The Pod | Address changes and saved links break |
| ClusterIP | The Service | Virtual address with no meaning outside cluster routing |
| Internal balancer | Cloud resource plus controller | Backends update, but the DNS view is yours to maintain |
Akses terus ke Pod: berguna, sementara
Akses terus benar-benar berguna untuk pemeriksaan terkawal: seorang pentadbir, satu sesi pendek, satu port tertentu. Tetapi ia kontrak yang buruk untuk pengguna, kerana alamat ialah butiran pelaksanaan yang berubah pada setiap penggunaan. Dan merekodkannya dalam wiki ialah cara perkhidmatan yang berfungsi bertukar menjadi khabar angin.
Ia juga mengundang peraturan yang luas. Kebenaran untuk seorang pentadbir mencapai satu Pod bukan kebenaran untuk setiap alamat dalam subrangkaian nod, dan yang kedua itulah yang biasanya ditulis.
ClusterIP: terhad kepada kluster mengikut reka bentuk
ClusterIP berfungsi kerana satah data kluster memprogramkan perhalakan untuknya di dalam kluster. Daripada komputer riba di VPN alamat itu tidak bermakna apa-apa kecuali sesuatu mendedahkannya dengan sengaja. Nama yang berakhir dengan svc.cluster.local milik DNS kluster, jadi menyalinnya ke klien dengan penyelesai lain menghasilkan nama yang tidak wujud dan bukannya ralat perhalakan.
ClusterIP kekal sebagai pintu masuk yang betul untuk pemanggil di dalam kluster, termasuk beban kerja lain. Ia semata-mata bukan mekanisme penerbitan untuk pengguna di luar domain perhalakan kluster.
Penyeimbang beban dalaman: laluan yang diterbitkan
Penyeimbang beban dalaman memberi anda alamat peribadi yang stabil dan nama yang boleh dituju oleh zon anda sendiri, sementara pengawal mengekalkan set backend terkini, seperti yang diterangkan panduan pengimbangan beban EKS. Itulah pintu masuk yang bertahan daripada penggantian Pod biasa tanpa sesiapa menyunting dokumen. Kosnya ialah sumber awan, konfigurasi pengawal dan laluan daripada VPN, dan bahagian itulah yang orang ramai memandang rendah.
Gunakan model pengawal yang benar-benar dijalankan oleh kluster. Anotasi yang ditulis untuk satu integrasi tidak terpakai kepada yang lain.
Siapa alamat sumber
Kumpulan keselamatan melihat sumber yang tiba di sempadannya, dan itu mungkin klien yang disambungkan atau alamat yang diterjemahkan bergantung pada laluan VPN dan pengimbangan beban. Pada nod berasaskan EC2, Pod VPC CNI biasa mewarisi kumpulan ENI nod secara lalai, manakala konfigurasi yang disokong boleh melampirkan kumpulan khusus Pod. Tulis peraturan untuk laluan yang didokumenkan dan bukan untuk alamat komputer riba yang diandaikan.
Kekalkan pendengar dan pengesahan aplikasi itu sendiri sebagai kawalan berasingan. Peraturan rangkaian yang membenarkan aliran itu bukan keputusan kebenaran dan tidak sepatutnya dianggap sedemikian.
Apa yang hendak diberikan kepada pengguna
Berikan nama perkhidmatan kepada pengguna, bukan alamat. Terbitkan nama itu di zon peribadi, halakan kepada pintu masuk dalaman, kemudian uji dengan menggantikan Pod backend sementara klien membiarkan nama yang sama terbuka. Latihan itu menguji sifat yang penting: mencapai aplikasi yang sama selepas penggunaan rutin.
Kekalkan akses terus ke Pod sebagai pengecualian operasi yang didokumenkan dengan skopnya sendiri, jauh daripada arahan untuk pengguna.