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

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

אפשר לעיין במסמכי העזרה של Apigee Edge.

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

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

מזהה הבעיה השפעה סטטוס תיאור
543171828 ‫hybrid 1.14.7,‏ hybrid 1.15.7 ו-hybrid 1.16.8 FIXED in hybrid 1.16.9 ה-DaemonSet‏ apigee-logger לא מתוזמן באף צומת, ולכן יומני זמן הריצה של Apigee מפסיקים להגיע ל-Cloud Logging.

אחרי שמתקינים או משדרגים לגרסה מושפעת, kubectl get daemonset apigee-logger -n apigee מדווח על מספר רצוי של 0 ולא נוצרים תרמילי logger.

תרשים apigee-telemetry תמיד נשלח עם ברירת מחדל של logger.nodeSelector apigee.cloud.google.com/apigee-logger-enabled: "true", ולכן צריך להוסיף תוויות לצמתים שצריכים להריץ את הכלי לרישום. בגרסאות שקדמו לגרסאות המושפעות, המערכת התעלמה מבוררי צמתים ברמת הרכיב, ולכן מתעד היומן תוכנן במאגרי הצמתים של Apigee, גם אם הצמתים לא סומנו. הגרסאות המושפעות מחילות את בוררי הצמתים ברמת הרכיב בצורה נכונה, כך שברירת המחדל נכנסת לתוקף ו-DaemonSet לא תואם לאף צומת.

רק פריסות שבהן מוגדר logger.enabled: true מושפעות.

פתרון עקיף: בוחרים אחת מהאפשרויות הבאות ואז משדרגים את התרשים apigee-telemetry.

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

logger:
  enabled: true
  nodeSelector:
    key: ""
    value: ""

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

kubectl label nodes NODE_NAME apigee.cloud.google.com/apigee-logger-enabled=true
534420582 ‫Apigee
Apigee Hybrid
FIXED in hybrid 1.15.8 יכול להיות שכללי מדיניות של Apigee ושירותים לקצה העורפי יפרשו מטען ייעודי (payload) של JSON עם מפתחות כפולים בצורה שונה, מה שעלול להחליש את בדיקות האבטחה שמבוססות על תוכן.

המדיניות ExtractVariables משתמשת ב-JSONPath, שמזהה מפתחות JSON כפולים באמצעות סמנטיקה של last-wins. חלק מהקצה העורפי – בעיקר ממשקי Google Cloud API שמקבלים JSON בפורמט proto3 – ממזגים במקום זאת מפתחות חוזרים (לדוגמה, שרשור של שדות חוזרים של מערך). אם שרת proxy של Apigee מסתמך על ExtractVariables + JSONPath + RaiseFault כדי לבדוק ולחסום גופי בקשות עם הרשאות, תוקף יכול להסתיר תוכן זדוני במפתח כפול שמדיניות Apigee לא רואה, אבל ה-backend עדיין מעבד.

פתרון עקיף: אל תסתמכו על ExtractVariables עם JSONPath בלבד כגבול אבטחה עבור קצה עורפי שמקבל JSON של proto3. מוסיפים מדיניות JSONThreatProtection לזרימת הבקשות לפני ExtractVariables ומגדירים את <ObjectEntryCount> ומגבלות אחרות כך שיתאימו לחוזה ה-API. כדי להגביר את ההגנה, אפשר להשתמש במדיניות JavaScript כדי לנתח את גוף הבקשה באמצעות JSON.parse() ולדחות מטען ייעודי (payload) שמכיל מפתחות כפולים לפני הפעלת החילוץ.

523085517 ממשק משתמש פתיחה תצוגת המעקב לניפוי באגים ב-Apigee עשויה להבהב או להיטען לאט בסשנים גדולים של ניפוי באגים.

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

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

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

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

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

515424331 hybrid 1.16.3 FIXED in hybrid 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 והסקריפט בוטל. השדרוגים שבוצעו באמצעות תרשימי ה-Helm של Apigee hybrid לא הושפעו, כי התרשימים מפנים ישירות לסיכומי התמונות הנכונים.

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

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

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

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

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

499322601 ‫hybrid 1.16.0-hotfix.1, ‏
hybrid 1.15.2, ‏
hybrid 1.14.4
תוקן בגרסה היברידית 1.16.2 ‫Apigee לא תומך בפרוקסי קדימה שמוגדר בו אימות בסיסי.
495305258 ‫Apigee (פתרון ב-Marketplace) פתיחה שיבוש הפריסה של 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 גרסה 1.15.0 ואילך של hybrid תוקן בגרסה 1.16.0-hotfix.1 שרשור של שרתי proxy נכשל עם 404 route_not_found בהגדרות של מרחב שמות יחיד בכמה ארגונים.

בסביבות Apigee Hybrid שבהן כמה ארגונים חולקים מרחב שמות יחיד של Kubernetes, יכול להיות ששרשור של שרתי proxy ייכשל לסירוגין עם שגיאת 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 apigee-operator/templates/apigee-operator-guardrails.yaml (הערה: זהו קובץ התבנית apigee-operator-guardrails.yaml, ולא קובץ apigee-operator-guardrails-sa).

    מעדכנים את התנאי הראשוני 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 ושרת proxy קדימה) תוקן בגרסה hybrid 1.16.0-hotfix.1 לא ניתן לטעון את API Products,‏ Apps ו-Developers אחרי העברת נתונים אל Apigee Hybrid 1.16

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

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

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 תוקן בגרסה היברידית 1.16.0-hotfix.1 פריסת שרת ה-proxy לא הושלמה בגלל הרשאות RBAC חסרות ב-Hybrid v1.16.0.

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

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

  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 הדף של הערות המוצר לגבי גרסה היברידית לא עודכן במידע על 1.16.0-hotfix.1.

בדף הערות על גרסאות היברידיות לא מופיע מידע על העדכון 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

מידע נוסף:

471125841 hybrid 1.14.x,hybrid 1.15.x תוקן בגרסה היברידית 1.16.x כשיוצרים גרסה חדשה של שרת proxy ל-API ומפעילים אותה עם ערך מעודכן של io.timeout.millis, יכול להיות שהערך החדש לא יכובד באופן עקבי.

הערך המעודכן של io.timeout.millis לא מתקבל לסירוגין בבקשות API. זה קורה כשמשתמשים בכמה שרתים ב-<LoadBalancer> ב-TargetEndpoint.

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

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. כדי לערוך את האישור apigee-ca ולשדרג את 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. מבצעים תיקון (patch) של האישור:
        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.

כמו שמוזכר ב מאמרי העזרה של ה-API של Apigee, כשיוצרים את הארגון ב-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 עם 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 Callouts הם עצמאיים ומשתמשים בספריות הייעודיות שלהם, בלי להסתמך על נתיב המחלקה הפנימי של 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
תוקן ב-Apigee (נדרשת שיחת תמיכה)
תוקן ב-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 צריכים להשתמש בהליך הבא כדי להפעיל את התיקון, אם צריך.

התהליך: כדי להפעיל שימוש בתווים כלליים לחיפוש (*) בנתיבי הבסיס של 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
תוקן בגרסאות hybrid 1.13.3 ו-hybrid 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 פתיחה הגדרה של העברת פרוקסי שאינה API באמצעות httpProxy בלי להגדיר גם את envs.httpProxy לא תחיל את הגדרת הפרוקסי על קריאות חיצוניות של Apigee Runtime לשירותים כמו Pub/Sub או ממשקי Cloud APIs אחרים של Google.

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

מידע נוסף זמין במאמר הגדרת העברת בקשות לשרתי 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 למטרה אחרת מלבד Apigee באשכול, מחקו את istio.io CRD.
  • מעדכנים את apigee-ingressgateway-manager clusterrole כדי להוסיף הרשאות ל-istio.io.

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

מחיקת CRD

  1. מריצים את הפקודה הבאה כדי ליצור קובץ CSV עם רשימת ה-istio.ioCRD באשכול:
    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

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

  1. מפרטים את ה-pods של ingress-manager שרוצים להתקין מחדש או ליצור מחדש:
    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-managerpods:
    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 תוקן בגרסאות hybrid 1.14.3 ו-hybrid 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
תוקן בגרסה היברידית 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
תוקן בגרסה היברידית 1.13.3 ובגרסה היברידית 1.14.1 הפעלה מחדש של פודים של Cassandra באשכול היברידי ששוחזר באמצעות GCP או ספקי הענן HYBRID תגרום למעבר של הפודים למצב 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 תוקן החל מגרסה 1.13.2 ואילך של Hybrid אי אפשר להעלות את עבודת הגיבוי של Apigee לקטגוריות Cloud Storage עם כללי מדיניות לשמירת נתונים.

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

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

341099433

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

‫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 הנדרש של מפתחות שמשמשים בכללי מדיניות של Apigee JWS או JWT עלולה לגרום לשגיאת ניתוח. לדוגמה, אסור להוסיף תו כלשהו מלבד תו מעבר שורה (/n) מיד לפני השורה "-----END" (הגבול אחרי האנקפסולציה), ופעולה כזו תגרום לשגיאה.

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

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

310191899

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

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

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

329304975

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

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

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

333791378

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

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

310384001

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

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

‫hybrid 1.10.0 ואילך תוקן בגרסה 1.10.3 של Hybrid התקנה של 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
תוקן ב-Apigee 1-10-0-apigee-5
תוקן ב-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 זמין במאמר שליטה ב-API proxies באמצעות flows.

282997216

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

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

270371160

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

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

269139342

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

אימות ארגון Apigee לא פועל לפי כללי HTTP Forward proxy שמוגדרים ב-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.

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

-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 ושל תהליך משותף נמשכות עד 30 דקות.

יכול להיות שיחלפו כ-20 עד 30 דקות עד שייפרסו פרוקסי של 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. ב-Apigee Hybrid גרסה 1.8, ה-UDCA בהיקף הארגון מוגדר כברירת מחדל. מידע נוסף זמין במאמר בנושא 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 ואילך 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, משאירים את השדה 'כתובת URL ליציאה מהחשבון' ריק כש מגדירים את הגדרות 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' (במיוחד בדפים ביצועי ה-Proxy וביצועי היעד).

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

  • 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.

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

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 ‫hybrid 1.5.0 ואילך
Apigee
FIXED יכול להיות שעדכונים דינמיים של קצב ההעברה במנגנון למניעת עליות פתאומיות לא ישתקפו באופן מיידי

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

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

221305498 Apigee פתיחה יכול להיות שבמעקב אחר API יוצג קוד שגיאה של '(לא מוגדר)'.

במעקב אחר 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 שנפרסו, ומתקנים לפי הצורך.

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

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

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

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

315820718 Apigee FIXED בבקשות של שרת proxy של gRPC,‏

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

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

כתוצאה מכך, מרכז ה-API לא יחלץ פעולות, הגדרות ומטא-נתונים אחרים בצורה נכונה.
338285095 Apigee FIXED אפליקציות שמשויכות ל-AppGroup לא מופיעות ברשימת האפליקציות בממשק המשתמש של 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.