במאמר הזה מוסבר איך להגדיר ולנהל את רכיבי מישור זמן הריצה של Apigee Hybrid. רשימה של רכיבי מישור זמן הריצה שאפשר להגדיר זמינה במאמר סקירה כללית של הגדרת שירות זמן הריצה.
מידע על קובץ השינויים מברירת המחדל
בפעם הראשונה שמתקינים את סביבת הריצה ההיברידית באשכול, צריך ליצור קובץ של שינויים בהגדרות. הקובץ הזה מאפשר לשנות ערכי הגדרות שמוגדרים כברירת מחדל לפי הצורך, להגדיר סביבות, להפנות לאישורי TLS ולמפתחות של חשבונות שירות, להקצות מאגרי צמתים של Kubernetes לרכיבים היברידיים ספציפיים וכן הלאה.
שלבי ההתקנה של הגרסה ההיברידית כוללים את התהליך של יצירת קובץ overrides והחלת ההגדרה על אשכול. אם רוצים לשנות את ההגדרה בהמשך, משנים את קובץ ההחלפות שיצרתם ומחילים אותו מחדש.
ביצוע שינוי בהגדרה
כדי לשנות את ההגדרה של רכיב במישור זמן הריצה ההיברידי, עורכים את קובץ ההגדרות שמוגדרות מחדש ומחילים את השינויים באמצעות apigeectl.
לדוגמה, כדי לשנות את מספר העותקים של מעבד ההודעות, מבצעים את השלבים הבאים:
- פותחים את קובץ ה-YAML של השינויים. חשוב להשתמש באותו קובץ החלפות ששימש להתקנת סביבת ההרצה ההיברידית באשכול.
- מאתרים את הרכיב
runtimeבקובץ. לדוגמה:... runtime: nodeSelector: key: cloud.google.com/gke-nodepool value: apigee-runtime replicaCountMin: 1 replicaCountMax: 2 ... -
משנים את מאפייני מספר העותקים לפי הצורך. לדוגמה:
... runtime: nodeSelector: key: cloud.google.com/gke-nodepool value: apigee-runtime replicaCountMin: 2 replicaCountMax: 4 ... - משתמשים בפקודה
apigeectlכדי להחיל את השינוי על האשכול:apigeectl apply -f ./my_overrides.yaml -c runtime
אילו מאפייני הגדרה אפשר לשנות?
רשימה מלאה של מאפיינים שאפשר להגדיר זמינה בחומר העזר בנושא מאפייני הגדרה. בחומר העזר מפורטים רק המאפיינים שאפשר לשנות. אם תנסו לשנות מאפיין שלא מופיע בחומר העזר, השינוי יתעלם.
איך משתמשים בהפניה להגדרות האישיות
בהפניה למאפיין ההגדרה נעשה שימוש בסימון נקודות כדי לתאר רכיבי הגדרה. הפריט הראשון הוא שם הרכיב ברמה העליונה, ואחריו המאפיינים ומאפייני המשנה. לדוגמה:
authz.image.pullPolicy
בקובץ ההחלפות, המאפיינים מפורמטים ב-YAML בצורה תקינה. בדוגמה שלמעלה, הרכיב authz ברמה העליונה מוזח שמאלה, ומאפייני רכיבי המשנה מוזחים מתחתיו. בנוסף, ב-YAML נדרשת נקודתיים בסוף כל רכיב ורכיב משנה.
לדוגמה, כדי להגדיר את המאפיין authz.image.pullPolicy לערך Always, מאתרים את קטע ה-YAML הזה בקובץ ההחלפות ומגדירים אותו:
authz:
image:
pullPolicy: Alwaysדוגמה נוספת: הנכס cassandra.auth.admin.password (כפי שהוא מופיע בהפניה לנכס Configuration) משמש להגדרת סיסמת האדמין של Cassandra. כדי לשנות את ברירת המחדל, מאתרים את ה-YAML הבא בקובץ ההגדרות וקובעים אותו:
cassandra:
auth:
admin:
password: abc123חשוב לזכור שבהפניה למאפייני ההגדרה מתוארים כל המאפיינים שאפשר להגדיר ברכיבי מישור זמן הריצה ההיברידי. כדי לשנות את הרכיבים האלה בקובץ ההחלפות לפני שמחילים את השינויים על האשכול, צריך לפעול לפי הדפוס שמוסבר למעלה.
שימוש בקבצים מוגדרים מראש של דוגמאות לשינויים
כשמתקינים את סביבת זמן הריצה ההיברידית בפעם הראשונה, מומלץ להשתמש באחד מקובצי הדוגמה המוגדרים מראש לביטול הגדרות ברירת המחדל. בדוגמאות האלה מפורטות כל מאפייני ההגדרה לתרחישי התקנה ספציפיים, למשל להגדרת התקנה של גרסת ייצור או גרסת בדיקה. כל מה שצריך לעשות הוא לספק ערכים מתאימים למאפיינים ולהחיל את קובץ הביטולים על האשכול. מידע נוסף זמין במאמר בנושא יצירת קובץ של חריגים.
מידע על הגדרות ברירת המחדל
Apigee שומר את הגדרות ברירת המחדל של הרכיבים בקובץ hybrid_root_dir/config/values.yaml. קובצי הביטול שלכם פועלים לפי אותו מבנה YAML כמו values.yaml.
קובץ החלפות בדרך כלל כולל רק קבוצת משנה של מאפייני ההגדרה שנמצאים ב-values.yaml. חשוב לזכור שלא כל המאפיינים ניתנים לעריכה. כשמחילים הגדרה על אשכול, ההחלפות מתמזגות עם ברירות המחדל כדי ליצור את ההגדרה המלאה של אשכול Kubernetes. אפשר גם לעיין במאמר בנושא הצגת ההגדרה הממוזגת.
הקוד הבא מציג את הגדרת ברירת המחדל של הרכיב mart כפי שהיא מופיעה ב-values.yaml. שימו לב: לחלק מהערכים יש ערכי ברירת מחדל, אבל לאחרים, כמו sslCertPath ו-sslKeyPath, אין. צריך לספק את הערכים החסרים האלה בקובץ ההחלפות, כמו שמוסבר בשלבי ההתקנה.
אם רוצים לשנות את אחד מערכי ברירת המחדל, צריך לוודא שאפשר לערוך אותם. לשם כך, בודקים את הפניה למאפיין ההגדרה.
...
mart:
replicaCountMin: 2
replicaCountMax: 4
targetCPUUtilizationPercentage: 75
terminationGracePeriodSeconds: 30
sslCertPath:
sslKeyPath:
hostAlias:
nodeSelector:
key:
value:
revision: blue
image:
url: "google/apigee-mart-server"
tag: "1.0.0"
pullPolicy: IfNotPresent
resources:
requests:
cpu: 500m
memory: 512Mi
initCheckCF:
resources:
requests:
cpu: 10m
livenessProbe:
timeoutSeconds: 1
failureThreshold: 12
periodSeconds: 5
initialDelaySeconds: 15
readinessProbe:
timeoutSeconds: 1
successThreshold: 1
failureThreshold: 2
periodSeconds: 5
initialDelaySeconds: 15
metricsURL: "/v1/server/metrics"
cwcAppend: |
...אם רוצים לשנות את ברירות המחדל של רכיב מסוים והרכיב עדיין לא נמצא בקובץ השינויים, אפשר להעתיק את ה-YAML שלו מ-values.yaml לקובץ השינויים ולשנות אותו שם.
קובצי ביטול לדוגמה
Apigee מספקת קבוצה של קובצי החלפה לדוגמה כדי לעזור לכם להגדיר את הפריסה ההיברידית. מומלץ להעתיק ולשנות את קובץ ההחלפה שהכי מתאים לדרישות ההתקנה שלכם.
הדוגמאות הבאות כלולות בספרייה hybrid_root_dir/examples:
| קובצי ביטול לדוגמה | תיאור |
|---|---|
overrides-small.yaml |
הדוגמה הזו מתאימה להתחלה מהירה. היא משתמשת בטביעת הרגל המינימלית המומלצת כדי להפעיל את רכיבי זמן הריצה ההיברידיים. הגדרת הדוגמה הזו מסתמכת ככל האפשר על הגדרות וערכי ברירת מחדל. כל העותקים המינימליים מוגדרים כ-1. |
overrides-medium.yaml |
הדוגמה הזו היא נקודת התחלה טובה לבדיקות ולסביבות בקרת איכות. לרכיבים בודדים הוקצו יותר משאבים כדי להתמודד עם תנועה נוספת. Cassandra משתמשת בדיסקים מסוג SSD לשיפור הביצועים. בסביבה הזו, מומלץ למשתמשים להתקין רכיבים עם שמירת מצב ורכיבים בלי שמירת מצב בצמתים נפרדים. מידע נוסף זמין במאמר בנושא הגדרת צמתים ייעודיים. |
overrides-large.yaml |
הדוגמה הזו היא נקודת התחלה טובה לסביבות עם ביצועים גבוהים, כמו סביבות לפני ייצור וסביבות ייצור. הדוגמה כוללת מאפיינים להגדרת מפתחות הצפנה, סיסמאות ועוד. לכל רכיב יש לפחות שני עותקים. |
פלט של ההגדרות הממוזגות
אפשר להשתמש בדגל--dry-run עם apigeectl כדי להפיק את קובץ התצורה הממוזג בלי להחיל אותו בפועל על האשכול. האפשרות הזו שימושית לניפוי באגים בבעיות בהתקנה, כי היא מראה בדיוק מה יוחל על האשכול.
מומלץ גם להפיק את ההגדרות ולשמור אותן בבקרה של המקורות, כדי שיהיה לכם מידע על המשאבים שהותקנו והוגדרו באשכול.
לדוגמה:
apigeectl apply -f ./my_overrides.yaml --dry-run --print-yaml > apigee-hybrid.yaml
מידע נוסף זמין במאמר apigeectl.
יצירת כמה קובצי ביטול לפי הצורך
אפשר ליצור כמה קובצי ביטול שרוצים, כשכל אחד מהם מיועד לדרישה ספציפית. לדוגמה, יכול להיות שיש לכם קובץ overrides שמכוון את האשכול שלכם לייצור, וקובץ אחר ליצירת אשכול לבדיקה. אחר כך תוכלו לתחזק את הקבצים האלה במערכת בקרת המקור שלכם.
משתמשים באפשרות -f עם apigeectl כדי לציין את המיקום והשם של קובץ החלפות. לדוגמה:
apigeectl apply -f ./test_env_override.yaml
מידע נוסף זמין במאמר apigeectl.
מחיקה של רכיבי מישור זמן ריצה ספציפיים ל-Hybrid
כדי למחוק מהאשכול את רכיבי מישור זמן הריצה הספציפיים ל-Hybrid, משתמשים בפקודה apigeectl delete. הרכיבים האלה כוללים את synchronizer, mart, runtime, cassandra ו-udca. חשוב לציין את אותו קובץ החלפות שבו השתמשתם כדי להתקין את רכיבי זמן הריצה:
לדוגמה:
apigeectl delete -f ./my_overrides.yaml
אפשר להשתמש בפקודה apigeectl apply כדי ליצור מחדש רכיב ספציפי או כמה רכיבים:
apigeectl apply -c synchronizer -f ./my_overrides.yaml
מידע נוסף זמין במאמר apigeectl.
מחיקה של רכיב ספציפי
אם רוצים למחוק רק רכיב ספציפי, משתמשים באפשרות -c עם apigeectl delete. חשוב לציין את אותו קובץ החלפות שהשתמשתם בו כדי להתקין את רכיבי זמן הריצה.
לדוגמה, כדי למחוק את רכיב ה-Synchronizer, משתמשים בפקודה הבאה:
apigeectl delete -c synchronizer -f ./my_overrides.yaml
לאחר מכן, אפשר להשתמש בפקודה apigeectl apply כדי ליצור מחדש את הרכיב:
apigeectl apply -c synchronizer -f ./my_overrides.yaml
מידע נוסף זמין במאמר apigeectl.
מחיקת כל הרכיבים
כדי למחוק את כל רכיבי האשכול בהגדרה היברידית, כולל אלה שנוצרו באמצעות הפקודה apigeectl init, משתמשים בפקודה apigeectl delete עם הדגל --all. חשוב לציין את אותו קובץ החלפות שבו השתמשתם כדי להתקין את רכיבי זמן הריצה:
לדוגמה:
apigeectl delete -f ./my_overrides.yaml --all
מידע נוסף זמין במאמר apigeectl.