Menyiapkan inferensi Knative

Pelajari cara menyiapkan dan mengonfigurasi penginstalan Knative serving.

Sebelum memulai

Anda harus menginstal Knative serving di cluster GKE. Lihat panduan penginstalan untuk mengetahui detail tentang prasyarat cluster GKE dan cara menginstal Knative serving.

Menyiapkan autentikasi dengan Workload Identity Federation for GKE

Anda dapat menggunakan Workload Identity Federation for GKE untuk mengautentikasi layanan Knative serving ke Google Cloud API dan layanan. Anda harus menyiapkan Workload Identity Federation for GKE sebelum men-deploy layanan ke cluster. Jika tidak, setiap layanan yang ada di cluster sebelum mengaktifkan Workload Identity Federation for GKE harus dimigrasikan. Pelajari lebih lanjut cara menggunakan Workload Identity Federation for GKE.

Mengaktifkan metrik dengan Workload Identity Federation for GKE

Untuk mengaktifkan metrik, seperti melaporkan jumlah permintaan atau latensi permintaan ke Google Cloud Observability, Anda harus menetapkan izin tulis untuk Cloud Monitoring secara manual. 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 Knative serving, lihat Opsi bidang kontrol dalam cluster, termasuk cara menyiapkan jaringan internal pribadi.

Menyiapkan jaringan internal pribadi

Men-deploy layanan di jaringan internal berguna untuk perusahaan yang menyediakan aplikasi internal kepada stafnya, dan untuk layanan yang digunakan oleh klien yang berjalan di luar cluster Knative serving. 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 Knative serving di alamat IP internal dalam jaringan VPC.

Sebelum memulai

Untuk menyiapkan load balancer internal:

  1. Aktifkan fitur load balancer internal di Cloud Service Mesh.

    Load balancer internal adalah fitur opsional yang dapat Anda konfigurasi selama penginstalan Cloud Service Mesh, atau dengan mengupdate penginstalan yang ada.

    Ikuti langkah-langkah di 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 otomatis mengambil resource kustom Mengaktifkan load balancer internal dari GitHub. Jika Anda perlu mengubah resource kustom, ikuti petunjuk untuk menggunakan opsi --custom_overlay.

  2. Jalankan perintah berikut untuk melihat update pada cluster GKE:

    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 default-nya.

    1. Perhatikan anotasi cloud.google.com/load-balancer-type: Internal.
    2. Cari nilai IP di load balancer Ingress untuk mengubah ke alamat IP pribadi.
    3. Tekan Ctrl+C untuk menghentikan update setelah Anda melihat alamat IP pribadi di kolom IP.
  3. Untuk cluster pribadi di Google Cloud, Anda harus membuka port. Untuk mengetahui detailnya, lihat membuka port di cluster pribadi Anda dalam dokumentasi Cloud Service Mesh.

Untuk memverifikasi konektivitas internal setelah perubahan:

  1. Deploy layanan bernama sample ke Knative serving di namespace default:

    gcloud run deploy sample \
    --image gcr.io/knative-samples/helloworld \
    --namespace default
    --platform gke
    
  2. Buat virtual machine (VM) Compute Engine di zona yang sama dengan cluster GKE:

    VM=cloudrun-gke-ilb-tutorial-vm
    
    gcloud compute instances create $VM
    
  3. Simpan alamat IP pribadi Istio Ingress Gateway dalam variabel lingkungan bernama EXTERNAL_IP dan file bernama external-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 default-nya.

  4. Salin file yang berisi alamat IP ke VM:

    gcloud compute scp external-ip.txt $VM:~
    
  5. Hubungkan ke VM menggunakan SSH:

    gcloud compute ssh $VM
    
  6. Saat berada di 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!
    
  7. Keluar dari sesi SSH:

    exit
    

Menyiapkan lingkungan multi-tenant

Dalam kasus penggunaan multi-tenant, Anda harus mengelola dan men-deploy layanan Knative serving 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 Knative serving, lihat Multi-tenancy lintas project.

Langkah berikutnya