הגדרה של מילוי בקשות מסוג Knative

איך מגדירים וקובעים את התצורה של ההתקנה של Knative serving.

לפני שמתחילים

צריך לוודא ש-Knative serving מותקן באשכול GKE. במדריך ההתקנה מפורטים התנאים המוקדמים לשימוש באשכול GKE והוראות להתקנת Knative serving.

הגדרת אימות באמצעות איחוד שירותי אימות הזהות של עומסי עבודה ב-GKE

אתם יכולים להשתמש באיחוד שירותי אימות הזהות של עומסי עבודה ל-GKE כדי לאמת את שירותי Knative serving ל- Google Cloud APIs ולשירותים. צריך להגדיר את איחוד הזהויות של עומסי עבודה ל-GKE לפני שפורסים שירותים באשכול. אחרת, צריך להעביר כל שירות שקיים באשכול לפני הפעלת איחוד הזהויות של עומסי עבודה ל-GKE. מידע נוסף על שימוש באיחוד שירותי אימות הזהות של עומסי עבודה ב-GKE

הפעלת מדדים באמצעות איחוד שירותי אימות הזהות של עומסי עבודה ב-GKE

כדי להפעיל מדדים, כמו מספר בקשות דיווח או זמן האחזור של הבקשות ב-Google Cloud Observability, צריך להגדיר ידנית הרשאות כתיבה ל-Cloud Monitoring. פרטים נוספים זמינים במאמר הפעלת מדדים באמצעות איחוד שירותי אימות הזהות של עומסי עבודה ב-GKE.

הגדרת HTTPS ודומיינים מותאמים אישית

כדי להפעיל HTTPS ולהגדיר דומיין מותאם אישית, אפשר לעיין בדפים הבאים:

הגדרת Cloud Service Mesh

במאמר אפשרויות של מישור בקרה בתוך האשכול מוסבר איך מגדירים אפשרויות של Cloud Service Mesh ל-Knative serving, כולל הגדרה של רשת פנימית פרטית.

הגדרת רשת פרטית פנימית

פריסת שירותים ברשת פנימית שימושית לארגונים שמספקים אפליקציות פנימיות לעובדים שלהם, ולשירותים שמשמשים לקוחות שפועלים מחוץ לאשכול Knative serving. ההגדרה הזו מאפשרת למשאבים אחרים ברשת לתקשר עם השירות באמצעות כתובת IP פרטית פנימית (RFC 1918) שלא ניתן לגשת אליה באופן ציבורי.

כדי ליצור את הרשת הפנימית, מגדירים את Cloud Service Mesh לשימוש באיזון עומסים פנימי של TCP/UDP במקום במאזן עומסי רשת חיצוני ציבורי. אחר כך תוכלו לפרוס את שירותי Knative Serving בכתובת IP פנימית בתוך רשת ה-VPC.

לפני שמתחילים

כדי להגדיר את מאזן העומסים הפנימי:

  1. הפעלת התכונה של מאזן עומסים פנימי ב-Cloud Service Mesh.

    מאזן העומסים הפנימי הוא תכונה אופציונלית שאפשר להגדיר במהלך ההתקנה של Cloud Service Mesh, או על ידי עדכון ההתקנה הקיימת.

    פועלים לפי השלבים במאמר בנושא הפעלת תכונות אופציונליות במישור הבקרה בתוך האשכול, ומוודאים שכוללים את אפשרות הסקריפט --option internal-load-balancer.

    כשמציינים את האפשרות --option internal-load-balancer, הסקריפט מאחזר באופן אוטומטי את המשאב המותאם אישית Enable an internal load balancer (הפעלת איזון עומסים פנימי) מ-GitHub. אם אתם צריכים לשנות את המשאב המותאם אישית, אתם צריכים לפעול לפי ההוראות לשימוש באפשרות --custom_overlay.

  2. מריצים את הפקודה הבאה כדי לראות עדכונים באשכול GKE:

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

    מחליפים את INGRESS_NAMESPACE במרחב השמות של שירות הכניסה (ingress) של Cloud Service Mesh. מציינים istio-system אם התקנתם את Cloud Service Mesh באמצעות הגדרת ברירת המחדל שלו.

    1. שימו לב להערה cloud.google.com/load-balancer-type: Internal.
    2. חפשו את הערך של IP במאזן העומסים של Ingress כדי לשנות אותו לכתובת IP פרטית.
    3. מקישים על Ctrl+C כדי להפסיק את העדכונים ברגע שרואים כתובת IP פרטית בשדה IP.
  3. באשכולות פרטיים ב- Google Cloud, צריך לפתוח יציאות. פרטים נוספים זמינים במאמר בנושא פתיחת פורטים באשכול פרטי במסמכי Cloud Service Mesh.

כדי לאמת את הקישוריות הפנימית אחרי השינויים:

  1. פורסים שירות בשם sample למילוי בקשות מסוג Knative במרחב השמות default:

    gcloud run deploy sample \
    --image gcr.io/knative-samples/helloworld \
    --namespace default
    --platform gke
    
  2. יוצרים מכונה וירטואלית (VM) ב-Compute Engine באותו אזור שבו נמצא אשכול GKE:

    VM=cloudrun-gke-ilb-tutorial-vm
    
    gcloud compute instances create $VM
    
  3. שומרים את כתובת ה-IP הפרטית של Istio Ingress Gateway במשתנה סביבה בשם EXTERNAL_IP ובקובץ בשם 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)

    מחליפים את INGRESS_NAMESPACE במרחב השמות של שירות הכניסה (ingress) של Cloud Service Mesh. מציינים istio-system אם התקנתם את Cloud Service Mesh באמצעות הגדרת ברירת המחדל שלו.

  4. מעתיקים את הקובץ שמכיל את כתובת ה-IP למכונה הווירטואלית:

    gcloud compute scp external-ip.txt $VM:~
    
  5. מתחברים למכונה הווירטואלית באמצעות SSH:

    gcloud compute ssh $VM
    
  6. במהלך סשן ה-SSH, בודקים את שירות הדוגמה:

    curl -s -w'\n' -H Host:sample.default.nip.io $(cat external-ip.txt)
    

    הפלט אמור להיראות כך:

    Hello World!
    
  7. יוצאים מסשן ה-SSH:

    exit
    

הגדרת סביבה מרובת דיירים

בתרחישי שימוש של ריבוי דיירים, תצטרכו לנהל ולפרוס שירותי Knative Serving באשכול Google Kubernetes Engine שנמצא מחוץ לפרויקט הנוכחי. מידע נוסף על ריבוי דיירים ב-GKE זמין במאמר ריבוי דיירים באשכול.

כדי ללמוד איך להגדיר ריבוי דיירים ב-Knative serving, אפשר לעיין במאמר בנושא ריבוי דיירים בין פרויקטים.

המאמרים הבאים