בעיות מוכרות ב-Apigee

הדף הזה רלוונטי ל-Apigee ול-Apigee Hybrid.

לעיון במסמכי התיעוד של Apigee Edge

בוחרים אחת או יותר מהאפשרויות הבאות כדי לסנן את הדף הזה:

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

מזהה הבעיה הבעיה הזו משפיעה על סטטוס תיאור
513032450 ‫hybrid 1.16.2 פתיחה apigee-connect-agent תיקון באגים: תיקון של בעיות שקשורות ל-tether wedges באשכולות RKE2-on-GKE אחרי שדרוג של ערכת הכלים של Go לגרסה 1.26.3.

לא ניתן לזהות את החיבור התקוע באמצעות ה-apigee-connect-agent pod. אנחנו עדיין בודקים את שורש הבעיה, אבל יכול להיות שהיא קשורה ל-cloudNAT, שמשמש את אשכולות הבדיקה שלנו.

פתרון עקיף: משתמשים ביותר מ-pod אחד של apigee-connect-agent. הפוד השני יפעל בצורה תקינה, והפוד הראשון יאפס את החיבור אחרי שעתיים ויפעל בצורה תקינה לאחר מכן.

515424331 ‫hybrid 1.16.3 FIXED בגרסה היברידית 1.16.4 הסקריפט apigee-pull-push.sh נכשל בגרסה 1.16.3 כי חלק מהתמונות שהועברו מגרסה 1.16.2 לא תויגו מחדש בתג 1.16.3 במאגר gcr.io/apigee-release/hybrid/.

כש-apigee-pull-push.sh (או כל docker pull ידני) ביקש תמונה מושפעת בתג 1.16.3, הרישום החזיר שגיאה image not known והסקריפט בוטל. שדרוגים שבוצעו באמצעות תרשימי Apigee hybrid Helm לא הושפעו, כי התרשימים מפנים ישירות ל-digests הנכונים של התמונות.

פתרון עקיף: לכל תמונה מושפעת, מושכים את התג 1.16.2 במקום 1.16.3, או משדרגים ישירות ל-1.16.4, שמפרסם מחדש את כל התמונות עם התג התואם.

512866352 ‫hybrid 1.16.2 FIXED בגרסה היברידית 1.16.3 מאגרי סודות חיצוניים (כמו HashiCorp Vault) לא פועלים עם תמונת apigee-redis בגלל חוסר התאמה בגרסת glibc.

פתרון עקיף: אל תגדירו שילוב של חנות סודות חיצונית (ESS) עבור apigee-redis ב-Apigee hybrid 1.16.2. עד שיהיה תיקון, אפשר להשתמש בהגדרת ברירת המחדל של הסוד.

415061771 ‫Apigee
Apigee Hybrid
פתיחה הודעת השגיאה של בקר "האובייקט שונה"

לקוחות של Hybrid עשויים לראות ביומני הבקרה את ההודעות החוזרות 'object has been modified; please apply your changes to the latest version and try again'. ההודעות האלה הן תופעת לוואי לא מזיקה של מנגנוני הבטיחות המובנים ב-Apigee וב-Apigee Hybrid, והן לא מעידות על סיכון כלשהו בסביבות של Apigee או Apigee Hybrid. כדי להבטיח אמינות מלאה, המערכת מתוכננת לבדוק מחדש ולאמת מחדש את ההגדרות הפנימיות שלה כמה פעמים בכל דקה, כדי לוודא שהן תואמות בדיוק להגדרה הרצויה. השגיאות האלה מציינות ששני בקרי משנה ניסו לעדכן את ה'מפרטים' הפנימיים שלהם בו-זמנית. העדכון הראשון מצליח, והעדכון השני גורם להצגת ההודעה, והמערכת תבצע את העדכון החדש מאוחר יותר. מכיוון שמדובר בעדכונים אדמיניסטרטיביים פנימיים בלבד, והם לא משנים את האופן שבו ממשקי ה-API מעבדים את התנועה בפועל, השירותים אמורים להישאר יציבים ולא להיות מושפעים כלל.

499322601 ‫hybrid 1.16.0-hotfix.1, ‏
hybrid 1.15.2, ‏
hybrid 1.14.4
FIXED in hybrid 1.16.2 ב-Apigee לא תהיה תמיכה בפרוקסי קדימה שמוגדרים בו פרטי כניסה של אימות בסיסי.
495305258 ‫Apigee (פתרון של זירת המסחר) פתיחה שיבוש בהטמעה של Apigee Drupal Portal דרך Cloud Marketplace

אנחנו מעבירים את פתרון Apigee Drupal Portal Marketplace לשימוש ב-Infrastructure Manager במקום ב-Cloud Deployment Manager. במהלך תקופת המעבר הזו, יכול להיות שחלק מהפונקציות של הפריסה והניהול לא יהיו זמינות.

השפעה:

  • פריסות חדשות: החל מ-1 באפריל 2026, יכול להיות שניסיון לפרוס מופע חדש של Apigee Drupal Portal באמצעות הלחצן 'פריסה' ב-Cloud Marketplace ייכשל.
  • פריסות קיימות: המשאבים הבסיסיים שלכם (כמו מכונות וירטואליות ומסדי נתונים של Cloud SQL) לא יושפעו וימשיכו לפעול כרגיל. עם זאת, יכול להיות שפעולות ניהול של הפריסה באמצעות תכונות שמבוססות על Deployment Manager דרך ממשק המשתמש של Cloud Marketplace או הכלי gcloud deployment-manager ייכשלו.

פתרון עקיף: מבצעים שינויים בהגדרות או משימות ניהול ישירות במשאבי Google Cloud הפרט (Compute Engine,‏ Cloud SQL וכו') ולא דרך ממשק המשתמש של Cloud Marketplace.

496552286 Apigee פתיחה הפריסה נכשלת עבור שרתי proxy של MCP Discovery באזורים עם מגבלות קיבולת.

פריסת התשתית של MCP עשויה להיות כפופה למגבלות קיבולת באזורים הבאים:

  • asia-east2
  • asia-northeast3
  • asia-southeast2
  • australia-southeast1
  • europe-central2
  • europe-west12
  • europe-west9
  • me-central2
  • us-central2

אם מופיעה שגיאה שקשורה לכשל בהקצאת מאזן עומסים, או אם סטטוס ההקצאה לא משתנה לDeployed (הופעל), יכול להיות שהסיבה לכך היא מגבלות זמניות על קיבולת התשתית באזור שנבחר. כדאי לנסות לפרוס את ה-proxy בסביבה באזור אחר.

490308770 ‫hybrid 1.12.x, ‏ hybrid 1.15.x, ‏ hybrid 1.16.0 תוקן בגרסאות 1.16.0-hotfix.1 ו-1.15.2 הגדרות של שרת proxy מאומת מסוג HTTP נכשלות בגלל מחרוזות של כתובות URL שנוצרו בצורה לא תקינה בתבניות Helm.

כשמגדירים שרת Proxy יוצא מאומת באמצעות httpProxy.username ו-httpProxy.password, תרשימי Helm של Apigee Hybrid יוצרים מחרוזות http_proxy ו-https_proxy עם פורמט שגוי. התבניות מוסיפות בטעות מרכאות כפולות באמצע כתובת ה-URL, וגורמות לקריסת רכיבים כמו פודים של אימות גדר ההפרדה עם שגיאה net/url: invalid userinfo.

פתרון עקיף: עורכים ידנית את קובצי התבנית של Helm כדי להסיר את הפונקציה quote משדות שם המשתמש והסיסמה ביצירת כתובת ה-URL של ה-proxy. לדוגמה, ב-apigee-operator/templates/apigee-operators-guardrails.yaml, משנים את ההגדרות של משתני הסביבה של ה-proxy כדי לוודא שפרטי הכניסה לא מופיעים במירכאות בנפרד בתוך מחרוזת כתובת ה-URL.

482077193 ‫hybrid 1.15.0 ואילך FIXED בגרסה 1.16.0-hotfix.1 שרשור של שרתי Proxy נכשל עם 404 route_not_found בהגדרות של מרחב שמות יחיד בכמה ארגונים.

בסביבות Apigee Hybrid שבהן כמה ארגונים חולקים מרחב שמות יחיד של Kubernetes, יכול להיות ששרשור פרוקסי ייכשל לסירוגין עם שגיאת HTTP 404 route_not_found. הסיבה לכך היא ששערי השרשור הפנימיים של ארגונים שונים משתמשים באותו בורר ingress_name, ולכן Envoy טוען את כללי הניתוב באופן לא עקבי.

פתרון עקיף: צריך להקצות שם ייחודי לשער השרשור לכל ארגון בקובץ overrides.yaml כדי להבטיח בידוד של הבורר:

apigeeChainingGateway:
  name: internal-chaining-UNIQUE_SUFFIX

בנוסף, חשוב לוודא שהבוררים של המארחים הווירטואליים ושירותי Kubernetes הייעודיים עודכנו כך שיפנו לשם הייחודי הזה.

479040521 ‫hybrid 1.16.0 תוקן בגרסה hybrid 1.16.0-hotfix.1 apigee-operator-guardrails-sa לא נוצר ב-AKS/EKS עם Federated Workload Identity.

חשבון השירות apigee-operator-guardrails-sa של Kubernetes לא נוצר כשמתקינים או משדרגים את תרשים apigee-operator ב-Apigee Hybrid 1.16.0 בפלטפורמות שאינן GKE שבהן מופעלת Workload Identity מאוחדת (WIF).

פתרון עקיף: תיקון ידני של תבנית התרשים של apigee-operator Helm:

  1. עורכים את apigee-operator קובץ התבנית של תרשים Helm apigee-operator/templates/apigee-operator-guardrails-sa.yaml.

    מעדכנים את התנאי הראשוני if כך שיכלול את הבדיקה של federatedWorkloadIdentity:

    {{ - if or (.Values.serviceAccountSecretProviderClass) (.Values.gcp.workloadIdentity.enabled) (.Values.gcp.federatedWorkloadIdentity.enabled) } }
  2. עורכים את apigee-operator קובץ התבנית של Helm chart apigee-operator/templates/apigee-operator-guardrails.yaml (הערה: זהו קובץ התבנית, ולא קובץ apigee-operator-guardrails-sa).apigee-operator-guardrails.yaml

    מעדכנים את התנאי הראשוני if בשורה 17 מיד אחרי spec:כדי לכלול את הבדיקה של federatedWorkloadIdentity:

    {{ - if or (.Values.serviceAccountSecretProviderClass) (.Values.gcp.workloadIdentity.enabled) (.Values.gcp.federatedWorkloadIdentity.enabled) } }
  3. מחילים את השינויים על התרשים apigee-operator.
479872706 ‫hybrid 1.16.0 (EKS עם WIF ופרוקסי קדימה) תוקן בגרסה hybrid 1.16.0-hotfix.1 לא ניתן לטעון מוצרי API, אפליקציות ומפתחים אחרי העברת נתונים אל Apigee Hybrid 1.16.

אחרי שמשדרגים ל-Apigee Hybrid 1.16.0, יכול להיות שסביבות שמשתמשות באיחוד שירותי אימות הזהות של עומסי עבודה (WIF) בשילוב עם פרוקסי להעברת HTTP לא יצליחו לטעון ישויות ניהול (מוצרי API, אפליקציות, מפתחים) בגלל רגרסיה בהעברת אישורים ב-MART.

פתרון עקיף: מעדכנים את המאפיינים image.url ו-image.tag של רכיבי האופרטור ו-MART בקובץ overrides.yaml כדי להחיל את העדכון 1.16.0-hotfix.1:

ao:
  image:
    url: "gcr.io/apigee-release/hybrid/apigee-operators"
    tag: "1.16.0-hotfix.1"
mart:
  image:
    url: "gcr.io/apigee-release/hybrid/apigee-mart-server"
    tag: "1.16.0-hotfix.1"
482209901 ‫hybrid 1.16.0 תוקן בגרסה hybrid 1.16.0-hotfix.1 פריסת שרת ה-proxy לא הושלמה בגלל הרשאות RBAC חסרות ב-Hybrid v1.16.0.

יש בעיה מוכרת בגרסה 1.16.0 שבה יכול להיות שקלאסטרים היברידיים לא ידווחו על סטטוס הפריסה של שרתי proxy. הבעיה נובעת מהרשאה חסרה בתפקיד apigee-manager-role.

פתרון עקיף: מוסיפים את ההרשאה לתבנית של תרשים helm‏ apigee-operator:

  1. עורכים את apigee-operator קובץ התבנית של תרשים Helm apigee-operator/templates/apigee-operators.yaml.
  2. מוסיפים את הפועל - watch לdeployments משאב, אחרי הפועל - update בשורה 584.
  3. מעדכנים את גרסת apigee-operator Helm.
418274570 ‫hybrid 1.16.0 FIXED דף נתוני הגרסה של Hybrid לא עודכן במידע על 1.16.0-hotfix.1.

ב דף הערות הגרסה של Hybrid לא מופיע מידע על העדכון 1.16.0-hotfix.1. פרטים על העדכון זמינים ב Apigee hybrid v1.16.0-hotfix.1 release notes.

484366184 ‫hybrid 1.14.x, ‏ hybrid 1.15.x FIXED in hybrid 1.16.0 בגרסאות 1.14 ו-1.15 של Apigee Hybrid מתרחש לולאת קריסה ב-apigee-ingressgateway-manager כשמשתמשים ב-Kubernetes Gateway API בגרסה 1.4.0 ואילך.

הבעיה הזו לא משפיעה על Apigee Hybrid 1.16.

פתרון עקיף: אם אתם צריכים להשתמש ב-Kubernetes Gateway API עם גרסאות Apigee Hybrid‏ 1.14 או 1.15, אתם צריכים להתקין את גרסה v1.3.x של Gateway API. לדוגמה:

kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.3.0/standard-install.yaml

מידע נוסף:

480997525 ‫Apigee 1-17-0-apigee-1 תוקן ב-Apigee 1-17-0-apigee-2 התקשרות לשרת proxy נכשלת עם שגיאה [The URI contain illegal characters] אחרי שדרוג Netty.

בגרסה 1-17-0-apigee-1 של Apigee, שדרוג של Netty לגרסה 4.1.129.Final גרם לרגרסיה. הדבר עלול לגרום לכך שקריאות ל-proxy ל-API ייכשלו עם קוד סטטוס 400 והודעת השגיאה The URI contain illegal characters. הבעיה הזו מתועדת באופן חיצוני ב- netty/netty#16020.

465834046 ‫hybrid 1.14.3,‏ hybrid 1.15.1 ו-hybrid 1.16.0 ואילך לשדרוגים תוקן בגרסאות hybrid 1.14.3,‏ hybrid 1.15.1 ו-hybrid 1.16.0 להתקנות חדשות בגרסאות 1.18 ואילך של cert-manager, ברירת המחדל של מדיניות רוטציית המפתחות הפרטיים השתנתה מ-Never ל-Always. אם המפתח הפרטי של apigee-ca עובר רוטציה, תהיה לכך השפעה על התנועה

בגרסאות חדשות יותר של cert-manager (גרסה 1.18 ואילך), המפתחות הפרטיים מסתובבים עכשיו באופן אוטומטי. כשמבצעים רוטציה של המפתח הזה לאישור apigee-ca, תהיה הפסקה זמנית בשירות.

פתרון עקיף: כדי להימנע מהבעיה, אפשר לבחור אחת מהאפשרויות הבאות:

  • אל תשדרגו את cert-manager לגרסה גבוהה מ-1.17.x.
  • עורכים את האישור apigee-ca במרחב השמות cert-manager ומגדירים את spec.privateKey.rotationPolicy ל-Never. כדי לערוך את האישור ולשדרג את cert-manager, פועלים לפי השלבים הבאים:
    1. בודקים את התוכן של אישור apigee-ca כדי לראות אם rotationPolicy מוגדר:
      kubectl get certificate apigee-ca -n cert-manager -o yaml
      

      מחפשים את הערכים בקטע spec.privateKey בפלט:

      ...
      spec:
        commonName: apigee-hybrid
        duration: 87600h
        isCA: true
        issuerRef:
          group: cert-manager.io
          kind: ClusterIssuer
          name: apigee-root-certificate-issuer
        privateKey:
          algorithm: ECDSA
          # Note: rotationPolicy would appear here if it is set.
          size: 256
        secretName: apigee-ca
      ...
    2. אם הערך של rotationPolicy לא מוגדר או אם הוא מוגדר ל-Always, עורכים את אישור apigee-ca כדי להגדיר את הערך של rotationPolicy ל-Never:
      1. קודם מבצעים הרצה יבשה:
        kubectl patch Certificate \
          --dry-run=server \
          -n cert-manager \
          --type=json \
          -p='[{"op": "replace", "path": "/spec/privateKey/rotationPolicy", "value": "Never"}]' \
          -o=yaml \
          apigee-ca
        
      2. מחילים תיקון על האישור:
        kubectl patch Certificate \
          -n cert-manager \
          --type=json \
          -p='[{"op": "replace", "path": "/spec/privateKey/rotationPolicy", "value": "Never"}]' \
          -o=yaml \
          apigee-ca
        
    3. מוודאים שהערך של rotationPolicy מוגדר עכשיו כ-Never:
      kubectl get certificate apigee-ca -n cert-manager -o yaml
      

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

      ...
      spec:
        commonName: apigee-hybrid
        duration: 87600h
        isCA: true
        issuerRef:
          group: cert-manager.io
          kind: ClusterIssuer
          name: apigee-root-certificate-issuer
        privateKey:
          algorithm: ECDSA
          rotationPolicy: Never
          size: 256
        secretName: apigee-ca
      ...
    4. משדרגים את cert-manager. הפקודה הבאה תוריד ותתקין את cert-manager v0.14.2:
      kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v0.14.2/cert-manager.yaml

כך עושים זאת:

458417250 ‫Apigee 1-16-0-apigee-4 תוקן ב-Apigee 1-16-0-apigee-6 מעבד הבקשות מחזיר שגיאה 500 עם "Duplicate Header "authorization"".

כשכמה כותרות הרשאה מופיעות בבקשה, שער הכניסה של Apigee לא משרשר אותן לכותרת אחת. כתוצאה מכך, מעבד ההודעות מחזיר שגיאה 500 עם הודעה "Duplicate Header "authorization"".

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

curl -s https://my-hostname.net/mocktarget/echo \
          -H 'authorization: a, b'

462685598 ממשק משתמש פתיחה

בממשק המשתמש של Apigee אין כרגע אפשרות להקצאת ארגוני Apigee עם Google-owned and Google-managed encryption key.

בממשק המשתמש של Apigee אין אפשרות לבחור Google-owned and Google-managed encryption key כשמקצים ארגונים עם מינוי.

פתרון עקיף: משתמשים בממשקי Apigee API כדי ליצור ארגונים מבוססי-מינוי עם Google-owned and Google-managed encryption key.

כמו שמוזכר ב מאמרי העזרה של ה-Apigee API, כשיוצרים את הארגון ב-Apigee, אפשר ליצור את הארגון באמצעות Google-owned and Google-managed encryption key בלי לספק ערכים לשדות runtimeDatabaseEncryptionKeyName,‏ apiConsumerDataEncryptionKeyName ו-controlPlaneEncryptionKeyName.

460431753 ‫Apigee, ‏ Apigee Hybrid פתיחה אין תמיכה במדיניות של Apigee Model Armor ב-WebSockets.

מדיניות Apigee הגנה מוגברת על המודל, כולל SanitizeUserPrompt ו- SanitizeModelResponse, לא פועלת כרגע כמצופה כשמשתמשים בה בשרתי proxy ל-API שמטפלים בחיבורי WebSocket. מידע נוסף על הגדרת WebSocket זמין במאמר WebSockets with Apigee.

433759657 Apigee תוקן בגרסה ‎1-16-0-apigee-3 ואילך

אחרי השדרוג לגרסה 1-16-0-apigee-3, יכול להיות שחלק מהארגונים ב-Apigee ייתקלו בשגיאות HTTP 500 שנובעות מ-java.lang.NoClassDefFoundError במדיניות Java Callout. השגיאה תיראה כך:

{"fault":{"faultstring":"Failed to execute JavaCallout. org/apache/commons/lang/StringUtils","detail":{"errorcode":"steps.javacallout.ExecutionError"}}}

השגיאה הזו מתרחשת כשמדיניות Java Callout מסתמכת בצורה שגויה על ספריות שמיועדות לשימוש פנימי ב-Apigee במקום לספק תלויות משלה.

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

ב-proxy ל-API שמשתמש בספריית Apache Commons JAR, מייבאים את קובץ Apache Commons JAR כדי לכלול אותו כמשאב עבור ה-proxy. מידע נוסף זמין במאמר הנחיות לגבי משאבי Java.

451841788 ‫hybrid 1.14.3 ו-hybrid 1.15.1 FIXED ב-Apigee hybrid נדרש המאפיין mintTaskScheduler.serviceAccountPath גם אם המונטיזציה לא מופעלת.

שדרוג התרשים apigee-org עלול להיכשל אם הנכס mintTaskScheduler.serviceAccountPath לא מוגדר, גם אם האפשרות 'מונטיזציה' לא מופעלת:

Error: UPGRADE FAILED: execution error at (apigee-org/templates/mint-task-scheduler-gsa-secret.yaml:12:63): mintTaskScheduler.serviceAccountPath is required!

פתרון עקיף: מסירים את הקבצים apigee-org/templates/mint-task-scheduler-gsa-secret.yaml ו-apitee-org/templates/mint-task-scheduler-sa.yaml.

אפשר גם להעביר את הקבצים למיקום נפרד מחוץ לספריית תרשים Helm. לחלופין, אפשר להוריד אותם שוב אם רוצים להפעיל מונטיזציה בעתיד, לפי ההוראות שבשלב 2: הורדת תרשימי Apigee Helm.

לדוגמה, מהספרייה helm-charts/:

  1. ls apigee-org/templates/

    פלט:

    apigee-org-guardrails.yaml              mart-sa.yaml
    apigee-proxy-chaining-certificate.yaml  mint-task-scheduler-gsa-secret.yaml
    apigee-proxy-chaining-route.yaml        mint-task-scheduler-sa.yaml
    ax-hash-salt-secret.yaml                NOTES.txt
    connect-agent-gsa-secret.yaml           organization.yaml
    connect-agent-sa.yaml                   udca-gsa-secret.yaml
    data-encryption-secret.yaml             udca-sa.yaml
    encryption-keys-secret.yaml             watcher-gsa-secret.yaml
    _helpers.tpl                            watcher-sa.yaml
    mart-gsa-secret.yaml
    
  2. (אופציונלי:)
    cp apigee-org/templates/mint-task-scheduler-gsa-secret.yaml /tmp/
    cp apigee-org/templates/mint-task-scheduler-sa.yaml /tmp/
  3. rm apigee-org/templates/mint-task-scheduler-gsa-secret.yaml
  4. rm apigee-org/templates/mint-task-scheduler-sa.yaml
  5. ls apigee-org/templates/

    פלט:

    apigee-org-guardrails.yaml              mart-gsa-secret.yaml
    apigee-proxy-chaining-certificate.yaml  mart-sa.yaml
    apigee-proxy-chaining-route.yaml        NOTES.txt
    ax-hash-salt-secret.yaml                organization.yaml
    connect-agent-gsa-secret.yaml           udca-gsa-secret.yaml
    connect-agent-sa.yaml                   udca-sa.yaml
    data-encryption-secret.yaml             watcher-gsa-secret.yaml
    encryption-keys-secret.yaml             watcher-sa.yaml
    _helpers.tpl
    
451375397 ‫hybrid 1.14.3 FIXED in hybrid 1.15.1

הסקריפט apigee-pull-push.sh יכול להחזיר הודעת שגיאה No such image, לדוגמה:

Error response from daemon: No such image: gcr.io/apigee-release/hybrid/apigee-stackdriver-logging-agent:latest

פתרון עקיף: עורכים את הסקריפט HELM_CHARTS_DIR/apigee-operator/etc/tools/apigee-pull-push.sh כדי לשנות את שורה 114 בפונקציה docker_tag() מ:

  docker tag "${source}/$i" "${dest}/$i:${TAG}"

אל:

  docker tag "${source}/$i:${TAG}" "${dest}/$i:${TAG}"
405936071 ‫hybrid 1.15.0 FIXED in hybrid 1.15.1

אם מציינים את metrics.serviceAccountRef או metrics.serviceAccountSecretProviderClass בקובץ overrides.yaml, תפקיד הטלמטריה יכוון לחשבון שירות שגוי.

פתרון עקיף: צריך להחיל מחדש את תיקון _helper.tpl בתרשים apigee-operator/.

  1. עורכים apigee-operator/templates/_helpers.tpl ומסירים את השורות הבאות מודגשות:

    {{- define "metricsSA" -}}
      {{- $metricsName := "apigee-metrics" }}
      {{- $telemetryName := "apigee-telemetry" -}}
      {{- $generatedName := include "orgScopeEncodedName" (dict "name" .Values.org) -}}
      {{- if .Values.gcp.workloadIdentity.enabled -}}
      {{- printf "%s-sa" $metricsName -}}
      {{- else if .Values.serviceAccountSecretProviderClass -}}  <-- DELETE
      {{- .Values.serviceAccountSecretProviderClass -}}          <-- DELETE
      {{- else if .Values.metrics.serviceAccountRef -}}          <-- DELETE
      {{- .Values.metrics.serviceAccountRef -}}                  <-- DELETE
      {{- else if .Values.multiOrgCluster -}}
      {{- printf "%s-%s" $metricsName $generatedName -}}
      {{- else -}}
      {{- printf "%s-%s" $metricsName $telemetryName -}}
      {{- end -}}
    {{- end -}}

    הקטע שמתקבל צריך להיראות כך:

    {{- define "metricsSA" -}}
      {{- $metricsName := "apigee-metrics" }}
      {{- $telemetryName := "apigee-telemetry" -}}
      {{- $generatedName := include "orgScopeEncodedName" (dict "name" .Values.org) -}}
      {{- if .Values.gcp.workloadIdentity.enabled -}}
      {{- printf "%s-sa" $metricsName -}}
      {{- else if .Values.multiOrgCluster -}}
      {{- printf "%s-%s" $metricsName $generatedName -}}
      {{- else -}}
      {{- printf "%s-%s" $metricsName $telemetryName -}}
      {{- end -}}
    {{- end -}}
  2. מחילים מחדש את התרשים apigee-operator.

    helm upgrade operator apigee-operator/ \
        --namespace APIGEE_NAMESPACE \
        --atomic \
        -f overrides.yaml
419856132 ‫hybrid 1.14.2 ואילך תוקן בגרסאות hybrid 1.14.3 ו-hybrid 1.15.0 אם gateway.networking.k8s.io/v1 מותקן באשכול,יכול להיות שהשדרוג של apigee-ingressgateway-manager ייכשל.

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

378686709 ‫Apigee
Apigee Hybrid
FIXED ב-Apigee (נדרשת שיחת תמיכה)
FIXED ב-hybrid 1.14.3 וב-hybrid 1.15.1 (נדרשת פעולה)

השימוש בתווים כלליים (*) בנתיבי הבסיס של שרתי proxy ב-Apigee עלול לגרום להתנגשות עם נתיבי בסיס מפורשים אחרים, וכתוצאה מכך לשגיאה 404. לדוגמה, שימוש בנתיבי הבסיס הבאים בשני שרתי proxy שמוצבים באותה סביבה עלול לגרום לשגיאה 404 כשמתקשרים אל Proxy-2:

Proxy-1: /a/v1/b
Proxy-2: /a/*/c

במקרה כזה, קריאות לנתיב הבסיס המפורש יסתיימו בהצלחה, אבל קריאות ל-Proxy-2 עשויות להחזיר 404, אם הנתיב עם התו הכללי מוערך כ-/a/v1/c.

תוקן: הבעיה הזו תוקנה ב-Apigee ובגרסה 1.14.3 ואילך של Apigee Hybrid. עם זאת, התיקון לא מופעל כברירת מחדל. אם רוצים להשתמש בתווים כלליים לחיפוש בנתיבי בסיס:

  • לקוחות עם ארגוני Apigee צריכים לפנות לתמיכה של Apigee כדי להפעיל את התיקון, אם צריך.
  • לקוחות עם ארגוני Apigee hybrid צריכים להשתמש בהליך הבא כדי להפעיל את התיקון, אם יש צורך.

התהליך: כדי להפעיל שימוש בתווים כלליים לחיפוש (*) בנתיבי הבסיס של proxy ב-Apigee Hybrid:

  1. מוסיפים את הפסקה הבאה לקובץ overrides.yaml לפני שמשדרגים לגרסה 1.14.3 של Hybrid או לגרסה מתקדמת יותר:
    runtime:
      cwcAppend:
        conf_message-processor-communication_classificationV2.enabled: "true"
    
  2. מחילים את השינויים על התרשים apigee-env. חוזרים על השינוי בכל סביבה בהתקנה.
    helm upgrade ENV_RELEASE_NAME apigee-env/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --set env=ENV_NAME \
      -f OVERRIDES_FILE
    
    • ENV_RELEASE_NAME הוא שם שמשמש למעקב אחרי התקנות ושדרוגים של תרשים apigee-env. השם הזה צריך להיות ייחודי ולא יכול להיות זהה לשמות אחרים של מהדורות Helm בהתקנה. בדרך כלל זהה ל-ENV_NAME. עם זאת, אם לסביבה שלכם יש את אותו שם כמו לקבוצת הסביבות, אתם צריכים להשתמש בשמות שחרור שונים לסביבה ולקבוצת הסביבות, למשל dev-env-release ו-dev-envgroup-release. מידע נוסף על מהדורות ב-Helm זמין בקטע שלושה מושגים חשובים במאמרי העזרה של Helm.
    • ENV_NAME הוא שם הסביבה שמשדרגים.
    • OVERRIDES_FILE הוא קובץ ההחלפות.
  3. שדרוג לגרסה 1.14.3 ואילך של Hybrid.
382565315 ‫hybrid 1.13.0, ‏
‫ hybrid 1.13.1, ‏
‫ hybrid 1.13.2, ‏
‫ hybrid 1.14.0
FIXED בגרסה היברידית 1.13.3 ובגרסה היברידית 1.14.1

שימוש ב-LogTimer ב-SecurityPolicy עלול לגרום לדליפת זיכרון.

בנסיבות מסוימות, שרשורי היומן של Apigee hybrid יכולים לצרוך את כל הזיכרון הזמין. לדוגמה, רשומות יומן תכופות שמתעדות שגיאות הרשאות שמשויכות לרכיב Javacallout עלולות לגרום לשגיאת OOM.

421190799 Apigee תוקן ב-Apigee 1-15-0-apigee-7

מעבד התוספים של Apigee לא תומך בעיבוד נתונים של יותר מ-100KB כחלק מאירועים של גוף הבקשה והתגובה.

432315283 Apigee פתיחה

כשמעדכנים keystore או truststore בלי ליצור keystore או truststore חדשים, יכול להיות שעדכונים בזמן ריצה ייכשלו ויגרמו לשגיאה הבאה שמתרחשת לסירוגין:

  {"fault":{"faultstring":"SSL Handshake failed sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target","detail":{"errorcode":"messaging.adaptors.http.flow.SslHandshakeFailed"}}}

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

412740465 ‫hybrid 1.14.0 ואילך תוקן בגרסאות hybrid 1.14.3 ו-hybrid 1.15.1

החל מ-Apigee hybrid גרסה 1.14.0, ההוספה האוטומטית של כותרות מעקב של Zipkin ‏ (x-b3-*) הוסרה.

לא רלוונטי

Apigee Hybrid פתיחה הגדרה של העברת Proxy שאינה מבוססת API באמצעות httpProxy בלי להגדיר גם את envs.httpProxy לא תחיל את הגדרת ה-Proxy על קריאות חיצוניות של Apigee Runtime לשירותים כמו Pub/Sub או ממשקי Cloud APIs אחרים של Google.

אם מציינים רק את httpProxy, צריך גם לוודא ש-*.googleapis.com מופיע ברשימת ההיתרים של ה-pods של Apigee Runtime כדי לאפשר קישוריות לשירותים האלה.

מידע נוסף זמין במאמר הגדרת העברת בקשות לשרת proxy עבור שרתי proxy של API.

416634326 ‫hybrid 1.14.2 ואילך תוקן בגרסאות hybrid 1.14.3 ו-hybrid 1.15.1

נוכחות של הגדרות משאבים מותאמות אישית (CRD) מסוג istio.io באשכול Apigee Hybrid עלולה לגרום לכשל בתרמילי apigee-ingressgateway-manager.

במהלך שדרוג של Apigee Hybrid מגרסאות ישנות לגרסה 1.14.2 ואילך, נוכחות של CRD‏ istio.io קיים עלולה לגרום לכך שבדיקות המוכנות במיכלים discovery של פודים apigee-ingressgateway-manager ייכשלו.

פתרון עקיף: אין צורך ב-CRD‏ istio.io ב-Apigee Hybrid בגרסה 1.14.2 ואילך. יש שתי אפשרויות לפתרון הבעיה:

  • מוחקים את istio.io CRD אם לא משתמשים ב-Istio לשום מטרה אחרת מלבד Apigee באשכול.
  • מעדכנים את apigee-ingressgateway-manager clusterrole כדי להוסיף הרשאות ל-istio.io.

אחרי כל אחת מהאפשרויות שלמעלה, תצטרכו להפעיל מחדש את ה-apigee-ingressgateway-manager pods.

מחיקת CRD

  1. מריצים את הפקודה הבאה כדי ליצור קובץ CSV עם רשימת ה-CRD באשכול:istio.io
    kubectl get crd -o custom-columns=NAME:metadata.name | grep istio.io > istio-crd.csv
  2. אופציונלי: שומרים את קובצי ה-CRD באופן מקומי למקרה שיהיה צורך ליצור אותם מחדש:
    kubectl get crd $(cat istio-crd.csv) -o yaml > istio-crd.yaml
  3. מוחקים את ה-CRD‏ istio.io:

    הרצת בדיקה:

    kubectl delete crd $(cat istio-crd.csv) --dry-run=client

    ביצוע:

    kubectl delete crd $(cat istio-crd.csv)

עדכון של ClusterRole

  1. מקבלים את ה-clusterrole הנוכחי של apigee-ingressgateway-manager:
    kubectl get clusterrole apigee-ingressgateway-manager-apigee -o yaml > apigee-ingressgateway-manager-apigee-clusterrole.yaml
  2. מעתיקים את ה-ClusterRole למיקום חדש:
    cp apigee-ingressgateway-manager-apigee-clusterrole.yaml apigee-ingressgateway-manager-apigee-clusterrole-added-istio-permissions.yaml
  3. מוסיפים את ההרשאות הנוספות הבאות לסוף הקובץ:
    - apiGroups:
      - gateway.networking.k8s.io
      resources:
      - gatewayclasses
      - gateways
      - grpcroutes
      - httproutes
      - referencegrants
      verbs:
      - get
      - list
      - watch
    - apiGroups:
      - networking.istio.io
      resources:
      - sidecars
      - destinationrules
      - gateways
      - virtualservices
      - envoyfilters
      - workloadentries
      - serviceentries
      - workloadgroups
      - proxyconfigs
      verbs:
      - get
      - list
      - watch
    - apiGroups:
      - security.istio.io
      resources:
      - peerauthentications
      - authorizationpolicies
      - requestauthentications
      verbs:
      - get
      - list
      - watch
    - apiGroups:
      - telemetry.istio.io
      resources:
      - telemetries
      verbs:
      - get
      - list
      - watch
    - apiGroups:
      - extensions.istio.io
      resources:
      - wasmplugins
      verbs:
      - get
      - list
      - watch
    
  4. החלת התפקיד:
    kubectl -n APIGEE_NAMESPACE apply -f apigee-ingressgateway-manager-apigee-clusterrole-added-istio-permissions.yaml

אחרי שמבצעים את הפעולות שצוינו למעלה, צריך להפעיל מחדש את תרמילי ה-apigee-ingressgateway-manager.

  1. מפרטים את ה-ingress-manager pods להתקנה מחדש או ליצירה מחדש:
    kubectl get deployments -n APIGEE_NAMESPACE

    פלט לדוגמה:

    NAME                            READY   UP-TO-DATE   AVAILABLE   AGE
    apigee-controller-manager       1/1     1            1           32d
    apigee-ingressgateway-manager   2/2     2            2           32d
    
  2. מפעילים מחדש את הפודים של ingress-manager:
    kubectl rollout restart deployment -n APIGEE_NAMESPACE apigee-ingressgateway-manager
  3. אחרי כמה דקות, עוקבים אחרי ה-apigee-ingressgateway-manager pods:
    watch -n 10 kubectl -n APIGEE_NAMESPACE get pods -l app=apigee-ingressgateway-manager

    פלט לדוגמה:

    NAME                                             READY   STATUS    RESTARTS   AGE
    apigee-ingressgateway-manager-12345abcde-678wx   3/3     Running   0          10m
    apigee-ingressgateway-manager-12345abcde-901yz   3/3     Running   0          10m
    
414499328 ‫hybrid 1.14.1 תוקן בגרסה היברידית 1.14.3 ובגרסה היברידית 1.15.0

ApigeeTelemetry יכול להיתקע במצב creating.

הבעיה הזו זוהתה בהתקנות של OpenShift.

פתרון עקיף: משנים את תבנית התרשים apigee-operator כדי ליצור את הגישה הנכונה ל-clusterrole.

  1. עורכים את קובץ התבנית helm-charts/apigee-operator/templates/apigee-operators.yaml ומאתרים את ההגדרה של -apigee-manager-role- clusterrole. הוא מתחיל ב:
    kind: ClusterRole
    metadata:
      name: apigee-manager-role-{{ include 'namespace' }}
    rules:
      ...
                  
  2. מוצאים את הבלוק - apiGroups: apiregistration.k8s.io ומוסיפים את המשאב apiservices/finalizers לרשימת המשאבים:
    - apiGroups:
      - apiregistration.k8s.io
      resources:
      - apiservices
      - apiservices/finalizers
      verbs:
      - create
      - delete
      - get
      - patch
      - update
      
  3. מחפשים את הבלוק - apiGroups: authorization.k8s.io ומוסיפים את הבלוק - apiGroups: apigee.cloud.google.com אחרי סוף הבלוק עם הטקסט הבא:
    - apiGroups:
      - apigee.cloud.google.com
      resources:
      - apigeetelemetries/finalizers
      verbs:
      - get
      - patch
      - update
    

    לדוגמה:

    - apiGroups:
      - authorization.k8s.io
      resources:
      - subjectaccessreviews
      verbs:
      - create
      - get
      - list
    - apiGroups:
      - apigee.cloud.google.com
      resources:
      - apigeetelemetries/finalizers
      verbs:
      - get
      - patch
      - update
    
  4. החלת השינויים על התרשים apigee-operator:

    הרצת בדיקה:

    helm upgrade operator apigee-operator/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --atomic \
      -f OVERRIDES_FILE \
      --dry-run=server
    

    שדרוג התרשים:

    helm upgrade operator apigee-operator/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --atomic \
      -f OVERRIDES_FILE \
    
402739748 Apigee פתיחה

מוצרי API מוגבלים ל-50 נתיבים. אם מוסיפים נתיבים נוספים, מוצגת הודעת שגיאה: Operation group limit of 51 exceeded in Operation Config

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

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

291294211 Apigee פתיחה

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

פתרון עקיף: מאחזרים את כל סוגי העמלות בצד הלקוח לפני הסינון.

391140293 ‫Apigee
Apigee Hybrid
FIXED

שינוי קנה המידה של פודים של Istio ingress עלול לגרום לשגיאה 503.

הגדלת מספר הפודים של Istio ingress עלולה לגרום מדי פעם לשגיאה 503. אם מתרחשת שגיאה 503, ביומני איזון העומסים מוצגת ההודעה הבאה: statusDetails: backend_connection_closed_before_data_sent_to_client.

פתרון עקיף: אפשר לשנות את גודל ה-pods של Istio ingress באופן ידני.

368155212 hybrid 1.14.0
hybrid 1.14.1
FIXED in hybrid 1.14.2

ESS ולא ESS החלפת פרטי הכניסה של Cassandra לא פועלת בארגונים עם מגבלות פרוקסי משופרות.

אין השפעה על התנועה בזמן הריצה.

401624396 hybrid 1.13.x
hybrid 1.14.x
פתיחה השחזור של Apigee נכשל במהלך שחזור של GCP או HYBRID גיבויים של ספקי ענן שנוצרו מהגדרה של כמה אזורים. הבעיה הזו לא משפיעה על השחזור של CSI.

גיבויים שנוצרו מההגדרה של מספר אזורים באמצעות GCP וספקי שירותי הענן HYBRID מכילים מידע על כל האזורים ההיברידיים שהיו קיימים בזמן יצירת ה-snapshot. בנוסף, מכיוון שהאזורים האלה כבר לא קיימים, עבודת השחזור תתנגש עם המצב הנוכחי של Cassandra ותיכשל עם השגיאה הבאה: Unrecognized strategy option passed to NetworkTopologyStrategy.

401746333 ‫Apigee
hybrid 1.12.4
hybrid 1.13.3
hybrid 1.14.1
FIXED

הספרייה Nimbus JOSE + JWT עלולה לגרום ל-java.lang.ClassCircularityError כשמשתמשים במדיניות JavaCallout .

אם יש לכם ארגון עם Apigee hybrid מופעל עם מדיניות JavaCallout שמשתמשת בספריית Nimbus JOSE + JWT, אל תשדרגו ל-hybrid 1.12.4, ל-hybrid 1.13.3 או ל-hybrid 1.14.1.

397693324 hybrid 1.14.0
hybrid 1.14.1
FIXED in hybrid 1.14.2

ESS ולא ESS החלפת אישורים של Cassandra בכמה אזורים תיכשל בכל האזורים חוץ מהראשון.

אין השפעה על התנועה בזמן הריצה.

כדי לפתור את הבעיה, צריך לפעול לפי הפתרון העקיף שמופיע כאן.

391861216 hybrid 1.13.x
hybrid 1.14.x
FIXED בגרסה היברידית 1.13.3 ובגרסה היברידית 1.14.1 הפעלה מחדש של Podים של Cassandra באשכול היברידי ששוחזר באמצעות GCP או HYBRID ספקי שירותי ענן תגרום ל-Podים לעבור למצב CrashLoopBackoff. הבעיה הזו לא משפיעה על השחזור של CSI.

תתבצע הפעלה מחדש של Cassandra pods אחרי החלת שינויים ב-Cassandra overrides, למשל כשמפעילים מחדש גיבוי, מה שיגרום לבעיה הזו. היומנים של Cassandra pod במצב CrashLoopBackoff יציגו את השגיאה הבאה: Cannot change the number of tokens from 512 to 256.

כדי לפתור את הבעיה, צריך לפעול לפי הפתרון העקיף שמופיע כאן.

388608440 ‫hybrid 1.11.x
hybrid 1.12.x
תוקן בגרסה היברידית 1.12.4 ואילך עבודת הגיבוי של Apigee לא מנקה את התמונות של Cassandra.

במקרים נדירים, עבודת הגיבוי של Apigee לא מנקה את התמונות של Cassandra שנוצרות במהלך הגיבוי באמצעות HYBRID או GCP ספקי ענן. זה קורה רק אם בעיה בסיסית מונעת מתהליך הגיבוי להתחבר בהצלחה לשרת המרוחק או ל-Cloud Storage. אם בעיית החיבור נמשכת, יכול להיות שעם הזמן יצטברו תמונות מצב של Cassandra שלא נמחקו, וינצלו את נפח האחסון בדיסקים של Cassandra. אם הבעיה משפיעה עליך, עליך לפתור את בעיית החיבור הבסיסית ואז לפעול לפי השלבים שמפורטים במדריך לפתרון בעיות ב-Cassandra כדי למחוק את התמונות של Cassandra באופן ידני.

392135466 ‫hybrid 1.14.0 פתיחה שרשור של שרתי Proxy עם mTLS לא נתמך כשמשתמשים במגבלות משופרות של שרתי Proxy לכל סביבה
383334511 Apigee פתיחה נוצרה רשומה של KVM עם שם לא צפוי

כשמשתמשים במדיניות KeyValueMapOperations עם היקף apiproxy, והפעולה <Put> של המדיניות נקראת בזרימה משותפת באמצעות וו של זרימה, רשומת ה-KVM נוצרת תחת השם של הזרימה המשותפת. הוא צפוי להיווצר מתחת לשם של ה-proxy ל-API.

384937220

‫hybrid 1.14.0 FIXED יצירת גרסת Helm עלולה להיכשל אם יש כמה מארחים וירטואליים.

אם יש כמה מארחים וירטואליים, יכול להיות שיצירת הגרסה של Helm תיכשל בגלל שמות ApigeeRoute שמתנגשים. כדי לעקוף את הבעיה, צריך להריץ את הפקודות הבאות לכל מארח וירטואלי בזמן היצירה:

kubectl annotate ar apigee-ingressgateway-internal-chaining-PROJECT_ID_SUFFIX -n APIGEE_NAMESPACE meta.helm.sh/release-name=NEW_ENV_GROUP_NAME --overwrite
kubectl annotate cert apigee-ingressgateway-internal-chaining-PROJECT_ID_SUFFIX -n APIGEE_NAMESPACE meta.helm.sh/release-name=NEW_ENV_GROUP_NAME --overwrite

where:

  • PROJECT_ID_SUFFIX הוא סיומת ייחודית לשרשור פנימי של הפרויקט ב-Kubernetes. אפשר למצוא את הסיומת הזו באמצעות הפקודה הבאה:
    kubectl get svc -n apigee -l app=apigee-ingressgateway | grep internal-chaining

    הפלט ייראה בערך כך:

    kubectl get svc -n apigee -l app=apigee-ingressgateway | grep internal-chaining
    apigee-ingressgateway-internal-chaining-my-project--1234567    ClusterIP  34.118.226.140  <none>    15021/TCP,443/TCP    5d6h

    בדוגמה של הפלט, my-project--1234567 הוא PROJECT_ID_SUFFIX.

  • APIGEE_NAMESPACE הוא מרחב השמות של Apigee.
  • NEW_ENV_GROUP_NAME הוא השם של קבוצת הסביבות הנוספת. מעדכנים את הערך הזה לכל מארח וירטואלי.

לא רלוונטי

Apigee Hybrid פתיחה חשבון שירות לא תקין יכול לשלוח את ה-API של UpdateControlPlaneAccess ללולאת ניסיון חוזר.

אם משתמש מספק חשבון שירות לא תקין ל-API‏ UpdateControlPlaneAccess, הפעולה עוברת ללולאת ניסיון חוזר, ובפועל הארגון ננעל מלהפעיל את ה-API עד שהפעולה מסתיימת.

373722434 ‫hybrid 1.13.x תוקן החל מגרסה hybrid 1.13.2 ואילך אי אפשר להעלות את עבודת הגיבוי של Apigee לקטגוריות של Cloud Storage עם כללי מדיניות שמירת נתונים.

כשמשתמשים ב-GCP Cloud Provider, אי אפשר להעלות את עבודת הגיבוי של Apigee לקטגוריות של Cloud Storage עם מדיניות שמירת נתונים. יכול להיות שקובצי הגיבוי יישארו בקטגוריה של Cloud Storage עם גודל קובץ של 0 בייט.

פתרון עקיף: משביתים את כללי מדיניות שמירת הנתונים בקטגוריה של Cloud Storage.

341099433

Apigee Hybrid פתיחה רכיב apigee-logger לא תומך ב-איחוד זהויות של עומסי עבודה.

apigee-logger משתמש בחשבונות שירות של Google IAM כדי לשלוח יומנים אל Cloud Logging. הסיבה לכך היא ש-FluentBit לא תומך באיחוד שירותי אימות הזהות של עומסי עבודה, ולכן apigee-logger לא יכול להשתמש בתכונה הזו.

לא רלוונטי

Apigee Hybrid פתיחה אין תמיכה במעקב מבוזר ב-Apigee Hybrid בארגונים שמשתמשים במיקום הפיזי של הנתונים.

לא רלוונטי

Apigee פתיחה ‫Apigee לא תומך בהצפנה מחדש של מפתחות, כלומר גם אחרי הרוטציה, עדיין תהיה בשימוש גרסת המפתח הישנה ולא תוכלו לשנות את מפתח ה-CMEK אחרי יצירת הארגון.

270574696

Apigee FIXED ‫Apigee לא תומך ב- Cloud External Key Manager.

268104619

‫Apigee
Apigee Hybrid
פתיחה במדיניות OASValidation, כשמציינים סוג מערך בכותרת, ה-MP יציג שגיאה, גם אם הקלט תקין.

364872027

‫Apigee
Apigee Hybrid
FIXED שגיאה בניתוח PEM במדיניות JWT/JWS בגלל פורמט לא סטנדרטי

בגרסאות 1.13 ואילך של Apigee ו-Apigee Hybrid, כל חריגה מפורמט ה-PEM הנדרש של מפתחות שמשמשים במדיניות JWS או JWT של Apigee עלולה לגרום לשגיאת ניתוח. לדוגמה, אסור להציב תו כלשהו מלבד שורה חדשה (/n) מיד לפני השורה "-----END" (גבול אחרי האנקפסולציה), ופעולה כזו תגרום לשגיאה.

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

למידע נוסף על הקידוד שמשמש למפתחות ציבוריים או פרטיים, אפשר לעיין ב-IETF RFC 7468.

310191899

‫Apigee
Apigee Hybrid
פתיחה פסק זמן (timeout) כשפורסים שרתי proxy ל-API ותהליכי שיתוף

יכול להיות שיתרחשו פסק זמן בנקודות הקצה הבאות אם משתמשים בהן עם נפח גבוה של שאילתות לשנייה (QPS):

כדי להקטין את הסיכויים לטיימאוט, מומלץ להגדיר יעד של 1 QPS כשמשתמשים בנקודות הקצה האלה, או לבדוק את סטטוס הפריסה לפני שמנסים לבצע פריסה נוספת.

329304975

Apigee FIXED הגבלה על מספר נתיבי הבסיס לכל סביבה

מערכת Apigee אוכפת מגבלה זמנית של 1,000 נתיבי בסיס לכל סביבה, כדי למנוע כשלים פוטנציאליים כשפורסים גרסאות של proxy ל-API.

בזמן שהמגבלה הזו בתוקף, אפשר לפרוס עד 1,000 גרסאות של proxy ל-API (כל אחת מכילה נתיב בסיס יחיד) לכל סביבה. אם ה-API proxy או הגרסאות שלו מכילים יותר מנתיב בסיסי אחד, המספר הכולל של הנתיבים הבסיסיים לכל סביבה לא יכול להיות גדול מ-1,000.

333791378

‫hybrid 1.12.0 פתיחה תכונות גיבוי ושחזור של Cassandra שלא נתמכות בכלי ההעברה של Helm

לשלבים הנדרשים להתקנת תיקון לפתרון הבעיה, ראו פתרון בעיות.

310384001

hybrid 1.11.0 פתיחה כשמשתמשים מוסיפים את התג <Enforce>true</Enforce> לבלוק <SSLInfo> של היעד לאימות ברירת המחדל של אישורי נקודת הקצה של יעד TLS, יכול להיות שייכשלו אימותים של אישורים ויחזירו שגיאת 502 במקום שגיאת 503.

289583112

Apigee פתיחה מדיניות OASValidation לא פועלת עם דרישות אבטחה גלובליות במפרטים של OpenAPI

אם במדיניות OASValidation מצוין <OASResource> עם דרישות אבטחה שהוגדרו ברמה הגלובלית, דרישות האבטחה לא נאכפות.

פתרון עקיף: כדי לוודא שהאכיפה מתבצעת, צריך להגדיר את כל דרישות האבטחה ברמת הפעולה במפרט OpenAPI שמועבר ברכיב <OASResource> של מדיניות OASValidation.

205666368

‫Apigee
hybrid 1.10.2
hybrid 1.10.3
תוקן ב-Apigee 1-10-0-apigee-6 וב-
Hybrid 1.10.3-hotfix.1
ב-Apigee Hybrid, אימות אישור היעד לא מופעל כברירת מחדל.

מידע נוסף על הגדרת אפשרויות TLS בנקודת קצה או בשרת יעד

295929616

גרסה 1.10.0 ואילך של hybrid FIXED in hybrid 1.10.3 התקנה של Apigee Hybrid 1.10 ב-OpenShift‏ (OSE) עלולה להיכשל בגלל שגיאות שקשורות לזיכרון.

התקנה או שדרוג ל-Apigee Hybrid מגרסה 1.10.0 עד 1.10.2 עלולים להיכשל ב-OSE בגלל בעיות שקשורות לזיכרון. תוקן בגרסה 1.10.3 של Apigee Hybrid.

292118812

‫hybrid 1.10.1 FIXED יכול להיות שapigee-udca לא יכבד את הגדרות לשרת proxy של http.

אם חומת האש מכריחה את כל התעבורה לעבור דרך שרת proxy קדימה, יכול להיות ש-apigee-udca יעבור למצב של השהיה לפני ניסיון חוזר של לולאת קריסה.

292558790

‫Apigee
Hybrid מגרסה 1.8.0 ואילך
פתיחה מדיניות OASValidation נכשלת עם שגיאת Unable to parse JSON.
  • מדיניות ה-OASValidation נכשלת כשהתוכן בפורמט JSON לא תואם לתבנית הצפויה. לדוגמה, אם בכותרת צפוי ערך בפורמט <text>@<text> והיא מאוכלסת בטקסט שחסר בו הסמל @, המדיניות תיכשל עם שגיאה Unable to parse JSON.
  • אם המדיניות OASValidation מציינת <OASResource> שמכיל פרמטר path שמשתמש בסכימה $ref, המדיניות תיכשל עם שגיאה Unable to parse JSON - Unrecognized token.

    פתרון עקיף: אל תשתמשו ב-$ref בפרמטרים path של מפרט OpenAPI שצוין ברכיב <OASResource>.

297012500

‫Apigee
Hybrid מגרסה 1.8.0 ואילך
פתיחה בעיות בהטמעה של אימות OAS בזמן שימוש בהפניה מעגלית.
  • פריסת Apigee תיכשל עבור מדיניות אימות OAS כשמשתמשים בהפניות מעגליות למפרט OpenAPI 3.0.0, כי היא נכנסת ללולאה אינסופית.
  • פתרון עקיף: משתמשים ב-yaml של מפרט OpenAPI ללא הפניות מעגליות.

289254725

‫Apigee
Apigee 1-10-0-apigee-3
hybrid 1.8.8
hybrid 1.9.3
FIXED ב-Apigee 1-10-0-apigee-5
FIXED ב-Hybrid
יכול להיות שפריסות של שרתי proxy שכוללות את מדיניות OASValidation ייכשלו.

יכול להיות שפריסות של שרת Proxy שכוללות את מדיניות OASValidation ייכשלו אם:

  • מפרט OpenAPI שמשמש לאימות במדיניות OASValidation הוא בפורמט YAML, ו
  • מפרט ה-OpenAPI בפורמט YAML מכיל מספר עשרוני. לדוגמה:
    schema:
    type: number
    example: 2.345

284500460

Apigee
Apigee 1-10-0-apigee-1
FIXED הגדלת זמן האחזור של מדיניות רישום הודעות כשמשתמשים בה עם Cloud Logging.

כדי למנוע הגדלה של זמן האחזור בתגובות ללקוח, צריך לצרף את מדיניות רישום ההודעות ל-PostClientFlow. מידע נוסף על שימוש במדיניות ב-PostClientFlows זמין במאמר שליטה בשרתי proxy של API באמצעות Flows.

282997216

‫hybrid 1.8.0 ואילך
hybrid 1.9.0 ואילך
פתיחה אסור להשתמש בתווים מיוחדים בסיסמה של Cassandra Jolokia

צריך להשתמש רק בתווים אלפאנומריים לסיסמה של Cassandra Jolokia. שימוש בתווים מיוחדים (כולל, בין היתר, "!", "@", "#", "$", "%", "^", "&" ו-"*") עלול לגרום להפעלה של Cassandra להיכשל.

270371160

גרסה היברידית 1.9.0 ואילך FIXED שער Apigee Ingress תומך רק בפרוטוקולים/הצפנות של TLS1.2 ומעלה

שער Apigee Ingress תומך רק ב-TLS1.2 ומעלה, ולא בגרסאות קודמות של TLS.

269139342

גרסה 1.7.0 ואילך של hybrid FIXED apigeectl getOrg לא פועל בהתאם להגדרות של HTTP_PROXY ב-overrides.yaml

האימות של ארגון Apigee לא פועל לפי כללי שרת ה-proxy של HTTP Forward שמוגדרים ב-overrides.yaml. צריך להגדיר את validateOrg: false כדי לדלג על האימות הזה.

266452840

‫Apigee
hybrid 1.7.0 ואילך
hybrid 1.8.0 ואילך
hybrid 1.9.0 ואילך
FIXED שקעי אינטרנט לא פועלים עם Anthos Service Mesh 1.15.3 ב-Apigee X וב-Apigee Hybrid

בנסיבות מסוימות, שקעי אינטרנט לא פועלים ב-Apigee X וב-Apigee Hybrid כשמשתמשים ב-Anthos Service Mesh‏ 1.15.3-asm.6.

287922301

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

בגלל העיצוב הנוכחי, יכול להיות ששיעורי מונטיזציה לא מדויקים יחושבו לעסקאות שמתרחשות ליד סף של פס רוחב. הבעיה הזו מתבטאת בכך שיותר מדי עסקאות מוערכות לפי התעריף שלפני הסף, והיא סביר שתתרחש כשעסקאות רבות של מפתח מסוים ושל תוכנית תעריפים מסוימת מתרחשות בפרק זמן של 30 שניות. המשמעות היא שבדוחות המונטיזציה יופיעו נתוני חיוב גבוהים מדי כשהמחירים יורדים, ונמוכים מדי כשהמחירים עולים. הבעיה הזו מתרחשת ב-Apigee X וב-Apigee Hybrid, ואין לה פתרון מוכר. התחלנו לטפל בבעיה, והפתרון יהיה זמין בגרסה עתידית.

242213234

Apigee FIXED טעינת מוצר API נכשלת עם השגיאה 'אין חיבורים זמינים'

יכול להיות שהשגיאה הזו תוחזר כשמנסים לטעון מוצרי API: "Products were not loaded successfully. שגיאה: אין חיבורים זמינים מסוכני Apigee Connect."

הבעיה מתרחשת אחרי שמפעילים את VPC Service Controls בפרויקט Google Cloud ומוסיפים את iamcredentials.googleapis.com כאחד מהשירותים המוגבלים ב-service perimeter.

פתרון עקיף: יוצרים ידנית כלל לתעבורת נתונים יוצאת (egress), לדוגמה:

-egressTo:
    operations:
    -serviceName: "iamcredentials.googleapis.com"
        methodSelectors:
        -method:
    resources:
    -projects/608305225983
  egressFrom:
    identityType: ANY_IDENTITY

247540503

‫hybrid 1.7.0 ואילך
hybrid 1.8.0 ואילך
FIXED מרוץ תהליכים עם חיפוש של מפתח הצפנה עלול לגרום לכשלי חיפוש ב-KVM.

בנסיבות מסוימות, בתפוקה גבוהה מאוד, מצב מירוץ עם חיפוש מפתח הצפנה עלול לגרום לכשלי חיפוש ב-KVM.

258699204

‫hybrid 1.8.0 ואילך FIXED הבקשות והמגבלות של זיכרון ברירת המחדל עבור פודים של מדדים השתנו בטעות בגרסה 1.8.x.

אם אתם רואים בעיות בפודים apigee-telemetry-app או apigee-telemetry-proxy שלא פועלים, צריך לשנות את המאפיינים metrics resources requests ו-resources limits כך שיתאימו לערכי ברירת המחדל הבאים ב Configuration property reference: metrics.

מאפיין הגדרה ערך ברירת המחדל
metrics.aggregator.resources.requests.memory: 512Mi
metrics.aggregator.resources.limits.memory: 3Gi
metrics.app.resources.requests.memory: 512Mi
metrics.app.resources.limits.memory: 1Gi
metrics.appStackdriverExporter.resources.requests.memory: 512Mi
metrics.appStackdriverExporter.resources.limits.memory: 1Gi
metrics.proxy.resources.requests.memory: 512Mi
metrics.proxy.resources.limits.memory: 1Gi
metrics.proxyStackdriverExporter.resources.requests.memory: 512Mi
metrics.proxyStackdriverExporter.resources.limits.memory: 1Gi

מחילים את השינויים באמצעות הפקודה apigeectl apply עם הדגל ‑‑telemetry:

apigeectl apply --telemetry -f overrides.yaml

260324159

‫Apigee 1-9-0-apigee-16 FIXED פריסות של proxy ל-API ושל shared flow נמשכות עד 30 דקות.

יכול להיות שיחלפו כ-20 עד 30 דקות עד לפריסה של שרתי proxy של API ושל רכיבי זרימה משותפים במישור זמן הריצה בנסיבות מסוימות, בגלל שגיאה מסוג 'socket closed' (השקע נסגר) בכלי לסנכרון.

214447386

הכול פתיחה ההודעה config not modified מוצגת ביומני הביקורת של Data Access ב-Apigee API כ-Error.

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

260772383

‫hybrid 1.8.0 ואילך פתיחה שגיאת Socket bind בפלטפורמת AKS

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

envoy config listener '0.0.0.0_443' failed to bind or apply socket options: cannot bind '0.0.0.0:443': Permission denied

פתרון עקיף: מוסיפים את הבית הבא svcAnnotations לקובץ ההחלפות:

ingressGateways:
- name: INGRESS_NAME
...
svcAnnotations:
service.beta.kubernetes.io/azure-load-balancer-internal: "true"

מידע נוסף זמין במאמר בנושא הגדרת זמן הריצה ההיברידי. אפשר גם לעיין במאמר בנושא שימוש במאזן עומסים פנימי עם AKS.

241786534

‫hybrid 1.8.0 ואילך FIXED לפעמים MART לא מצליח להתחבר ל-FluentD.

כשמשתמשים ב-UDCA ברמת הארגון, לפעמים MART לא מצליח להתחבר ל-FluentD. ‏UDCA ברמת הארגון הוא ברירת המחדל ב-Apigee hybrid גרסה 1.8. מידע נוסף זמין במאמר orgScopedUDCA בנושא הפניה למאפיין ההגדרה.

לא רלוונטי ‫hybrid 1.6.0 ואילך פתיחה apigee-logger לא פועל ב-Anthos BareMetal עם CentOS או RHEL.

אחרי העברה של apigee-logger מ-fluend ל-fluent-bit ב-Apigee hybrid גרסה 1.6.6, הכלי לרישום הפסיק לפעול ב-Anthos BareMetal עם CentOS או RHEL.

207762842 ‫hybrid 1.5.0 ואילך FIXED היומנים לא נשלחים אל Cloud Logging על ידי apigee-logger.

ההגדרות הנוכחיות של apigee-logger, כולל בדיקות הפעילות, לא תואמות לזמן הריצה של Kubernetes, ולכן היומנים לא נשלחים אל Cloud Logging כמצופה. הבעיה הזו גורמת גם לקריסה קבועה של תאי apigee-logger. הבעיה הזו משפיעה על התקנות Apigee Hybrid ב-AKS, ב-Anthos Bare Metal ובפלטפורמות אחרות. הערה: במקרים מסוימים הבעיה הזו גורמת לנפח יומן גדול מדי.

191291501, 191000617 Apigee FIXED שינוי כתובת האימייל של ישות מפתח ייכשל בממשק המשתמש.
191002224 ‫hybrid 1.5.0 ואילך FIXED שינוי כתובת אימייל נכשל במהלך השימוש ב- PUT /organizations/{org_name}/developers/{developer_email} API.
184555974 ‫hybrid 1.5.0 ואילך FIXED הכלי apigee-logger Fluentd לא יכול לנתח יומנים באשכול OpenShift.
לא רלוונטי העברת פריסות לארכיון פתיחה אי אפשר לנהל ולנפות באגים בפריסות של ארכיון Apigee בממשק המשתמש

בממשק המשתמש של Apigee אי אפשר לראות, לאשר את סטטוס הפריסה או לנהל את פריסות הארכיון, כמו שמתואר במאמר פריסת proxy ל-API, ואי אפשר להשתמש בממשק המשתמש של Debug כמו שמתואר במאמר שימוש ב-Debug. כפתרון עקיף, אפשר להשתמש ב-gcloud או ב-API כדי לרשום את כל הפריסות בארכיון בסביבה ולהשתמש ב- Debug API.

לא רלוונטי העברת פריסות לארכיון פתיחה אין תמיכה בהחזרת פריסה של ארכיון

בשלב הזה, אי אפשר לבטל פריסה של ארכיון. כדי להסיר גרסה של פריסת ארכיון, צריך או לפרוס מחדש גרסה קודמת של ארכיון או למחוק את הסביבה.

421402073

‫Apigee ב-VS Code פתיחה אימות Google במדיניות לא נתמך ב-Apigee ב-Visual Studio Code‏ (VS Code)

אימות של Google במדיניות ServiceCallout ו-ExternalCallout, כפי שמתואר במאמר שימוש באימות של Google, לא נתמך ב-Apigee ב-VS Code.

422757662 ‫Apigee 1-15-0-apigee-5
hybrid 1.15.0
תוקן ב-Apigee 1-15-0-apigee-7 וב-Apigee 1-15-0-apigee-8

כותרות x-b3 לא זמינות כש-DistributedTrace מושבת

במהדורות Apigee 1-15-0-apigee-5 ו-hybrid 1.15.0, מערכת Apigee הפסיקה לשלוח כותרות x-b3 לנקודות קצה של יעד כשהתכונה Distributed Trace מושבתת. עם זאת, חלק מההתקנות של Apigee הסתמכו על שליחה של כותרות x-b3, בלי קשר להפעלה או להשבתה של Distributed Trace. לכן, ביטלנו את השינוי הזה החל מגרסה Apigee 1-15-0-apigee-7.

146222881 גרסה 1.3.0 ואילך של hybrid FIXED שגיאה: כותרת HTTP לא תקינה

שגיאה בכותרת HTTP לא תקינה: שער הכניסה של Istio מעביר את כל התגובות הנכנסות של היעד לפרוטוקול HTTP2. מעבד ההודעות ההיברידי תומך רק ב-HTTP1, ולכן יכול להיות שתופיע השגיאה הבאה כשמתבצעת קריאה ל-API proxy:

http2 error: Invalid HTTP header field was received: frame type: 1, stream: 1,

name: [:authority], value: [domain_name]

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

  • משנים את שירות היעד כדי להשמיט את כותרת המארח בתשובה.
  • אם צריך, מסירים את כותרת המארח באמצעות מדיניות AssignMessage בשרת ה-proxy של ה-API.

420985360

פורטל משולב פתיחה SmartDocs
  • ‫Apigee תומך במפרט OpenAPI 3.0 כש מפרסמים ממשקי API באמצעות SmartDocs בפורטל, אבל עדיין אין תמיכה בחלק מהתכונות. לדוגמה, מאפייני allOf לשילוב סכימות ולהרחבתן.

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

  • לכלי Try this API יש את המגבלות הבאות:
    • הכותרת Accept מוגדרת ל-application/json, ללא קשר לערך שמוגדר ל-consumes במפרט OpenAPI.
    • אין תמיכה בכותרות של בקשות מסוג שאינו מחרוזת.
לא רלוונטי פורטל משולב פתיחה אדמין בפורטל

  • בשלב הזה אין תמיכה בעדכונים בו-זמניים של הפורטל (כמו עריכות של דף, ערכת נושא, CSS או סקריפט) על ידי כמה משתמשים.
  • אם מוחקים דף של מאמרי העזרה של ה-API מהפורטל, אי אפשר ליצור אותו מחדש. צריך למחוק את מוצר ה-API ולהוסיף אותו מחדש, ואז ליצור מחדש את מאמרי העזרה של ה-API.
  • כש מתאימים אישית את ערכת הנושא של הפורטל, יכול להיות שיחלפו עד 5 דקות עד שהשינויים יחולו במלואם.
לא רלוונטי פורטל משולב פתיחה תכונות הפורטל

החיפוש ישולב בפורטל המשולב בגרסה עתידית.

לא רלוונטי פורטל משולב פתיחה ספק זהויות (IdP) של SAML

יציאה יחידה (SLO) עם ספק הזהויות ב-SAML לא נתמכת בדומיינים בהתאמה אישית. כדי להפעיל דומיין בהתאמה אישית עם ספק הזהויות ב-SAML, צריך להשאיר את השדה 'כתובת אתר ליציאה' ריק כש מגדירים את הגדרות ה-SAML.

191815997 ‫hybrid 1.6.0 ואילך FIXED אם לקוח היברידי מגדיר שרת proxy קדימה בשביל ה-API proxy, טוקן Google לא יעבוד אלא אם יש לו גישה ישירה אל *.googleapis.com.
לא רלוונטי Apigee תוקן ב-Apigee 1-12-0-apigee-2 וב-Hybrid 1.12.0 ב-API Monitoring וב-Cloud Monitoring מוצגים שיאים חריגים

  • בספירת הבקשות והתגובות של API Proxy (ל-proxy ולמטרות) מוצגים שיאים חריגים

    הנה דוגמה לנקודת שיא כזו:

    (תמונה גדולה יותר)

  • בגלל באג, המערכת רושמת את הספירה בצורה שגויה למשך תקופה קצרה, ואז הספירה מתוקנת. המצב הזה קורה כשיש ירידה בתנועת ה-API (שמובילה להקטנת קנה המידה של שערים של API).
  • כדי להבחין בין עלייה חדה במספר הבקשות לבין הבעיה הזו, כדאי לעיין בדף API Analytics (במיוחד בדפים Proxy Performance ו-Target Performance).

המדדים שיושפעו:

  • apigee.googleapis.com/proxyv2/request_count
  • apigee.googleapis.com/proxyv2/response_count
  • apigee.googleapis.com/targetv2/request_count
  • apigee.googleapis.com/targetv2/response_count

מדדים חדשים

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

מדד תיאור
apigee.googleapis.com/proxy/request_count מספר הבקשות ל-Apigee proxy מאז שהדגימה האחרונה נרשמה.
apigee.googleapis.com/proxy/response_count מספר התשובות שנשלחו על ידי proxy ל-API של Apigee.
apigee.googleapis.com/proxy/latencies התפלגות של זמני האחזור, שמחושבים מהרגע שבו הבקשה מתקבלת בשרת ה-proxy של Apigee ועד הרגע שבו התגובה נשלחת משרת ה-proxy של Apigee ללקוח.
apigee.googleapis.com/target/request_count מספר הבקשות שנשלחו ליעד Apigee מאז שהדגימה האחרונה תועדה.
apigee.googleapis.com/target/response_count מספר התגובות שהתקבלו מיעד Apigee מאז שהדגימה האחרונה תועדה.
apigee.googleapis.com/target/latencies התפלגות של זמני האחזור, שמחושבים מהרגע שבו הבקשה נשלחה ליעד של Apigee ועד הרגע שבו התגובה התקבלה על ידי ה-proxy של Apigee. הזמן לא כולל את התקורה של proxy ל-API של Apigee.

ב-Apigee Hybrid, אפשר לעיין במאמרים סקירה כללית על איסוף מדדים והצגת מדדים.

203778087 ‫hybrid 1.5.3 ואילך פתיחה apigee-stackdriver-logging-agent פועל כרגע כמשתמש root.

פתרון עקיף: משביתים את סוכן הרישום ביומן בפריסה היברידית.

205629443 Apigee FIXED אם הרכיב ServiceCallout הוא מסוג fire and forget (אין תג <Response>), יכול להתרחש מרוץ תהליכים אם יש מדיניות אחרת שמתרחשת אחריו.

פתרון עקיף: כדי לשמור על התנהגות של שליחה ללא אישור קבלה:

  1. מוסיפים את <Response>calloutResponse</Response> לרכיב ServiceCallout.
  2. מגדירים את continueOnError להיות true.
207719377 Apigee תוקן ב-Apigee 1-11-0-apigee-1 אם יש יותר ממדיניות אחת של SpikeArrest בחבילה, יוצגו שגיאות 502.

פתרון עקיף: כדי למנוע את הבעיה, לא מומלץ להשתמש ביותר ממדיניות אחת של SpikeArrest בשרת ה-proxy.

209097822 ‫Apigee Hybrid 1.5.0 ואילך
FIXED יכול להיות שעדכונים דינמיים של קצב ההעברה ב-spike arrest לא ישתקפו מיד

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

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

221305498 Apigee פתיחה יכול להיות שב-API Monitoring יוצג קוד שגיאה של '(not set)'.

במעקב אחר ממשקי API של שרתי proxy של API שאפשר להגדיר, יכול להיות שיוצג קוד שגיאה (not set) בתגובות עם סטטוס שאינו 2xx מהיעד.

246774745 Apigee FIXED הערך של io.timeout.millis לא נלקח בחשבון כשמשתמשים בו עם כמה יעדים דינמיים.

אם שרת proxy מגדיר שני ערכים או יותר של io.timeout.millis בשני תהליכים או יותר באמצעות אותו מארח יעד, רק ערך אחד של io.timeout.millis יכובד.

245664917 ‫hybrid 1.8.x FIXED אפשר להתעלם משגיאת שדרוג של Apigee Hybrid

במהלך שדרוג ל-Apigee hybrid 1.8.x, אחרי שמריצים את הפקודה apigeectl init ומוודאים שהפקודה check-ready הצליחה, יכול להיות שתשימו לב, אם תציגו את ה-pods, שעבודת האימות של סכימת Cassandra נמצאת במצב שגיאה. זהו מצב לא מזיק, ואפשר לעבור בבטחה לשלב הבא בתהליך השדרוג.

300660653 Apigee FIXED צריכה להיות שגיאה שמוחזרת כשפורסים שרתי proxy עם אותה נתיב לכמה סביבות שמצורפות לאותו מופע ולקבוצת סביבות

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

פתרון עקיף: כשפורסים שרתי proxy ואחרי הפריסה, צריך לוודא שאין התנגשויות בנתיב הבסיס עם שרתי proxy שנפרסו, ולתקן לפי הצורך.

301458133 Apigee FIXED חלק מהניסיונות לפריסת שרת proxy מחזירים שגיאה שהעדכון הוא קבוע

כשמנסים לשמור שרת proxy שכבר נפרס, יכול להיות שהפריסה תיכשל עם הודעת שגיאה שבה מצוין שהעדכון הוא בלתי ניתן לשינוי.

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

301845257 Apigee FIXED ניסיון לפרוס יותר מ-800 שרתי proxy לקבוצת סביבות נכשל עם שגיאה. המגבלה שבה מוחזרת שגיאה נמוכה מ-800 כשהנתיבים הבסיסיים ארוכים מ-15 תווים.

315820718 Apigee FIXED בבקשות של שרת proxy של gRPC, ה-trailers של gRPC מוסרים מהתגובה

כשמתבצעת שיחה לשרת יעד של gRPC, הטריילר היחיד שמוחזר הוא הטריילר grpc-status. כל שאר הטריילרים יוסרו מהתגובה.

341157011 Apigee FIXED מפרטים שנוצרו באמצעות Gemini Code Assist ב-Cloud Code וכוללים גם תווים שאינם ASCII UTF-8 לא עוברים ניתוח נכון כשמעלים אותם אל API Hub.

כתוצאה מכך, מרכז ה-API לא יחלץ פעולות, הגדרות ומטא-נתונים אחרים בצורה נכונה.
338285095 Apigee FIXED אפליקציות שמשויכות לקבוצת אפליקציות לא מופיעות ברשימת האפליקציות בממשק המשתמש של Apigee. כתוצאה מכך, משתמשים לא יכולים לגשת לדף פרטי האפליקציה במסוף. חיפוש האפליקציה במסוף באמצעות חיפוש של שם אפליקציה חלקי או מפתח API לא נתמך עד שהבעיה הזו תיפתר.

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

פתרון חלקי: רשימה של כל האפליקציות זמינה באמצעות ממשקי ה-API. אפשר לעיין ב-organizations.apps.list.
355714868 מונטיזציה
Apigee Hybrid
תוקן בגרסה hybrid 1.14.3, ‏ hybrid 1.15.1, ‏ hybrid 1.16.0 נתונים על עמלות חוזרות, עמלות הגדרה ועמלות על טעינת יתרה לא נרשמים ולא מחויבים בארגונים היברידיים

בארגונים היברידיים עם מונטיזציה, נתונים על עמלות חוזרות (RECURRING_FEE), עמלות הגדרה (SETUP_FEE) ועמלות על טעינת יתרה (TOPUP_FEE) לא נרשמים ולא מחויבים בחיוב שלאחר השימוש. בחיוב מראש, הניכוי מהארנק מתבצע עבור העמלות האלה, אבל לא מדווח.
438850078 Apigee פתיחה

מתרחשת רקורסיה אינסופית במדיניות OASValidation כשנתוני התגובה של ה-Backend כוללים סוג מפלה שזהה לסכימה של ההורה. הבעיה הזו עלולה לגרום לStackOverflowError.

449012244 Apigee פתיחה

צריך להשתמש בהגדרות נפרדות של נקודות קצה ליעד עבור יעדי SSE (אירועים שנשלחים מהשרת). שילוב של נקודות קצה של יעדים עם SSE ונקודות קצה של יעדים ללא SSE עלול לגרום להתנהגות לא עקבית, כמו משתני זרימה ריקים של response.content.

445936920 ‫Apigee 1-16-0-apigee-2 ואילך פתיחה

בעיות בהגדרת ה-DNS שלא זוהו בעבר עלולות לגרום עכשיו לשגיאות DNS. ‫Apigee הסירה את הפונקציונליות של מעבר אוטומטי ל-DNS שהייתה בגרסה ‎1-16-0-apigee-2. ההסרה הזו מבטלת את העמידות של הפלטפורמה לטעויות בהגדרת DNS, ועכשיו היא עלולה לגרום לשגיאות DNS.

כדי למצוא שגיאות שקשורות לבעיה, בודקים את יומני זמן הריצה לשגיאות ברזולוציית DNS.

383372330 גרסאות Apigee Emulator מ-1.13.0 עד 1.15.1 (לא כולל) תוקן בגרסאות 1.15.1 ואילך של Apigee Emulator

כל הפריסות של ה-proxy נכשלות באופן מקומי עם הודעות שגיאה, כולל Error parsing deployment report as JSON:

06/13/2025 6:45 PM EMULATOR INFO Deploying environment testenv, to Container apigee-1.14.2 (1.14.2)
06/13/2025 6:45 PM EMULATOR ERROR Error parsing deployment report as JSON
06/13/2025 6:45 PM EMULATOR ERROR null
06/13/2025 6:45 PM EMULATOR ERROR Environment testenv deployment, to Container apigee-1.14.2 (1.14.2) failed with Error: 500
06/13/2025 6:45 PM EMULATOR ERROR Deploy to Container apigee-1.14.2 (1.14.2), failed with Error: Environment testenv deployment, to Container apigee-1.14.2 (1.14.2) failed with Error: 500
תיקון: צריך לעדכן לגרסה 1.15.1 ואילך של Apigee Emulator.