Mengaktifkan fitur opsional di bidang kontrol dalam cluster
Halaman ini menjelaskan cara mengaktifkan fitur opsional di Cloud Service Mesh dengan bidang kontrol dalam cluster.
Saat Anda menginstal Cloud Service Mesh dalam cluster, fitur yang diaktifkan secara default berbeda menurut platform.
Anda dapat mengganti konfigurasi default dan mengaktifkan fitur opsional dengan menyertakan file overlay saat Anda menginstal (atau mengupgrade) Cloud Service Mesh. File
overlay adalah file YAML yang berisi resource kustom (CR)
yang Anda gunakan untuk mengonfigurasi bidang kontrol.IstioOperator Tentukan satu fitur per file overlay. Anda dapat menambahkan lebih banyak overlay, dan setiap file overlay akan mengganti konfigurasi pada lapisan sebelumnya.
Tentang file overlay
File overlay di halaman ini berada dalam
anthos-service-mesh
paket di GitHub. File ini berisi penyesuaian umum pada konfigurasi default. Anda dapat menggunakan file ini apa adanya, atau Anda dapat melakukan perubahan tambahan pada file ini sesuai kebutuhan.
Saat menginstal Cloud Service Mesh menggunakan skrip asmcli, Anda dapat menentukan satu atau beberapa file overlay dengan opsi --option atau --custom_overlay. Jika Anda tidak perlu melakukan perubahan apa pun pada file di repositori anthos-service-mesh, Anda dapat menggunakan --option, dan skrip akan mengambil file dari GitHub untuk Anda. Jika tidak, Anda dapat melakukan perubahan pada file overlay, lalu menggunakan opsi --custom_overlay untuk meneruskannya ke asmcli.
| Jangan sertakan beberapa CR dalam satu file overlay | Buat file overlay terpisah untuk setiap CR |
|---|---|
![]() |
![]() |
Cara mengaktifkan fitur opsional
Contoh berikut disederhanakan untuk hanya menampilkan penggunaan overlay kustom guna mengaktifkan fitur opsional. Ganti OTHER_FLAGS dengan
flag penginstalan yang diperlukan.
Perintah asmcli install menyediakan dua cara untuk mengaktifkan fitur opsional. Metode yang Anda gunakan bergantung pada apakah Anda perlu melakukan perubahan pada file overlay.
Gunakan
--optionjika Anda tidak perlu melakukan perubahan apa pun pada file overlay. Dengan--option,asmcliakan mengambil file dari repositori GitHub untuk Anda, sehingga Anda harus memiliki koneksi internet../asmcli install \ OTHER_FLAGS \ --option OPTION_NAMEGanti
OPTION_NAMEdengan opsi yang ingin Anda aktifkan. Pastikan untuk menghapus ekstensi .yaml dan hanya menyertakan nama file overlay, sepertiiap-operatordanattached-cluster. Untuk mengetahui daftar opsi, lihatanthos-service-meshpaket.Gunakan
--custom_overlayketika Anda perlu menyesuaikan file overlay../asmcli install \ OTHER_FLAGS \ --custom_overlay PATH_TO_FILEGanti
PATH_TO_FILEdengan jalur ke file overlay yang ingin Anda gunakan.
YAML untuk fitur opsional
Bagian berikut menyediakan YAML untuk mengaktifkan fitur opsional dan yang didukung.
Mode STRICT mTLS
Konfigurasi global.mtls.enabled dihapus dari CR IstioOperator untuk menghindari masalah dengan upgrade dan memberikan penginstalan yang lebih fleksibel.
Untuk mengaktifkan STRICT mTLS,
konfigurasikan
kebijakan autentikasi peer sebagai gantinya.
Image proxy tanpa distro
Istio menyediakan image proxy berdasarkan image dasar tanpa distro.
Konfigurasi berikut mengaktifkan image tanpa distro untuk seluruh Cloud Service Mesh. Perubahan jenis image mengharuskan setiap pod dimulai ulang dan disisipkan kembali agar berlaku.
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
meshConfig:
defaultConfig:
image:
imageType: distroless
Image tanpa distro tidak berisi biner apa pun selain proxy. Oleh karena itu, Anda tidak dapat exec shell atau menggunakan curl, ping, atau utilitas debug lainnya di dalam container.
Jika Anda menjalankan perintah curl, Anda akan melihat error berikut:
error: Internal error occurred: error executing command in container: failed to exec in container: failed to start exec "<container-id>"
OCI runtime exec failed: exec failed: unable to start container process: exec: "curl": executable file not found in $PATH: unknown
Jika Anda menjalankan perintah shell, Anda akan melihat error berikut:
error: Internal error occurred: error executing command in container: failed to exec in container: failed to start exec "<container-id>"
OCI runtime exec failed: exec failed: container_linux.go:380: starting container process caused: exec: "sh": executable file not found in $PATH: unknown
Jika Anda memerlukan akses ke alat ini untuk pod tertentu, Anda dapat mengganti imageType menggunakan anotasi pod berikut.
sidecar.istio.io/proxyImageType: debug
Setelah mengubah jenis image deployment melalui anotasi, deployment harus dimulai ulang.
kubectl rollout restart deployment -n NAMESPACE DEPLOYMENT_NAME
Untuk sebagian besar jenis proses debug proxy, istioctl proxy-cmd harus digunakan yang tidak memerlukan image dasar debug.
Menggunakan overlay kustom untuk registry kustom
Anda dapat menggunakan overlay kustom untuk registry kustom, misalnya jika Anda perlu menginstal Cloud Service Mesh dari registry container kustom. Contoh:
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
hub: {private_registry_url}
Berikut adalah daftar image untuk Cloud Service Mesh yang perlu Anda mirror ke registry container kustom:
- Install-cni -
gke.gcr.io/asm/install-cni:1.29.5-asm.12 - Managed Data Plane -
gke.gcr.io/asm/mdp:1.29.5-asm.12 - Pilot -
gke.gcr.io/asm/pilot:1.29.5-asm.12 - Proxyv2 -
gke.gcr.io/asm/proxyv2:1.29.5-asm.12
Menambahkan image ke registry pribadi
Untuk mengirim image Cloud Service Mesh ke registry pribadi, selesaikan langkah-langkah berikut.
-
Tarik image Cloud Service Mesh:
docker pull gke.gcr.io/asm/install-cni:1.29.5-asm.12 docker pull gke.gcr.io/asm/pilot:1.29.5-asm.12 docker pull gke.gcr.io/asm/proxyv2:1.29.5-asm.12
-
Buat variabel untuk URL registry pribadi Anda:
Gantiexport PRIVATE_REGISTRY_URL=PRIVATE_REGISTRY_URL
PRIVATE_REGISTRY_URLdengan URL registry pribadi Anda. -
Beri tag pada image dengan URL registry pribadi Anda:
docker tag gke.gcr.io/asm/install-cni:1.29.5-asm.12 \ ${PRIVATE_REGISTRY_URL}/gke.gcr.io/asm/install-cni:1.29.5-asm.12 docker tag gke.gcr.io/asm/mdp:1.29.5-asm.12 \ ${PRIVATE_REGISTRY_URL}/gke.gcr.io/asm/pilot:1.29.5-asm.12 docker tag gke.gcr.io/asm/proxyv2:1.29.5-asm.12 \ ${PRIVATE_REGISTRY_URL}/gke.gcr.io/asm/proxyv2:1.29.5-asm.12 - Kirim image yang diberi tag ke registry pribadi Anda:
docker push ${PRIVATE_REGISTRY_URL}/gke.gcr.io/asm/install-cni:1.29.5-asm.12 docker push ${PRIVATE_REGISTRY_URL}/gke.gcr.io/asm/pilot:1.29.5-asm.12 docker push ${PRIVATE_REGISTRY_URL}/gke.gcr.io/asm/proxyv2:1.29.5-asm.12 - (Opsional) Jika Anda menggunakan layanan canonical, tambahkan image layanan canonical ke registry pribadi Anda.
- Tarik image layanan canonical Cloud Service Mesh:
docker pull gcr.io/kubebuilder/kube-rbac-proxy:v0.13.1 docker pull gke.gcr.io/asm/canonical-service-controller:1.10.3-asm.16 - Beri tag pada image dengan URL registry pribadi Anda:
docker tag gcr.io/kubebuilder/kube-rbac-proxy:v0.13.1 \ ${PRIVATE_REGISTRY_URL}/gcr.io/kubebuilder/kube-rbac-proxy:v0.13.1 docker tag gke.gcr.io/asm/canonical-service-controller:1.10.3-asm.16 \ ${PRIVATE_REGISTRY_URL}/gke.gcr.io/asm/canonical-service-controller:1.10.3-asm.16 - Kirim image yang diberi tag ke registry pribadi Anda:
docker push ${PRIVATE_REGISTRY_URL}/gcr.io/kubebuilder/kube-rbac-proxy:v0.13.1 docker push ${PRIVATE_REGISTRY_URL}/gke.gcr.io/asm/canonical-service-controller:1.10.3-asm.16
- Tarik image layanan canonical Cloud Service Mesh:
Jika Anda dapat menarik image yang diberi tag dari registry pribadi, berarti prosedur berhasil.
Meningkatkan durasi pengosongan penghentian
Secara default, Envoy akan menunggu lima detik (5s) hingga koneksi yang ada selesai saat pod dihentikan.
terminationGracePeriodSeconds pod harus lebih besar dari nilai terminationDrainDuration.
Untuk mengetahui informasi selengkapnya, lihat Opsi Mesh Global.
---
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
meshConfig:
defaultConfig:
terminationDrainDuration: 30s
Mengaktifkan log Akses
Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan logging akses Envoy.
Cloud Trace
Cloud Trace tersedia dengan penginstalan Cloud Service Mesh di platform berikut:
- GKE di Google Cloud
- Cluster GKE Enterprise di infrastruktur lokal jika Anda menginstal dengan otoritas sertifikat Cloud Service Mesh
Untuk mengetahui informasi selengkapnya, lihat Mengakses trace.
Traffic keluar melalui gateway keluar
Sebaiknya instal gateway yang disisipkan seperti yang dijelaskan dalam Menginstal dan mengupgrade gateway. Penyisipan, atau penyisipan otomatis, mengacu pada penggunaan webhook mutasi untuk mengubah spesifikasi Pod pada waktu pembuatan. Anda menggunakan penyisipan untuk menambahkan konfigurasi sidecar proxy Envoy untuk layanan mesh atau untuk mengonfigurasi proxy Envoy gateway.
Antarmuka Jaringan Container Istio
Cara Anda mengaktifkan Antarmuka Jaringan Container (CNI) Istio bergantung pada lingkungan tempat Cloud Service Mesh diinstal.
Pilih file overlay yang sesuai dengan platform Anda.
Mengaktifkan CNI di GKE
Mengaktifkan CNI di infrastruktur lokal
Mengaktifkan log Traffic untukGoogle Cloud
Menginstal Cloud Service Mesh dengan Istio CA di luar Google Cloud secara default melaporkan metrik ke Prometheus. Gunakan opsi ini untuk mengaktifkan pelaporan log Traffic, atau Prometheus dan Stackdriver, sehingga Anda dapat menggunakan dasbor Cloud Service Mesh.
Hanya Stackdriver
Stackdriver dan Prometheus
Mengaktifkan load balancer internal
Sebaiknya instal gateway yang
disisipkan seperti yang dijelaskan dalam
Menginstal dan mengupgrade gateway untuk menyiapkan load balancer internal di GKE. Saat mengonfigurasi Layanan gateway,
Anda menyertakan anotasi: networking.gke.io/load-balancer-type: "Internal"
Pengelolaan sertifikat eksternal di gateway masuk
Untuk mengetahui informasi tentang cara mengaktifkan pengelolaan sertifikat eksternal di gateway masuk menggunakan Envoy SDS, lihat Mengamankan Gateway.

