התקנת רכיב המאגר של Knative serving

מתקינים את Knative serving כרכיב של GKE Enterprise fleet.

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

סקירה כללית

התקנת Knative serving כרכיב של צי כוללת:

  1. הפעלת ציוד בפרויקט ב- Google Cloud .
  2. מעתיקים את שער gke-system-gateway אל שער knative-ingress-gateway.
  3. התקנת משאב מותאם אישית של Knative serving באשכול.

שימו לב: במהלך התהליך הזה, שירותי Knative serving הקיימים ימשיכו לטפל בתנועת הנתונים ללא הפרעה.

התקנת רכיב המאגר של Knative serving

בקטע הזה, סקריפט ההעברה משמש להתקנת Knative serving כרכיב של צי.

  1. מריצים את הפקודה הבאה כדי להפעיל את סקריפט ההעברה:

    ./migration-addon.sh --command install-cloud-run-v2
    

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

  2. בטרמינל, סקריפט ההעברה מבקש את האישור שלכם לביצוע כל פעולה. מזינים y בכל הנחיה כדי להמשיך.

    ההנחיות במהלך תהליך ההתקנה של רכיב Knative serving fleet נראות בערך כך:

    In the process of installing the Knative serving fleet component, the
    script performs the following:
    1. Enabling the fleet in your Google Cloud project.
    2. Copy gke-system-gateway Gateway to knative-ingress-gateway Gateway
    3. Installing the Knative serving custom resource in your cluster.
    Continue? [Y/n] y
    
    1. Enabling Anthos services?
    Continue? [Y/n] y
    
    Operation "operations/acf.p2-625914735451-10d4b6ff-68e1-4a09-97c4-79b209be5031" finished successfully.
    
    2. Copying gke-system-gateway Gateway to knative-ingress-gateway Gateway
    
    configmap/original-knative-ingress-gateway-spec unchanged
    gateway.networking.istio.io/knative-ingress-gateway patched (no
    change)
    configmap/config-istio patched
    configmap/config-istio patched
    gateway.networking.istio.io "gke-system-gateway" deleted
    
    3. Install the Knative serving custom resource in your cluster?
    Continue? [Y/n] y
    
    Waiting for Knative serving feature to be enabled
    Knative serving feature is enabled.
    The YAML file for the new operator appdevexperience-operator was created at
    /tmp/tmp.bI7H1qagGa/cloudrun.yaml
    customresourcedefinition.apiextensions.k8s.io/cloudruns.operator.run.cloud.google.com
    condition met
    kubeconfig entry generated for my-gke-cluster.
    Added the custom resource for Knative serving
    
    Waiting for Knative serving serving to be ready...
    Knative serving serving is not ready yet.
    Knative serving serving is ready.
    
    Removing the ValidatingWebhookConfiguration used to prevent deletion
    validatingwebhookconfiguration.admissionregistration.k8s.io
    "prevent-deletion-cloud-run-resources" deleted
    
    Knative serving has been installed as an Anthos fleet component
    

    בעיה מוכרת באשכולות פרטיים

    אם התקנתם את Knative serving באשכול פרטי ב- Google Cloud, יכול להיות שתקבלו שגיאת זמן קצוב לתפוגה מהמערכות הבאות:

    Waiting for CRD cloudruns.operator.run.cloud.google.com to be created
    

    כדי לעקוף את שגיאת הזמן הקצוב לתפוגה, מריצים את הפקודה הבאה:

    cat <<EOF | kubectl apply -f -
    apiVersion: operator.run.cloud.google.com/v1alpha1
    kind: CloudRun
    metadata:
      name: cloud-run
    EOF
    
  3. מוודאים שרכיב התכונה Knative serving מופעל:

    המסוף

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

    מעבר אל Feature Manager

    שורת הפקודה

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

    gcloud alpha container hub features list  --project=PROJECT_ID
    

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

    פרטים ואפשרויות נוספות זמינים במאמר רשימת התכונות של gcloud alpha container hub.

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

אחרי שמתקינים את Cloud Service Mesh ואת Knative serving, אפשר להתחיל להעביר את התנועה למשאבים החדשים ולהשיק אותם.

חזרה לגרסה קודמת

אם אתם צריכים לבטל את השינויים שביצעתם באמצעות השלבים שלמעלה, אתם יכולים להשתמש בסקריפט ההעברה כדי:

  • הסרת השליטה במשאבי Knative serving מהאופרטור appdevexperience-operator.
  • מוחקים את המשאב המותאם אישית של Knative serving ומסירים את האופרטור appdevexperience-operator.
  • אופציונלי: משביתים את Knative serving בצי בפרויקטGoogle Cloud .

כדי להתחיל בתהליך ההחזרה למצב הקודם:

  1. מריצים את הפקודה הבאה כדי להפעיל את סקריפט ההעברה:

    ./migration-addon.sh --command rollback-install-cloud-run-v2
    
  2. בטרמינל, סקריפט ההעברה מבקש את האישור שלכם לביצוע כל פעולה. מזינים y בכל הנחיה כדי להמשיך.

    ההנחיות במהלך תהליך ההסרה של רכיב ה-Fleet אמורות להיראות כך:

    In the step of rolling back the Knative serving fleet installation, the
    script performs the following:
    1. Remove control of Knative serving resources from the operator
       `appdevexperience-operator`.
    2. Delete the Knative serving custom resource and uninstall the operator
       `appdevexperience-operator`.
    3. Revert the changes installed by the Knative serving fleet component.
    4. Optional: Disable Knative serving in the GKE Enterprise fleet of your
       Google Cloud project.
    Continue? [Y/n] y
    
    1. Removing control of Knative serving resources from the operator
       `appdevexperience-operator`.
    
    Creating a ValidatingWebhookConfiguration to prevent the deletion of the
    resources under the following namespaces:
    knative-serving, cloud-run-system, and gke-system
    
    waiting for OwnerReferences of Knative serving resources to be deleted
    
    OwnerReferences of Knative serving resources are deleted
    
    Waiting for Knative serving serving to be ready...
    Knative serving serving is ready.
    
    2. Delete the Knative serving custom resource and uninstall the operator
       `appdevexperience-operator`?
    Continue? [Y/n] y
    
    cloudrun.operator.run.cloud.google.com "cloud-run" deleted
    clusteractiveoperand.operand.run.cloud.google.com/sha256-3c1c80a329 patched
    
    waiting for appdevexperience namespace to be deleted
    
    3. Revert the changes installed by the fleet component?
    configmap/config-observability patched
    
    4. Optional: Disable Knative serving in the Anthos fleet of your
       Google Cloud project?
       You can choose to skip this step and keep the feature enable within your
       Anthos fleet. For example, you might want to keep the
       Knative serving fleet component enabled because it was enabled prior to
       this migration.
    Continue (or Skip)? [Y/n] n