Pelajari cara menyiapkan dan mengonfigurasi penginstalan penayangan Knative.
Sebelum memulai
Anda harus menginstal Knative inferensi di cluster GKE. Baca panduan penginstalan untuk mengetahui detail tentang prasyarat cluster GKE dan cara menginstal inferensi Knative.
Menyiapkan autentikasi dengan Workload Identity
Anda dapat menggunakan Workload Identity untuk mengautentikasi layanan inferensi Knative ke Google Cloud API dan layanan Google Cloud. Anda harus menyiapkan Workload Identity sebelum men-deploy layanan ke cluster. Jika tidak, setiap layanan yang ada di cluster Anda sebelum mengaktifkan Workload Identity perlu dimigrasikan. Pelajari lebih lanjut cara menggunakan Workload Identity.
Mengaktifkan metrik dengan Workload Identity
Untuk mengaktifkan metrik, seperti melaporkan jumlah permintaan atau latensi permintaan ke Kemampuan Observasi Google Cloud, Anda harus menetapkan izin tulis untuk Cloud Monitoring secara manual. Untuk mengetahui detailnya, baca Mengaktifkan metrik dengan Workload Identity.
Mengonfigurasi HTTPS dan domain kustom
Untuk mengaktifkan HTTPS dan menyetel domain kustom, lihat halaman berikut:
Menyiapkan Anthos Service Mesh
Guna mengonfigurasi opsi Anthos Service Mesh untuk inferensi Knative, lihat Opsi bidang kontrol dalam cluster, termasuk cara menyiapkan jaringan internal pribadi.
Menyiapkan jaringan internal pribadi
Men-deploy layanan pada jaringan internal berguna bagi perusahaan yang menyediakan aplikasi internal untuk stafnya, dan untuk layanan yang digunakan oleh klien yang berjalan di luar cluster Knative inferensi. Dengan konfigurasi ini, resource lain di jaringan Anda dapat berkomunikasi dengan layanan menggunakan alamat IP pribadi internal (RFC 1918) yang tidak dapat diakses oleh publik.
Untuk membuat jaringan internal, konfigurasikan Anthos Service Mesh untuk menggunakan Load Balancing TCP/UDP Internal, bukan load balancer jaringan eksternal publik. Anda kemudian dapat menerapkan layanan penayangan Knative di alamat IP internal dalam jaringan VPC.
Sebelum Anda memulai
- Anda harus memiliki
admin
izin di cluster Anda. - Jika mengonfigurasi domain kustom, Anda harus menonaktifkan fitur TLS terkelola karena TLS yang Dikelola pada penayangan Knative saat ini tidak didukung oleh load balancer internal.
- Hanya Google Cloud CLI versi 310.0 atau yang lebih baru yang didukung. Untuk mengetahui detail tentang penyiapan alat command line, lihat
Untuk menyiapkan load balancer internal:
Mengaktifkan fitur load balancer internal di Anthos Service Mesh.
Load balancer internal adalah fitur opsional yang dapat Anda konfigurasi selama penginstalan Anthos Service Mesh, atau dengan mengupdate penginstalan yang sudah ada.
Ikuti langkah-langkah dalam Mengaktifkan fitur opsional di bidang kontrol dalam cluster dan pastikan untuk menyertakan opsi skrip
--option internal-load-balancer
.Saat Anda menentukan opsi
--option internal-load-balancer
, skrip akan mengambil resource kustom Enable an internal load balancer secara otomatis dari GitHub. Jika Anda perlu mengubah resource kustom, ikuti petunjuk untuk menggunakan opsi--custom_overlay
.Jalankan perintah berikut untuk memantau update di cluster GKE:
kubectl -n INGRESS_NAMESPACE get svc istio-ingressgateway --watch
Ganti INGRESS_NAMESPACE dengan namespace layanan ingress Anthos Service Mesh Anda. Tentukan
istio-system
jika Anda menginstal Anthos Service Mesh menggunakan konfigurasi defaultnya.- Catat anotasi
cloud.google.com/load-balancer-type: Internal
. - Cari nilai
IP
di load balancer Ingress yang akan diubah menjadi alamat IP pribadi. - Tekan
Ctrl+C
untuk menghentikan update setelah Anda melihat alamat IP pribadi di kolomIP
.
- Catat anotasi
Untuk cluster pribadi di Google Cloud, Anda harus membuka port. Untuk mengetahui detailnya, baca membuka port di cluster pribadi dalam dokumentasi Anthos Service Mesh.
Untuk memverifikasi konektivitas internal setelah Anda melakukan perubahan:
Deploy layanan yang disebut
sample
ke penayangan Knative di namespacedefault
:gcloud run deploy sample \ --image gcr.io/knative-samples/helloworld \ --namespace default --platform gke
Buat virtual machine (VM) Compute Engine di zona yang sama dengan cluster GKE:
VM=cloudrun-gke-ilb-tutorial-vm gcloud compute instances create $VM
Simpan alamat IP pribadi Gateway Istio Ingress di variabel lingkungan bernama
EXTERNAL_IP
dan file bernamaexternal-ip.txt
:export EXTERNAL_IP=$(kubectl -n INGRESS_NAMESPACE get svc istio-ingressgateway \ -o jsonpath='{.status.loadBalancer.ingress[0].ip}' | tee external-ip.txt)
Ganti INGRESS_NAMESPACE dengan namespace layanan ingress Anthos Service Mesh Anda. Tentukan
istio-system
jika Anda menginstal Anthos Service Mesh menggunakan konfigurasi defaultnya.Salin file yang berisi alamat IP tersebut ke VM:
gcloud compute scp external-ip.txt $VM:~
Hubungkan ke VM menggunakan SSH:
gcloud compute ssh $VM
Saat berada dalam sesi SSH, uji layanan contoh:
curl -s -w'\n' -H Host:sample.default.nip.io $(cat external-ip.txt)
Outputnya adalah sebagai berikut:
Hello World!
Keluar dari sesi SSH:
exit
Menyiapkan lingkungan multi-tenant
Dalam kasus penggunaan multi-tenant, Anda harus mengelola dan men-deploy layanan inferensi Knative ke cluster Google Kubernetes Engine yang berada di luar project Anda saat ini. Untuk mengetahui informasi selengkapnya tentang multi-tenancy GKE, lihat Multi-tenancy cluster.
Untuk mempelajari cara mengonfigurasi multi-tenancy untuk penayangan Knative, lihat Cross-project multi-tenancy.