Pelajari cara menyiapkan dan mengonfigurasi penginstalan penayangan Knative.
Sebelum memulai
Anda harus menginstal penayangan Knative di cluster GKE. Lihat panduan penginstalan untuk mengetahui detail tentang prasyarat cluster GKE dan cara menginstal penayangan Knative.
Menyiapkan autentikasi dengan Workload Identity Federation untuk GKE
Anda dapat menggunakan Workload Identity Federation untuk GKE guna mengautentikasi layanan penayangan Knative ke API dan layanan Google Cloud. Anda harus menyiapkan Workload Identity Federation untuk GKE sebelum men-deploy layanan ke cluster. Jika tidak, setiap layanan yang ada di cluster sebelum mengaktifkan Workload Identity Federation untuk GKE harus dimigrasikan. Pelajari lebih lanjut cara menggunakan Workload Identity Federation for GKE.
Mengaktifkan metrik dengan Workload Identity Federation untuk GKE
Untuk mengaktifkan metrik, seperti pelaporan jumlah permintaan atau latensi permintaan ke Google Cloud Observability, Anda harus menetapkan izin tulis secara manual untuk Cloud Monitoring. Untuk mengetahui detailnya, lihat Mengaktifkan metrik dengan Workload Identity Federation for GKE.
Mengonfigurasi HTTPS dan domain kustom
Untuk mengaktifkan HTTPS dan menetapkan domain kustom, lihat halaman berikut:
Menyiapkan Cloud Service Mesh
Untuk mengonfigurasi opsi Cloud Service Mesh untuk penayangan Knative, lihat Opsi bidang kontrol dalam cluster, termasuk cara menyiapkan jaringan internal pribadi.
Menyiapkan jaringan pribadi internal
Men-deploy layanan di jaringan internal berguna bagi perusahaan yang menyediakan aplikasi internal kepada staf mereka, dan untuk layanan yang digunakan oleh klien yang berjalan di luar cluster penayangan Knative. Konfigurasi ini memungkinkan resource lain di jaringan Anda berkomunikasi dengan layanan menggunakan alamat IP internal pribadi (RFC 1918) yang tidak dapat diakses oleh publik.
Untuk membuat jaringan internal, Anda mengonfigurasi Cloud Service Mesh agar menggunakan Load Balancing TCP/UDP Internal, bukan load balancer jaringan eksternal publik. Kemudian, Anda dapat men-deploy layanan penayangan Knative di alamat IP internal dalam jaringan VPC.
Sebelum memulai
- Anda harus memiliki izin
admin
di cluster. - Jika mengonfigurasi domain kustom, Anda harus menonaktifkan fitur TLS terkelola karena TLS Terkelola di 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 cara menyiapkan alat command line, lihat
Untuk menyiapkan load balancer internal:
Aktifkan fitur load balancer internal di Cloud Service Mesh.
Load balancer internal adalah fitur opsional yang dapat Anda konfigurasikan selama penginstalan Cloud Service Mesh, atau dengan mengupdate penginstalan yang ada.
Ikuti langkah-langkah di Mengaktifkan fitur opsional di platform kontrol dalam cluster dan pastikan untuk menyertakan opsi skrip
--option internal-load-balancer
.Saat Anda menentukan opsi
--option internal-load-balancer
, skrip akan otomatis mengambil resource kustom Enable an internal load balancer dari GitHub. Jika Anda perlu mengubah resource kustom, ikuti petunjuk untuk menggunakan opsi--custom_overlay
.Jalankan perintah berikut untuk melihat update pada cluster GKE Anda:
kubectl -n INGRESS_NAMESPACE get svc istio-ingressgateway --watch
Ganti INGRESS_NAMESPACE dengan namespace layanan ingress Cloud Service Mesh Anda. Tentukan
istio-system
jika Anda menginstal Cloud Service Mesh menggunakan konfigurasi defaultnya.- Perhatikan anotasi
cloud.google.com/load-balancer-type: Internal
. - Cari nilai
IP
di load balancer Ingress untuk berubah menjadi alamat IP pribadi. - Tekan
Ctrl+C
untuk menghentikan update setelah Anda melihat alamat IP pribadi di kolomIP
.
- Perhatikan anotasi
Untuk cluster pribadi di Google Cloud, Anda harus membuka port. Untuk mengetahui detailnya, lihat membuka port di cluster pribadi dalam dokumentasi Cloud Service Mesh.
Untuk memverifikasi konektivitas internal setelah perubahan Anda:
Deploy layanan bernama
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 Istio Ingress Gateway dalam variabel lingkungan yang disebut
EXTERNAL_IP
dan file yang disebutexternal-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 Cloud Service Mesh Anda. Tentukan
istio-system
jika Anda menginstal Cloud Service Mesh menggunakan konfigurasi defaultnya.Salin file yang berisi alamat IP 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 penayangan Knative ke cluster Google Kubernetes Engine yang berada di luar project saat ini. Untuk mengetahui informasi selengkapnya tentang multi-tenancy GKE, lihat Multi-tenancy cluster.
Untuk mempelajari cara mengonfigurasi multi-tenancy untuk penayangan Knative, lihat Multi-tenancy lintas project.