Menyiapkan penayangan Knative

Pelajari cara menyiapkan dan mengonfigurasi penginstalan penayangan Knative Anda.

Sebelum memulai

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

Menyiapkan autentikasi dengan Workload Identity Federation untuk GKE

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

Mengaktifkan metrik dengan Workload Identity Federation untuk GKE

Untuk mengaktifkan metrik, seperti melaporkan jumlah permintaan atau meminta latensi ke Kemampuan Observasi Google Cloud, Anda perlu menetapkan izin tulis secara manual untuk dan konfigurasi di Cloud Monitoring. Untuk mengetahui detailnya, lihat Mengaktifkan metrik dengan Workload Identity Federation untuk GKE.

Mengonfigurasi HTTPS dan domain kustom

Untuk mengaktifkan HTTPS dan menetapkan domain kustom, lihat halaman berikut:

Menyiapkan Cloud Service Mesh

Guna mengonfigurasi opsi Cloud Service Mesh untuk inferensi Knative, lihat Opsi bidang kontrol dalam cluster, termasuk bagaimana cara menyiapkan jaringan internal pribadi.

Menyiapkan jaringan internal pribadi

Men-deploy layanan di jaringan internal berguna bagi perusahaan yang menyediakan aplikasi internal kepada stafnya, dan untuk layanan yang digunakan oleh klien yang berjalan di luar cluster inferensi Knative. Konfigurasi ini memungkinkan sumber daya lain di jaringan Anda untuk berkomunikasi dengan layanan menggunakan pribadi, internal (RFC 1918) Alamat IP yang tidak dapat diakses oleh publik.

Untuk membuat jaringan internal, Anda perlu mengonfigurasi Cloud Service Mesh yang akan digunakan Load Balancing TCP/UDP Internal bukan load balancer jaringan eksternal publik. Anda kemudian dapat men-deploy Layanan penyaluran Knative pada alamat IP internal dalam Jaringan VPC.

Sebelum memulai

Untuk menyiapkan load balancer internal:

  1. Mengaktifkan 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.

    Ikuti langkah-langkah di Mengaktifkan fitur opsional pada bidang kontrol dalam cluster dan pastikan untuk menyertakan opsi skrip --option internal-load-balancer.

    Saat Anda menentukan opsi --option internal-load-balancer, skrip secara otomatis mengambil Mengaktifkan load balancer internal resource kustom dari GitHub. Jika Anda perlu memodifikasi sumber daya khusus, ikuti petunjuk untuk menggunakan opsi --custom_overlay.

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

    kubectl -n INGRESS_NAMESPACE get svc istio-ingressgateway --watch
    

    Ganti INGRESS_NAMESPACE dengan namespace Anda Layanan traffic masuk Cloud Service Mesh. Tentukan istio-system jika Anda telah menginstal Cloud Service Mesh menggunakan konfigurasi defaultnya.

    1. Perhatikan anotasi cloud.google.com/load-balancer-type: Internal.
    2. Cari nilai IP di load balancer Ingress untuk diubah menjadi 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 Anda:

  1. Deploy layanan yang disebut sample ke inferensi Knative di Namespace default:

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

    VM=cloudrun-gke-ilb-tutorial-vm
    
    gcloud compute instances create $VM
    
  3. Menyimpan alamat IP pribadi Gateway Istio Ingress di lingkungan variabel 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 Anda Layanan traffic masuk Cloud Service Mesh. Tentukan istio-system jika Anda telah menginstal Cloud Service Mesh menggunakan konfigurasi defaultnya.

  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 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!
    
  7. 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 di luar proyek Anda saat ini. Untuk mengetahui informasi selengkapnya tentang GKE multi-tenancy, lihat Multi-tenancy cluster.

Untuk mempelajari cara mengonfigurasi multi-tenancy untuk penayangan Knative, lihat Multi-tenancy lintas project.

Langkah selanjutnya