ניהול שער כניסה של Apigee

הגדרת שער Ingress של Apigee

אפשר להגדיר את שער הכניסה ב-overrides.yaml. לדוגמה:

תחביר

ingressGateways:
- name: INGRESS_NAME
  replicaCountMin: REPLICAS_MIN
  replicaCountMax: REPLICAS_MAX
  resources:
    requests:
      cpu: CPU_COUNT_REQ
      memory: MEMORY_REQ
    limits:
      cpu: CPU_COUNT_LIMIT
      memory: MEMORY_LIMIT
  svcAnnotations:  # optional.
    SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE
  svcLoadBalancerIP: SVC_LOAD_BALANCER_IP # optional

דוגמה

ingressGateways:
- name: prod1
  replicaCountMin: 2
  replicaCountMax: 100
  resources:
    requests:
      cpu: 1
      memory: 1Gi
    limits:
      cpu: 2
      memory: 2Gi
  svcAnnotations:  # optional. See Known issue 243599452.
    networking.gke.io/load-balancer-type: "Internal"
  svcLoadBalancerIP: 198.252.0.123 
  • INGRESS_NAME הוא שם הפריסה של שער הכניסה. אפשר להשתמש בכל שם שעומד בדרישות הבאות:
    • האורך המקסימלי הוא 17 תווים
    • השם יכול להכיל רק תווים אלפאנומריים באותיות קטנות, '-' או '.'
    • מתחילים בתו אלפאנומרי
    • התו האחרון חייב להיות אלפאנומרי

    מידע נוסף זמין במאמר ingressGateways[].name בנושא מאפייני הגדרות.

  • REPLICAS_MIN ו-REPLICAS_MAX מספר העותקים המינימלי והמקסימלי של שער הכניסה של Apigee בהתקנה. מידע נוסף זמין במאמרים ingressGateways[].replicaCountMin וingressGateways[].replicaCountMax בנושא מאפייני הגדרות.
  • CPU_COUNT_REQ ו-MEMORY_REQ בקשת המעבד והזיכרון לכל עותק של שער הכניסה של Apigee בהתקנה.

    מידע נוסף זמין במאמרים בנושא ingressGateways[].resources.requests.cpu וingressGateways[].resources.requests.memory בחומר העזר בנושא מאפייני הגדרה.

  • CPU_COUNT_LIMIT ו-MEMORY_LIMIT המגבלות המקסימליות של יחידת העיבוד המרכזית (CPU) והזיכרון לכל עותק משוכפל של שער הכניסה של Apigee בהתקנה.

    מידע נוסף זמין במאמרים בנושא ingressGateways[].resources.limits.cpu וingressGateways[].resources.limits.memory בחומר העזר בנושא מאפייני הגדרה.

  • SVC_ANNOTATIONS_KEY SVC_ANNOTATIONS_VALUE (אופציונלי):

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

    ingressGateways:
      svcAnnotations:
        networking.gke.io/load-balancer-type: "Internal"

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

    מידע נוסף על ingressGateways[].svcAnnotations
  • SVC_LOAD_BALANCER_IP (אופציונלי). בפלטפורמות שתומכות בהגדרת כתובת ה-IP של מאזן העומסים, מאזן העומסים ייווצר עם כתובת ה-IP הזו. בפלטפורמות שלא מאפשרות לציין את כתובת ה-IP של מאזן העומסים, המאפיין הזה מושבת. מידע נוסף על ingressGateways[].svcLoadBalancerIP

החלת ההגדרה של שער הכניסה של Apigee

החלת שינויים בהיקף הארגון:

helm upgrade ORG_NAME apigee-org/ \
  --namespace apigee \
  --atomic \
  -f OVERRIDES_FILE.yaml

משימות ניהול

כמה משימות ניהול נפוצות של שער הכניסה Apigee:

שינוי קנה מידה של שער כניסה ב-Apigee:

מעדכנים את המאפיינים הבאים בקובץ השינויים.

  • ingressGateways[].replicaCountMax
  • ingressGateways[].replicaCountMin

פרטים נוספים זמינים במאמר בנושא ingressGateways במאמר בנושא מאפייני הגדרות.

מחילים את השינויים:

helm upgrade ORG_NAME apigee-org/ \
  --namespace apigee \
  --atomic \
  -f OVERRIDES_FILE.yaml

עדכון הקצאת משאבים

מעדכנים את המאפיינים הבאים בקובץ השינויים.

  • ingressGateways[].resources.limits.cpu
  • ingressGateways[].resources.limits.memory
  • ingressGateways[].resources.requests.cpu
  • ingressGateways[].resources.requests.memory

פרטים נוספים זמינים במאמר בנושא ingressGateways במאמר בנושא מאפייני הגדרות.

מחילים את השינויים:

helm upgrade ORG_NAME apigee-org/ \
  --namespace apigee \
  --atomic \
  -f OVERRIDES_FILE.yaml

עדכון שירות שער הכניסה של Apigee

מעדכנים את המאפיינים הבאים בקובץ השינויים.

  • ingressGateways[].svcAnnotations
  • ingressGateways[].svcLoadBalancerIP

פרטים נוספים זמינים במאמר בנושא ingressGateways במאמר בנושא מאפייני הגדרות.

מחילים את השינויים:

helm upgrade ORG_NAME apigee-org/ \
  --namespace apigee \
  --atomic \
  -f OVERRIDES_FILE.yaml

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

אם יוצרים שירות Kubernetes מותאם אישית לפריסת שער הכניסה, אפשר להשבית את היצירה של איזון עומסים בשירות Kubernetes שמוגדר כברירת מחדל. מעדכנים את המאפיין ingressGateways[].svcType לערך ClusterIP בקובץ ההחלפות. לדוגמה:

ingressGateways:
  - name: my-ingress-gateway
    replicaCountMin: 2
    replicaCountMax: 10
    svcType: ClusterIP

מחילים את השינויים:

helm upgrade ORG_NAME apigee-org/ \
  --namespace apigee \
  --atomic \
  -f OVERRIDES_FILE.yaml

הגדרת TLS ו-mTLS

מידע נוסף זמין במאמר בנושא הגדרת TLS ו-mTLS בשער הכניסה.

הפעלת לקוחות שאינם SNI

כך מפעילים לקוחות HTTP ולקוחות שאינם SNI.

התקנה של שערים נוספים של Apigee ingress

בקובץ overrides.yaml אפשר להוסיף כמה שערים של תעבורת נכנסת. מאפיין ההגדרה ingressGateways הוא מערך. מידע נוסף זמין במאמר בנושא ingressGateways בהפניה למאפייני ההגדרה.

לדוגמה:

ingressGateways:
- name: fruit
  replicaCountMin: 2
  replicaCountMax: 10

- name: meat
  replicaCountMin: 2
  replicaCountMax: 10

מחילים את השינויים:

helm upgrade ORG_NAME apigee-org/ \
  --namespace apigee \
  --atomic \
  -f OVERRIDES_FILE.yaml

מיפוי של מארחים וירטואליים לפריסות של שער כניסה ב-Apigee

אפשר להשתמש בתוויות של סלקטורים כדי למפות מארח וירטואלי לפריסה של שער כניסה של Apigee. בדוגמה הבאה, המארח הווירטואלי spam-vh מוגדר לפעול בשער הכניסה עם התווית meat, ושני המארחים הווירטואליים האחרים פועלים בשער הכניסה fruit. צריך לתת תוויות מתאימות לשערי הכניסה, כמו שמוסבר במאמר התקנת שערי כניסה נוספים של Cloud Service Mesh.

virtualhosts:
- name: spam-vh
  sslCertPath: cert-spam.crt
  sslKeyPath: cert-spam.key
  selector:
    app: apigee-ingressgateway
    ingress_name: meat
- name: banana-vh
  sslCertPath: cert-banana.crt
  sslKeyPath: cert-banana.key
  selector:
    app: apigee-ingressgateway
    ingress_name: fruit
- name: plum-vh
  sslCertPath: cert-plum.crt
  sslKeyPath: cert-plum.key
  selector:
    app: apigee-ingressgateway
    ingress_name: fruit

    

הוספת חבילות צפנים מותאמות אישית לפריסות של שער כניסה ב-Apigee

אפשר להוסיף חבילות צפנים מותאמות אישית לפריסת שער הכניסה של Apigee באמצעות המאפיין virtualhosts.cipherSuites בקובץ ההחלפות.

מידע נוסף על חבילות ההצפנה שמופעלות כברירת מחדל ב-Apigee hybrid זמין במאמר virtualhosts.cipherSuites.

אתם יכולים להפעיל גרסאות ישנות יותר של TLS באמצעות המאפיין virtualhosts.minTLSProtocolVersion ולהוסיף חבילות צפנים מותאמות אישית לפריסת שער הכניסה של Apigee באמצעות המאפיין virtualhosts.cipherSuites בקובץ ההחלפות.

לדוגמה, כדי להפעיל את TLS v.1.1:

virtualhosts:
- name: ENV_GROUP_NAME
  minTLSProtocolVersion: "1.1"
  cipherSuites:
  - "ECDHE-ECDSA-AES128-GCM-SHA256"
  - "ECDHE-RSA-AES128-GCM-SHA256"
  - "ECDHE-ECDSA-AES256-GCM-SHA384"
  - "ECDHE-RSA-AES256-GCM-SHA384"
  - "ECDHE-ECDSA-CHACHA20-POLY1305"
  - "ECDHE-RSA-CHACHA20-POLY1305"
  - "ECDHE-ECDSA-AES128-SHA"
  - "ECDHE-RSA-AES128-SHA"
  - "ECDHE-ECDSA-AES256-SHA"
  - "ECDHE-RSA-AES256-SHA"
  ...

התאמה אישית של יומני הגישה של Ingress

אפשר להתאים אישית את היעד והפורמט של יומן הגישה של שער הכניסה של Apigee באמצעות מאפייני ההגדרה istiod.accessLogFile ו-istiod.accessLogFormat. בדוגמה הבאה, הפלט יישלח אל /dev/stdout, שהוא ערך ברירת המחדל של istiod.accessLogFile:

istiod:
  accessLogFormat: '{"request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","status":"%RESPONSE_CODE%"}'

כדי להשבית את הרישום ביומן של הגישה ל-Apigee ingress gateway, צריך להקצות את הערך istiod.accessLogFile ואת הערך הריק. לדוגמה:

istiod:
  accessLogFile: ''

שאלות נפוצות

איך זה עובד עם ההתקנה הקיימת של Cloud Service Mesh או Istio במרחב שמות אחר?
כל עוד Apigee מותקן במרחב שמות ייעודי – אפשר להפעיל את שער הכניסה של Apigee לצד התקנה קיימת של Cloud Service Mesh או Istio באשכול. שער הכניסה של Apigee לא שומר הגדרות ב-apiserver, ולכן לא יהיה שום קונפליקט.
מי אחראי לשדרוג רכיבי שער הכניסה של Apigee?
‫Apigee מטפל בשדרוגים של רכיבי שער הכניסה של Apigee, שמתבצעים במהלך שדרוגים רגילים של Hybrid ופרסום תיקוני אבטחה.
איך חושפים את יציאה 80 בשער כניסה של Apigee?
שער הכניסה של Apigee לא תומך ביציאה 80. אם אתם עוברים מ-Cloud Service Mesh אל שער הכניסה של Apigee, ופעלתם לפי ההוראות בפוסט בקהילה כדי להפעיל את יציאה 80, היא לא תפעל עם שער הכניסה של Apigee.