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

המאמר הזה רלוונטי ל-Apigee ול-Apigee Hybrid.

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

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

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

מזהה הבעיה הבעיה הזו משפיעה על סטטוס תיאור
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.

חשבון השירות (ServiceAccount) של Kubernetes‏ apigee-operator-guardrails-sa לא נוצר כשמתקינים או משדרגים את תרשים 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 ו-forward proxy) תוקן בגרסה hybrid 1.16.0-hotfix.1 לא ניתן לטעון מוצרי API, אפליקציות ומפתחים אחרי העברת נתונים אל Apigee Hybrid 1.16

אחרי שמשדרגים ל-Apigee Hybrid 1.16.0, יכול להיות שסביבות שמשתמשות באיחוד שירותי אימות הזהות של עומסי עבודה (WIF) בשילוב עם שרת proxy להעברת 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.

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

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

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.

ב-Apigee גרסה 1-17-0-apigee-1, שדרוג של 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"".

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

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

451841788 ‫hybrid 1.14.3 ו-hybrid 1.15.1 תוקן ב-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 או ממשקי API אחרים של Google Cloud.

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

  • מוחקים את ה-CRD‏ istio.io אם לא משתמשים ב-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 להתקנה מחדש או ליצירה מחדש:
    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 תוקן בגרסאות 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. הפתרון העקיף הזה נבדק והוא מתאים למי שמוסיף הרבה פרוקסי של API למוצר API. צריך לעדכן את האפליקציה שמשויכת למוצרי ה-API כדי לכלול את מוצר ה-API החדש, אבל הוכח שאין צורך לשנות את פרטי הכניסה ואת פרטי הבקשה בצד הלקוח.

291294211 Apigee פתיחה

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

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

391140293 ‫Apigee
Apigee Hybrid
תוקן

הגדלת מספר הפודים של 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 וnon-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
תוקן

הספרייה 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 in hybrid 1.13.3 and hybrid 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 תוקן יצירת גרסת 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 לא תומך ב-איחוד זהויות של עומסי עבודה.

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

לא רלוונטי

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

לא רלוונטי

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

270574696

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

268104619

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

364872027

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

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

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

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

310191899

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

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

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

329304975

Apigee תוקן הגבלה על מספר נתיבי הבסיס לכל סביבה

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

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

333791378

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

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

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 ואילך 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 תוקן יכול להיות ש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
תוקן עלייה בחביון של מדיניות רישום הודעות כשמשתמשים בה עם Cloud Logging.

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

282997216

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

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

270371160

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

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

269139342

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

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

266452840

‫Apigee
hybrid 1.7.0 ואילך
hybrid 1.8.0 ואילך
hybrid 1.9.0 ואילך
תוקן שקעי אינטרנט לא פועלים עם 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 תוקן טעינת מוצר API נכשלת עם השגיאה 'אין חיבורים זמינים'

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

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

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

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

247540503

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

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

258699204

‫hybrid 1.8.0 ואילך תוקן הבקשות והמגבלות של זיכרון ברירת המחדל עבור פודים של מדדים השתנו בטעות בגרסה 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 תוקן פריסות של proxy ל-API ושל תהליכים משותפים נמשכות עד 30 דקות.

יכול להיות שיחלפו כ-20 עד 30 דקות עד לפריסה של פרוקסי של API ושל רכיבי Shared Flow במישור זמן הריצה בנסיבות מסוימות, בגלל שגיאת '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

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

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

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

241786534

‫hybrid 1.8.0 ואילך תוקן לפעמים 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 ואילך תוקן היומנים לא מועברים אל Cloud Logging על ידי apigee-logger.

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

191291501, 191000617 Apigee תוקן שינוי כתובת האימייל של ישות מפתח ייכשל בממשק המשתמש.
191002224 ‫hybrid 1.5.0 ואילך תוקן שינוי כתובת אימייל נכשל במהלך השימוש ב- PUT /organizations/{org_name}/developers/{developer_email} API.
184555974 ‫hybrid 1.5.0 ואילך תוקן הכלי 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 תוקן שגיאה: כותרת HTTP לא תקינה

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

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 דקות עד שהשינויים יחולו במלואם.
לא רלוונטי פורטל משולב פתיחה תכונות הפורטל

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

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

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

191815997 ‫hybrid 1.6.0 ואילך תוקן אם לקוח היברידי מגדיר פרוקסי קדימה עבור proxy ל-API, טוקן 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 תוקן אם הרכיב 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
תוקן יכול להיות שעדכונים דינמיים של קצב ההעברה ב-Spike Arrest לא ישתקפו באופן מיידי

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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