איך להגדיר את Edge

Edge for Private Cloud v4.18.05

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

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

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

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

  1. לקוח
  2. מנהל ההתקנה
  3. Apigee

איך משתמשים בקובצי ‎ .properties

כלקוחות, אתם יכולים לשנות רק את הקבצים מסוג .properties בתיקייה /opt/apigee/customer/application. לכל רכיב יש קובץ .properties משלו בספרייה הזו. לדוגמה, router.properties ו-management-server.properties.

לדוגמה, כדי ליצור קובץ .properties:

  1. יוצרים את הקובץ בכל עורך ככל משתמש.
  2. משתמשים ב-chown כדי לשנות את הבעלים של הקובץ ל-apigee:apigee. לחלופין, אם שיניתם את המשתמש שמפעיל את שירות Edge מהמשתמש apigee, משתמשים ב-chown כדי לשנות את הבעלים של הקובץ למשתמש שמפעיל את שירות Edge.

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

/opt/apigee/apigee-service/bin/apigee-service component restart

לדוגמה, אחרי העריכה של router.properties, מפעילים מחדש את הנתב:

/opt/apigee/apigee-service/bin/apigee-service edge-router restart

כשמשדרגים את Edge, הקבצים מסוג .properties בספרייה /opt/apigee/customer/application נקראים. כלומר, כל המאפיינים שהגדרתם לרכיב יישמרו במהלך השדרוג.

המיקום של קובצי ‎ .properties

יש שלוש ספריות ברמה העליונה של קבצים מסוג .properties עבור רכיבי Edge: installation,‏ owner ו-customers. מיקומי ברירת המחדל מוצגים בטבלה הבאה:

בעלים תיקיית השורש של אסימונים שמוגדרת כברירת מחדל
רכיב
/opt/apigee/component_name/conf

כאשר component_name הוא המזהה של הרכיב. הערכים האפשריים:

  • apigee-cassandra (קסנדרה)
  • apigee-openldap (OpenLDAP)
  • apigee-postgresql (מסד נתונים של PostgreSQL)
  • apigee-qpidd (קיפוד)
  • apigee-sso (כניסה יחידה (SSO))
  • apigee-zookeeper (ZooKeeper)
  • edge-management-server (שרת ניהול)
  • edge-management-ui (ממשק קצה חדש של Edge)
  • edge-message-processor (מעבד הודעות)
  • edge-postgres-server (שרת Postgres)
  • edge-qpid-server (שרת Qpid)
  • edge-router (נתב קצה)
  • edge-ui (ממשק משתמש קלאסי)
התקנה
/opt/apigee/token
לקוח
/opt/apigee/customer

חישוב הערך הנוכחי של אסימון

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

/opt/apigee/apigee-service/bin/apigee-service component_name configure -search token

כאשר component_name הוא שם הרכיב ו-token הוא האסימון לבדיקה.

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

לדוגמה, כדי לבדוק את הערך הנוכחי של האסימון conf_http_HTTPRequest.line.limit של הנתב:

/opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_http_HTTPRequest.line.limit

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

Found key conf_http_HTTPRequest.line.limit, with value, 4k, in /opt/apigee/edge-router/token/default.properties

הגדרת אסימונים בקובצי .properties

כדי לשנות את הערך של טוקן:

  1. עורכים את הקובץ .properties של הרכיב כדי להגדיר את ערך האסימון. אם הקובץ לא קיים, יוצרים אותו.
  2. מפעילים מחדש את הרכיב.
  3. בודקים את ערך האסימון.

לדוגמה, כדי להגדיר את מגבלת שורת הבקשה ל-Edge Router:

  1. עורכים את הקובץ /opt/apigee/customer/application/router.properties כדי להגדיר את התג conf_http_HTTPRequest.line.limit:
    conf_http_HTTPRequest.line.limit=8k
  2. מפעילים מחדש את נתב Edge:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  3. בודקים את ערך האסימון:
    /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_http_HTTPRequest.line.limit

הגדרת אסימון שמקבל כמה ערכים

אסימונים מסוימים מקבלים רשימה של ערכים מופרדים בפסיקים. לדוגמה, האסימון conf_security_rbac.restricted.resources מקבל רשימה של מזהי URI מוגבלים כך שרק האדמין יכול לקרוא להם. כדי לראות את הערך של conf_security_rbac.restricted.resources:

cd /opt/apigee/edge-management-server
grep -ri "conf_security_rbac.restricted.resources" *

בפלט:

token/default.properties:conf_security_rbac.restricted.resources=/environments,/environments/*,/environments/*/virtualhosts,/environments/*/virtualhosts/*,/pods,/environments/*/servers,/rebuildindex,/users/*/status

כדי להגדיר אסימון שמקבל רשימה של ערכים, צריך לצרף ערכים חדשים לערך הנוכחי של האסימון בקובץ .properties. לכן, כדי להוסיף את ה-URI /myuri/* אל conf_security_rbac.restricted.resources, צריך לערוך את הקובץ /opt/apigee/customer/application/management-server.properties כמו שמתואר בהמשך:

conf_security_rbac.restricted.resources=/environments,/environments/*,/environments/*/virtualhosts,/environments/*/virtualhosts/*,/pods,/environments/*/servers,/rebuildindex,/users/*/status,/myuri/*

איתור אסימון

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

לדוגמה, אם אתם יודעים שבגרסה קודמת של Edge הגדרתם את המאפיין session.maxAge ואתם רוצים לדעת את ערך האסימון ששימש להגדרה שלו, תוכלו להריץ את הפקודה grep עבור הנכס בספרייה /opt/apigee/edge-ui/source:

grep -ri "session.maxAge" /opt/apigee/edge-ui/source

התוצאה אמורה להיראות כך:

/opt/apigee/edge-ui/source/conf/application.conf:session.maxAge={T}conf_application_session.maxage{/T}

המחרוזת בין התגים {T}{/T} היא האסימון שהגדרתם בקובץ .properties.

הגדרת אסימון שכרגע התגובות שלו מתבטלות

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

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

conf/file.extension+propertyName=propertyValue

לדוגמה, אתם רוצים להגדיר את המאפיין HTTPClient.proxy.host ב-Message Processor. לאחר מכן, grep לנכס כדי לקבוע את האסימון שלו:

cd /opt/apigee/edge-message-processor
grep -ri "HTTPClient.proxy.host" *

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

source/conf/http.properties:#HTTPClient.proxy.host={T}conf_http_HTTPClient.proxy.host{/T}
token/default.properties:conf_http_HTTPClient.proxy.host=
conf/http.properties:#HTTPClient.proxy.host=

כדי להגדיר את המאפיין, עורכים את /opt/apigee/customer/application/message-processor.properties ומגדירים את המאפיין כך:

conf/http.properties+HTTPClient.proxy.host=myhost.name.com

שימו לב ששמו של המאפיין מתחיל ב-conf/http.properties+, המיקום והשם של קובץ התצורה שמכיל את המאפיין, ואחריו "+".

אחרי שמפעילים מחדש את Message Processor, בודקים את הקובץ /opt/apigee/edge-message-processor/conf/http.properties:

cat /opt/apigee/edge-message-processor/conf/http.properties

בסוף הקובץ יופיע קבוצת הנכסים, בפורמט הבא:

conf/http.properties:HTTPClient.proxy.host=myhost.name.com