ASM memungkinkan Anda melakukan operasi membuat, membaca, memperbarui, dan menghapus (CRUD) pada resource Istio melalui Kubernetes API (KubeAPI) kluster bidang data. Anda juga dapat menggunakan Helm untuk mengelola aplikasi. Topik ini menjelaskan cara mengakses resource Istio melalui KubeAPI kluster bidang data.
Prasyarat
Anda telah membuat instans ASM Edisi Perusahaan atau Edisi Ultimate. Versi instans harus 1.12.4.50 atau lebih baru. Untuk informasi selengkapnya, lihat Create an ASM instance dan Upgrade an ASM instance.
Latar Belakang
Kubernetes API adalah antarmuka pemrograman berbasis resource yang disajikan melalui HTTP. API ini mendukung verb HTTP standar (POST, PUT, PATCH, DELETE, dan GET) untuk mengambil, membuat, memperbarui, dan menghapus resource kluster utama, seperti Deployments dan Services. Untuk informasi selengkapnya, lihat Kubernetes API.
Catatan
Kami menyarankan agar Anda menggunakan fitur ini dalam mode kluster tunggal. Jika instans ASM Anda memiliki beberapa kluster bidang data, Anda dapat melakukan operasi CRUD pada resource Istio dari salah satu kluster tersebut.
Setelah Anda mengaktifkan fitur ini, Anda tidak dapat lagi menghapus namespace istio-system dari kluster bidang data. Untuk menghapus namespace tersebut, Anda harus terlebih dahulu menghapus kluster bidang data dari instans ASM.
Setelah Anda mengaktifkan fitur ini, bidang data memerlukan waktu satu hingga dua menit untuk bersiap.
Menghapus namespace dari bidang data tidak akan menghapus namespace yang sesuai atau resource Istio-nya di lapisan kontrol.
Untuk melakukan operasi CRUD pada resource Istio, namespace target harus ada di bidang data. Jika namespace hanya ada di lapisan kontrol, Anda harus terlebih dahulu membuatnya di bidang data. Jika tidak, pesan error berikut akan dikembalikan:
Error from server (NotFound): error when creating "xx.yaml": namespaces "daily-01" not foundJika Anda membuat resource Istio di namespace pada bidang data dan namespace tersebut tidak ada di lapisan kontrol ASM, namespace tersebut akan dibuat secara otomatis di lapisan kontrol.
Resource Istio yang dibuat melalui KubeAPI kluster bidang data disimpan di lapisan kontrol. Oleh karena itu, saat membuat atau memperbarui resource Istio, jangan tambahkan bidang
ownerReferencesyang mengarah ke resource bidang data. Jika tidak, resource Istio di lapisan kontrol mungkin akan dihapus oleh garbage collector karena pemiliknya tidak ditemukan.
Aktifkan akses KubeAPI bidang data
Untuk instans ASM baru
Untuk instans yang dibuat setelah November 2024, fitur ini diaktifkan secara default. Untuk instans yang dibuat sebelum tanggal tersebut, ikuti langkah-langkah di For existing ASM instances.
Untuk instans ASM yang sudah ada
-
Masuk ke ASM console.
-
Di panel navigasi kiri, pilih .
-
Pada halaman Mesh Management, temukan instans ASM yang ingin Anda konfigurasi. Klik nama instans ASM tersebut atau klik Manage di kolom Actions.
Pada halaman Basic Information, klik Enable di samping Enable Data-plane KubeAPI access.
Pada kotak dialog Confirm to enable data-plane cluster KubeAPI access, klik OK.
Kasus penggunaan 1: Mengelola resource Istio dengan kubectl
Setelah Anda mengaktifkan akses KubeAPI bidang data, Anda dapat terhubung ke kluster bidang data menggunakan kubectl, lalu menggunakan KubeConfig kluster tersebut untuk membuat, mengkueri, memodifikasi, dan menghapus resource Istio. Bagian ini menggunakan VirtualService sebagai contoh.
Untuk membuat VirtualService, jalankan perintah berikut:
kubectl apply -f <VirtualService-YAML-filename>Untuk mengkueri VirtualServices, jalankan perintah berikut:
kubectl get VirtualServiceUntuk memodifikasi VirtualService, jalankan perintah berikut:
kubectl edit VirtualService <VirtualService-name>Untuk menghapus VirtualService, jalankan perintah berikut:
kubectl delete VirtualService <VirtualService-name>
Kasus penggunaan 2: Menyebar aplikasi dengan Helm
Setelah Anda mengaktifkan akses KubeAPI bidang data, Helm dapat menggunakan KubeConfig kluster untuk sekaligus menginstal aplikasi di kluster dan menyebar resource Istio ke ASM.
-
Terhubung ke kluster ACK menggunakan kubectl. Untuk informasi selengkapnya, lihat Obtain the kubeconfig file of a cluster and use kubectl to connect to the cluster.
Instal Helm di mesin lokal Anda. Untuk informasi selengkapnya, lihat Helm.
CatatanSetelah Anda terhubung ke kluster menggunakan kubectl, klien Helm secara otomatis menggunakan KubeConfig yang sama untuk terhubung ke kluster.
Unduh dan ekstrak Helm chart sampel istio-bookinfo.
Buka direktori istio-bookinfo dan jalankan perintah berikut untuk menginstal aplikasi:
helm install -f values.yaml istio-bookinfo ./Output yang diharapkan:
NAME:istio-bookinfo LAST DEPLOYED:THU May 26 16:44:19 2022 NAMESPACE:default STATUS:deployed REVISION:1 TEST SUITE:NoneVerifikasi penyebaran.
Periksa aplikasi Bookinfo di Konsol ACK.
Masuk ke ACK console. Di panel navigasi kiri, klik Clusters.
Pada halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik .
Pada halaman Deployments, atur Namespace ke default.
Anda dapat melihat aplikasi yang diinstal oleh Helm, seperti details, productpage, dan ratings.
CatatanUntuk melihat rilis Helm, pilih di panel navigasi kiri. Halaman Helm menampilkan rilis tersebut.

Periksa VirtualService dan Gateway di Konsol ASM.
-
Masuk ke ASM console.
-
Di panel navigasi kiri, pilih .
-
Pada halaman Mesh Management, temukan instans ASM yang ingin Anda konfigurasi. Klik nama instans ASM tersebut atau klik Manage di kolom Actions.
Di panel navigasi kiri halaman detail mesh, pilih .
Pada halaman VirtualService, Anda dapat melihat VirtualService bernama bookinfo yang diinstal oleh Helm.

Di panel navigasi kiri halaman detail mesh, pilih .
Pada halaman Gateway, Anda dapat melihat Gateway bernama bookinfo-gateway yang diinstal oleh Helm.

-
Operasi terkait
Jalankan perintah berikut untuk melihat daftar rilis Helm:
helm listJalankan perintah berikut untuk memperbarui Helm chart:
helm upgrade -f values.yaml istio-bookinfo ./