שימוש בדומיינים לבדיקה

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

כברירת מחדל, השירותים שפורסים באשכולות של Knative Serving מוגדרים לדומיין הבסיסי nip.io. לכן, אם משתמשים בשם המומלץ לשער הכניסה, אפשר לבדוק את השירותים ולשלוח בקשות באופן מיידי ללא הגדרה נוספת. לדוגמה: http://{SERVICE_NAME}.{NAMESPACE}.kuberun.{EXTERNAL_IP}.nip.io.

חשוב לדעת ששימוש בתווים כלליים לחיפוש ב-DNS עלול לגרום לבעיות באמינות של הבקשות, כולל בדומיין nip.io, שהוא שירות חינמי של תווים כלליים לחיפוש ב-DNS. לעומת זאת, הגדרה ושימוש בדומיין מותאם אישית לבדיקות יכולים להגביר את רמת המהימנות.

אפשר גם לגשת לשירותים באמצעות כתובת ה-IP החיצונית.

שימוש בnip.io דומיין לבדיקה

כדי לגשת לשירות באמצעות דומיין הבסיס nip.io שמוגדר כברירת מחדל, אפשר לאתר את כתובת ה-URL במסוף Google Cloud או ליצור את כתובת ה-URL באופן ידני.

המסוף

  1. נכנסים לדף Knative serving במסוף Google Cloud .

    מעבר אל Knative serving

  2. ברשימה, לוחצים על השירות שרוצים לקבל את כתובת ה-URL שלו.

  3. כתובת ה-URL מוצגת בחלק העליון של הדף.

    לדוגמה: http://my-service.default.kuberun.11.111.11.111.nip.io

    my-service הוא שם שירות ה-Knative serving,‏ default הוא מרחב השמות ו-11.111.11.111 היא כתובת ה-IP של איזון העומסים החיצוני.

ידנית

כדי ליצור ידנית את כתובת ה-URL לשירות, משתמשים בשם השירות, במרחב השמות שבו השירות פועל ובכתובת ה-IP של מאזן העומסים:

http://SERVICE.NAMESPACE.kuberun.EXTERNAL_IP.nip.io

מחליפים את:

  • SERVICE_NAME בשם של השירות.
  • NAMESPACE עם מרחב השמות שבו פרסתם את השירות. כברירת מחדל, השירותים נפרסים במרחב השמות default.
  • EXTERNAL_IP עם כתובת ה-IP החיצונית של מאזן העומסים.

לדוגמה, אם יש לכם שירות בשם hello במרחב השמות default וכתובת ה-IP החיצונית שלכם היא 12.345.67.890, כתובת ה-URL יכולה להיראות כך:

http://hello.default.kuberun.12.345.67.890.nip.io

שימוש בכתובת ה-IP החיצונית

לחלופין, אפשר להשתמש בכתובת ה-IP החיצונית של מאזן העומסים כדי לגשת לשירותים באמצעות פקודות cURL או על ידי הגדרה ידנית של שירות DNS חלופי עם תו כללי.

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

קבלת כתובת ה-IP החיצונית

כשיוצרים אשכול GKE Enterprise, בקר הכניסה של Istio יוצר מאזן עומסים ברשת עם כתובת IP שזמינה לכולם. Google Cloud

כדי להגדיר גישה לשירות באמצעות cURL או שירות DNS, קודם צריך לקבל את כתובת ה-IP החיצונית של שירות מאזן העומסים:

המסוף

כדי לקבל את כתובת ה-IP החיצונית של מאזן העומסים ממסוף Google Cloud :
  1. נכנסים לדף GKE במסוף Google Cloud :
    כניסה ל-GKE
  2. לוחצים על Services and ingress (שירותים ותעבורת נכנסת).
  3. מזהים את השירות שמשמש כ-ingress של Istio באשכול. הסוג של השירות יהיה מאזן עומסים חיצוני, והשם יהיה istio-ingressgateway.
  4. אחרי שמוצאים את שירות הכניסה של Istio באשכול, מעתיקים את נקודת הקצה שלו. זו תהיה כתובת ה-IP ללא מספר היציאה. לדוגמה, יכול להיות שתראו את 00.000.000.000:11 ברשימה כנקודת קצה, אבל תצטרכו להעתיק רק את 00.000.000.000.

kubectl

כדי לקבל את כתובת ה-IP החיצונית של מאזן העומסים, מריצים את הפקודה הבאה:

kubectl get svc istio-ingressgateway -n ASM-INGRESS-NAMESPACE

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

הפלט שיתקבל ייראה כך:

NAME                   TYPE           CLUSTER-IP     EXTERNAL-IP  PORT(S)
istio-ingressgateway   LoadBalancer   XX.XX.XXX.XX   pending      80:32380/TCP,443:32390/TCP,32400:32400/TCP

כאשר הערך EXTERNAL-IP הוא כתובת ה-IP החיצונית של מאזן העומסים.

אחרי שמקבלים את כתובת ה-IP החיצונית של מאזן העומסים, אפשר להשתמש בה בפקודות cURL או בשירות DNS wildcard כדי לגשת לשירותי Knative serving.

שימוש ב-cURL

אפשר להשתמש בפקודות cURL עם דומיין הבסיס שמוגדר כברירת מחדל nip.io כדי לשלוח בקשות לשירות.

מציינים את כתובת ה-IP החיצונית של מאזן העומסים יחד עם השמות של השירות ומרחב השמות בפקודת cURL:

curl --header 'Host: SERVICE_NAME.NAMESPACE.kuberun.EXTERNAL_IP.nip.io' EXTERNAL_IP

מחליפים את:

  • SERVICE_NAME בשם של השירות שלכם ב-Knative serving.
  • NAMESPACE בשטח השמות שבו השירות פועל.
  • EXTERNAL_IP עם כתובת ה-IP החיצונית של מאזן העומסים.

דוגמה:

curl --header 'Host: my-service.default.kuberun.12.345.67.890.nip.io' http://12.345.67.890

שימוש בשירותים אחרים של DNS עם תווים כלליים

כברירת מחדל, שירותי Knative serving משתמשים בשירות DNS של nip.io עם תווים כלליים. עם זאת, אתם יכולים לבחור להשתמש בשירותים אחרים כמו sslip.io. כדי להגדיר שירותים אחרים של תווים כלליים ב-DNS, קודם צריך לקבל את כתובת ה-IP החיצונית של מאזן העומסים, ואז להשתמש בכתובת ה-IP הזו כדי להגדיר את שירות התווים הכלליים ב-DNS.

הגדרת הדומיין של האשכול

‫Knative serving משתמש ב-config-domain ConfigMap כדי להגדיר את דומיין הבסיס שבו משתמשים כל שירותי Knative serving שנפרסו. אפשר לעדכן את ה-ConfigMap דרך מסוף Google Cloud או באמצעות פקודות kubectl.

המסוף

כדי לשנות את דומיין הבסיס שמוגדר כברירת מחדל מ-nip.io לאחד משירותי ה-DNS עם התו הכללי בקונסולה Google Cloud :

  1. נכנסים לדף Domain mappings של Knative serving במסוףGoogle Cloud :

    מעבר למיפוי דומיינים

  2. בוחרים באפשרות הוספת מיפוי > הוספת דומיין ברירת מחדל של אשכול.

  3. מסמנים את התיבה לצד האפשרות 'החלת מיפוי הדומיין הזה על כל שירותי Knative Serving שנפרסו באשכול הזה'.

  4. בוחרים את האשכול מהתפריט הנפתח.

  5. בשדה דומיין, מזינים את אתר ה-DNS עם התו הכללי שבו רוצים להשתמש. לדוגמה: sslip.io

kubectl

כדי לשנות את דומיין הבסיס שמוגדר כברירת מחדל מ-nip.io לאחד מאתרי ה-DNS עם התו הכללי, משתמשים בפקודה:

kubectl patch configmap config-domain --namespace knative-serving --patch \
  '{"data": {"kuberun.EXTERNAL_IP.nip.io": null, "DNS_SERVICE": ""}}'

החלפה

  • EXTERNAL_IP עם כתובת ה-IP החיצונית של מאזן העומסים.
  • DNS_SERVICE עם אתר ה-DNS של התו הכללי שבו אתם משתמשים. לדוגמה: sslip.io

השירות שלך זמין עכשיו בכתובת http://{SERVICE_NAME}.{NAMESPACE}.kuberun.{EXTERNAL_IP}.{DNS_SERVICE}.