Lapisan kontrol jarak jauh ASM men-deploy komponen lapisan kontrol Alibaba Cloud Service Mesh (ASM) ke kluster non-Alibaba Cloud. Proxy sidecar di kluster tersebut kemudian terhubung langsung ke lapisan kontrol jarak jauh, sehingga meningkatkan efisiensi pengiriman konfigurasi dan mengurangi latensi push.
Kapan menggunakan lapisan kontrol jarak jauh ASM
Penerapan lapisan kontrol jarak jauh bergantung pada lokasi kluster bidang data Anda:
-
Kluster bidang data di VPC Alibaba Cloud — Beban kerja bidang data terhubung langsung ke lapisan kontrol ASM yang dikelola melalui virtual private cloud (VPC) Alibaba Cloud. Dengan latensi jaringan rendah dan pengiriman konfigurasi lapisan kontrol yang lancar, lapisan kontrol jarak jauh tidak diperlukan.
-
Kluster bidang data di layanan cloud lain atau pusat data lokal — Kluster ini terhubung ke lapisan kontrol ASM melalui Internet atau metode khusus lainnya, yang mungkin tidak stabil atau memiliki bandwidth terbatas. Gunakan lapisan kontrol jarak jauh ASM untuk mengurangi latensi push.
Lapisan kontrol jarak jauh juga mengubah cara Anda mengoperasikan mesh: mengganti file kubeconfig yang digunakan untuk resource mesh, mengharuskan fitur ASM tertentu dinonaktifkan, serta memicu restart gerbang ASM di kluster. Tinjau Pertimbangan sebelum mengambil keputusan.
Cara kerja
Gambar berikut menunjukkan arsitektur keseluruhan lapisan kontrol jarak jauh ASM.
Jika semua Pod di kluster non-Alibaba Cloud terhubung langsung ke lapisan kontrol ASM yang dikelola, jumlah koneksi jaringan dan penggunaan bandwidth antara lapisan kontrol yang dikelola dan kluster akan meningkat seiring bertambahnya jumlah Pod. Jika perubahan konfigurasi atau layanan terjadi secara sering, latensi push kemungkinan besar akan terjadi.
Setelah menggunakan lapisan kontrol jarak jauh ASM, lapisan kontrol jarak jauh mendorong konfigurasi ke proxy sidecar di kluster tersebut. Hanya tersisa sejumlah kecil koneksi jaringan antara lapisan kontrol ASM dan kluster non-Alibaba Cloud, yang digunakan untuk mengirimkan komponen lapisan kontrol dan mendukung penemuan layanan. Hal ini secara signifikan mengurangi ketergantungan pada jaringan berlatensi rendah dan bandwidth tinggi serta meningkatkan efisiensi pengiriman konfigurasi.
Pertimbangan
Sebelum mengaktifkan lapisan kontrol jarak jauh ASM, pertimbangkan hal-hal berikut:
-
File kubeconfig untuk resource mesh — Setelah menggunakan lapisan kontrol jarak jauh ASM, Anda harus membuat resource Kubernetes yang terkait dengan service mesh menggunakan file kubeconfig instans ASM. Jika menggunakan file kubeconfig kluster non-Alibaba Cloud, resource tersebut berisiko ditimpa.
-
Fitur saling eksklusif — Lapisan kontrol jarak jauh ASM bentrok dengan fitur Use the Kubernetes API of clusters on the data plane to access Istio resources. Pastikan fitur ini telah dinonaktifkan sebelum mengaktifkan lapisan kontrol jarak jauh.
-
Arah akses antar-kluster — Akses antara beban kerja pada lapisan kontrol yang dikelola dan layanan pada lapisan kontrol jarak jauh bersifat satu arah secara default. Untuk aturan lengkap dan opsi yang tersedia, lihat Akses lintas kluster.
Setelah beralih ke lapisan kontrol jarak jauh, gerbang ASM di kluster akan melakukan restart. Evaluasi dampaknya sebelum menjalankan operasi ini.
Prasyarat
-
Instans ASM versi 1.22 atau lebih baru telah dibuat. Untuk informasi selengkapnya, lihat Create an ASM instance.
-
Dua kluster bidang data telah ditambahkan ke instans ASM. Untuk informasi selengkapnya, lihat Add clusters to an ASM instance. Contoh dalam topik ini menggunakan dua kluster berikut:
-
cluster-1: kluster Alibaba Cloud Container Service for Kubernetes (ACK) yang proxy sidecar-nya dapat terhubung langsung ke lapisan kontrol ASM.
-
cluster-2: kluster non-Alibaba Cloud yang digunakan dalam topik ini. Proxy sidecar-nya tidak dapat terhubung langsung ke lapisan kontrol ASM, atau konektivitas jaringannya terbatas. cluster-2 dapat berupa registered cluster eksternal atau kluster jarak jauh. Untuk informasi selengkapnya tentang cara menambahkan kluster non-Alibaba Cloud ke instans ASM, lihat Manage registered cluster applications through ASM atau Add a Kubernetes cluster by importing kubeconfig.
-
Langkah 1: Aktifkan lapisan kontrol jarak jauh
-
Gunakan file kubeconfig instans ASM dan jalankan perintah berikut untuk mengedit resource ASMMeshConfig:
kubectl edit ASMMeshconfig -
Tambahkan konfigurasi
.spec.externalIstiodConfigurationsberikut ke resource ASMMeshConfig:apiVersion: istio.alibabacloud.com/v1beta1 kind: ASMMeshConfig metadata: name: default spec: # Bidang lain yang sudah ada di bawah spec dihilangkan di sini. externalIstiodConfigurations: ${ClusterID of cluster-2}: replicas: 2 # Konfigurasi resources juga didukung di sini. Struktur bidangnya sama dengan konfigurasi resource Pod. Jika dibiarkan kosong, konfigurasi default yang disediakan oleh ASM akan digunakan.Sebelum menerapkan perubahan ini, tinjau Pertimbangan.
Langkah 2: Deploy aplikasi dan jalankan pengujian
-
Deploy aplikasi sleep dan aplikasi httpbin ke cluster-2. Untuk petunjuknya, lihat Deploy the httpbin application.
-
Gunakan file kubeconfig cluster-2 dan jalankan perintah berikut:
kubectl get podOutput yang diharapkan:
NAME READY STATUS RESTARTS AGE httpbin-7df7fxxxxx-xxxxx 2/2 Running 0 3h15m sleep-6b7f9xxxxx-xxxxx 2/2 Running 0 3h15mProxy sidecar disuntikkan ke kedua Pod, dan kedua Pod berada dalam status Running.
-
Jalankan perintah berikut untuk mengakses httpbin dari aplikasi sleep:
kubectl exec deploy/sleep -it -- curl httpbin:8000/status/418Output yang diharapkan:
-=[ teapot ]=- _...._ .' _ _ `. | ."` ^ `". _, \_;`"---"`|// | ;/ \_ _/ `"""`
Akses lintas kluster
ASM menyediakan penemuan layanan global. Secara default, akses antara kedua lapisan kontrol bersifat satu arah. Beban kerja yang dikelola oleh lapisan kontrol ASM yang dikelola dapat mengakses layanan yang dikelola oleh lapisan kontrol jarak jauh. Namun, layanan yang dikelola oleh lapisan kontrol jarak jauh tidak dapat mengakses layanan yang dikelola oleh lapisan kontrol yang dikelola. Panggilan dari lapisan kontrol yang dikelola ke lapisan kontrol jarak jauh menggunakan mTLS secara default, dan gerbang timur-barat ASM juga didukung.
Jika tidak dilakukan tindakan apa pun, perilaku akses default ini tetap berlaku. Jika diperlukan, pilih salah satu opsi berikut:
-
Akses mutual tidak diperlukan — Gunakan fitur retensi trafik intra-kluster lokal. Untuk informasi selengkapnya, lihat Enable ASM local intra-cluster traffic retention feature in multi-cluster scenarios.
-
Akses mutual diperlukan — Untuk petunjuknya, lihat Achieve mutual access between remote control plane and managed control plane workloads.