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

החל מגרסה 1.8 של Apigee Hybrid, ‏ Apigee Hybrid משתמש בשער הכניסה של Apigee כדי לספק את שער הכניסה ל-Hybrid.

הגדרת שער 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

מחילים את השינויים על היקף הארגון באמצעות apigeectl.

$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --org

משימות ניהול

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

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

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

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

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

מחילים את השינויים באמצעות apigeectl apply --org.

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

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

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

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

מחילים את השינויים באמצעות apigeectl apply --org.

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

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

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

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

מחילים את השינויים באמצעות apigeectl apply --org.

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

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

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

מחילים את השינויים באמצעות apigeectl apply --org.

הגדרת 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

מחילים את השינויים באמצעות apigeectl apply --org.

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

אפשר להשתמש בתוויות של סלקטורים כדי למפות מארח וירטואלי לפריסה של שער כניסה של Apigee. בדוגמה הבאה, המארח הווירטואלי spam-vh מוגדר לפעול בשער הכניסה עם התווית meat, ושני המארחים הווירטואליים האחרים פועלים בשער הכניסה fruit. צריך לתת לשערי הכניסה תוויות מתאימות, כמו שמוסבר במאמר התקנת שערי כניסה נוספים של Anthos 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 hybrid תומך בחבילות הצפנה של TLS v1.2. אם אתם משתמשים ב-TLS v1.0 או ב-TLS v1.1, אתם יכולים להשתמש במאפיין virtualhosts.cipherSuites בקובץ ההחלפות כדי להוסיף חבילות הצפנה מותאמות אישית לפריסת שער הכניסה של Apigee.

לדוגמה, כדי לתמוך ב-TLS בגרסה 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"
  ...

לדוגמה, כדי לתמוך ב-TLS מגרסה 1.0:

virtualhosts:
- name: ENV_GROUP
  minTLSProtocolVersion: "1.0"
  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: ''

שאלות נפוצות

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