התאמה אישית של ההתקנה של Google Cloud

איך מתקינים את Knative serving באשכולות GKE Google Cloud השירות Knative serving משתמש עכשיו ב-Cloud Service Mesh וב-GKE Enterprise fleets. מידע על החידושים והשינויים בפריסות של Knative serving fleet

בדף הזה אפשר להתאים אישית התקנה חדשה או להגדיר התקנה קיימת של Fleet של Knative serving. לדוגמה, אפשר להגדיר אשכולות פרטיים או להגדיר אישורים של Cloud Monitoring.

שלבי ההתקנה שמוגדרים כברירת מחדל פורסים באופן אוטומטי את CloudRun המשאב המותאם אישית הבא, שמאפשר מדדים באשכולות GKE Enterprise ב-Google Cloud:

  apiVersion: operator.run.cloud.google.com/v1alpha1
  kind: CloudRun
  metadata:
    name: cloud-run

מידע כללי על משאבים מותאמים אישית זמין במאמר בנושא משאבים מותאמים אישית.

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

  • חשוב לוודא שאתם עומדים בדרישות המוקדמות להתקנה.

  • אם Knative serving מותקן באשכול, צריך לוודא שתוסף GKE לא קיים לפני שמבצעים את השלבים האלה להתקנת רכיבי הצי. אם התקנתם את התוסף, אתם צריכים לפעול לפי השלבים לשדרוג ל-Fleets של GKE Enterprise.

    בודקים אם התוסף GKE מותקן.

    כדי לבדוק אם ההתקנה של Knative serving היא תוסף GKE, מריצים את הפקודה הבאה:

    gcloud container clusters describe \
    CLUSTER_NAME \
    --region CLUSTER_LOCATION \
    --project PROJECT_ID --format='get(addonsConfig.cloudRunConfig)'

    מחליפים את:

    • CLUSTER_NAME בשם של האשכול.
    • CLUSTER_LOCATION עם המיקום שבו האשכול נמצא.
    • PROJECT_ID במזהה הפרויקט. Google Cloud

    תוצאות:

    • GKE add-on לא מותקן:
      • אם התוסף אף פעם לא הותקן, לא מוחזר דבר למסוף.
      • disabled=true מוחזר אם התוסף הוסר בעבר.
    • התוסף GKE מותקן: אם התוסף מותקן באשכול, פרטי ההגדרה של התוסף מוחזרים. דוגמה: loadBalancerType=LOAD_BALANCER_TYPE_EXTERNAL
    דוגמה:
    בדוגמה הבאה אפשר לראות ש-Knative serving הותקן באשכול my-addon-cluster באמצעות תוסף GKE, שמוגדר לטפל בתעבורה חיצונית:
    gcloud container clusters describe my-addon-cluster \
    --region us-central1-c --project my-gcp-project \
    --format='get(addonsConfig.cloudRunConfig)'

    תשובה:

    loadBalancerType=LOAD_BALANCER_TYPE_EXTERNAL

הגדרת משאב מותאם אישית CloudRun

כדי להגדיר את ההתקנה, צריך ליצור ולהגדיר ידנית את המשאב המותאם אישית CloudRun.

כדי ליצור באופן ידני CloudRun משאב בהתאמה אישית לאשכולות GKE ב- Google Cloud:
  1. יוצרים קובץ YAML וכוללים בו את הגדרת ברירת המחדל, לדוגמה cloudrunanthos.yaml:

    apiVersion: operator.run.cloud.google.com/v1alpha1
    kind: CloudRun
    metadata:
      name: cloud-run
    
  2. ב-cloudrunanthos.yaml, אתם יכולים להתאים אישית את ההתקנה על ידי הגדרת מאפיין אחד או יותר מהמאפיינים הבאים בקטע spec:

    • אשכולות פרטיים: כדי להתקין את Knative serving באשכולות פרטיים ב- Google Cloud, צריך להוסיף את קבוצת המאפיינים clusterConfig ו-isPrivate.

      המאפיינים clusterConfig ו-isPrivate:

      spec:
        clusterConfig:
          isPrivate: true
      

      שימו לב שההגדרה הזו משביתה את ה-TLS המנוהל כי אשכולות פרטיים לא יכולים לתקשר עם רשות האישורים כברירת מחדל.

    • מדדים: מוסיפים את קבוצת המאפיינים metricscollector כדי להגדיר את Cloud Monitoring. כברירת מחדל, המדדים מופעלים באשכולות GKE Enterprise ב-Google Cloud.

      spec:
        metricscollector:
          stackdriver:
            projectid: PROJECT_ID
            gcpzone: CLUSTER_LOCATION
            clustername: CLUSTER_NAME
            secretname: SECRET_NAME
            secretkey: SECRET_KEY
      

      מחליפים את מה שכתוב בשדות הבאים:

      • PROJECT_ID במזהה הפרויקט. Google Cloud
      • CLUSTER_LOCATION עם האזור או האזור שבו האשכול ממוקם.
      • CLUSTER_NAME עם המזהה של האשכול או המזהה המלא של האשכול.
      • SECRET_NAME מחליפים בשם של הסוד בשביל חשבון השירות של מרחב השמות knative-serving.
      • SECRET_KEY במפתח של הסוד לחשבון השירות של מרחב השמות knative-serving. לדוגמה: key.json

        פרטים על חשבונות שירות זמינים במאמרים הבאים:

דוגמה

בדוגמה הזו של משאב מותאם אישית CloudRun, פרטי ההגדרה של Cloud Monitoring מציינים שימוש בסוד my-gcp-logging-secret ובמפתח key.json:

 apiVersion: operator.run.cloud.google.com/v1alpha1
 kind: CloudRun
 metadata:
   name: cloud-run
 spec:
   metricscollector:
     stackdriver:
       projectid: my-gcp-project-id
       gcpzone: us-central1-c
       clustername: my-anthos-cluster-name
       secretname: my-gcp-logging-secret
       secretkey: key.json
 ```

הפעלה והתקנה של Knative serving

מפעילים את רכיב Knative serving בצי GKE Enterprise ואז פורסים את המשאב המותאם אישית CloudRun:

  1. מפעילים Knative serving ב-Fleet:

    gcloud container fleet cloudrun enable --project=PROJECT_ID
    

    מחליפים את PROJECT_ID במזהה הפרויקט. Google Cloud

    פרטים ואפשרויות נוספות מופיעים במאמר בנושא gcloud container fleet cloudrun enable.

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

    המסוף

    כדי לראות אם רכיב Knative serving מופעל במסוףGoogle Cloud :

    מעבר אל Feature Manager

    שורת הפקודה

    בודקים אם הסטטוס של appdevexperience הוא ACTIVE:

    gcloud container fleet features list  --project=PROJECT_ID
    

    מחליפים את PROJECT_ID במזהה הפרויקט. Google Cloud

    פרטים ואפשרויות נוספות מופיעים במאמר רשימת התכונות של gcloud container fleet.

    תוצאה:

    NAME               STATE
    appdevexperience   ACTIVE
    
  3. לכל אשכול GKE Enterprise שבו רוצים להתקין את Knative serving, צריך לפרוס את CloudRun המשאב המותאם אישית:

    gcloud

    gcloud container fleet cloudrun apply --gke-cluster=CLUSTER_LOCATION/CLUSTER_NAME --config=CONFIG_FILE
    

    מחליפים את מה שכתוב בשדות הבאים:

    • CLUSTER_LOCATION עם האזור או האזור שבו האשכול ממוקם.
    • CLUSTER_NAME עם המזהה של האשכול או המזהה המלא של האשכול.
    • CONFIG_FILE בנתיב היחסי של שם הקובץ אל cloudRun המשאב המותאם אישית. דוגמה cloudrunanthos.yaml.

    פרטים ואפשרויות נוספות מופיעים במאמר בנושא gcloud container fleet cloudrun apply.

    kubectl

    kubectl apply --kubeconfig=KUBECONFIG --filename CONFIG_FILE
    

    מחליפים את מה שכתוב בשדות הבאים:

    • KUBECONFIG בנתיב המוחלט לקובץ התצורה של kubectl.
    • CONFIG_FILE בשם הקובץ ובנתיב היחסי של cloudRun המשאב המותאם אישית. דוגמה cloudrunanthos.yaml.

    פרטים ואפשרויות נוספות זמינים במאמר בנושא kubectl apply.

  4. מוודאים שהאפשרות Knative serving הופעלה באשכול:
    1. פותחים את המסוף Google Cloud :

      מעבר לאשכולות GKE

    2. לוחצים על שם האשכול כדי לפתוח את חלונית הפרטים.

    3. מריצים את הפקודה הבאה כדי לבדוק אם אפשר לראות את פרטי הגרסה של Knative serving: kubectl get all -n knative-serving -o 'go-template={{index .metadata.labels "serving.knative.dev/release"}}'
    4. מוודאים שכל הפריסות הספציפיות של Knative Serving הן בסטטוס 'פועל' במרחבי השמות knative-serving ו-appdevexperience.

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

מגדירים את ההתקנה של Knative serving.