במאמר הזה מוסבר איך לפרוס את Spring Cloud Config באשכול Kf.
Spring Cloud Config מאפשר להפריד בין קוד האפליקציה לבין הגדרות זמן הריצה שלה. שרת ההגדרות של Spring Cloud Config יכול לקרוא קובצי הגדרות ממאגרי Git, ממערכת הקבצים המקומית, משרתים של HashiCorp Vault או מ-Cloud Foundry CredHub. אחרי ששרת ההגדרות קורא את ההגדרה, הוא יכול לעצב אותה ולהציג אותה בפורמט YAML, Java Properties או JSON דרך HTTP.
לפני שמתחילים
תצטרכו אשכול עם Kf מותקן וגישה ל-Kf CLI.
בנוסף, תצטרכו את התוכנות הבאות:
-
git: נדרש Git כדי לשכפל מאגר.
הורדה של שרת ההגדרות של Spring Cloud Config
כדי להוריד את המקור של שרת ההגדרות:
- פותחים טרמינל.
משכפלים את המקור לשרת ההגדרות:
git clone --depth 1 "https://github.com/google/kf"
הגדרה ופריסה של שרת הגדרות
כדי לעדכן את ההגדרות של המופע:
שינוי הספרייה ל-
spring-cloud-config-server:cd kf/spring-cloud-config-serverפותחים את
manifest.yaml.משנים את משתנה הסביבה
GIT_URIלמזהה המשאבים האחיד (URI) של שרת ההגדרות של Git.אפשר לשנות את שם האפליקציה במניפסט.
אופציונלי: אפשר להגדיר מאפיינים נוספים או מקורות מאפיינים חלופיים על ידי עריכה של
src/main/resources/application.properties.פריסת שרת ההגדרות בלי נתיב חיצוני. אם שיניתם את שם האפליקציה במניפסט, צריך לעדכן אותו כאן:
kf push --no-route spring-cloud-config
קישור אפליקציות לשרת ההגדרות
אתם יכולים ליצור שירות שסופק על ידי המשתמש כדי לקשר את שרת ההגדרות שנפרס לאפליקציות אחרות של Kf באותו אשכול או מרחב שמות.
אופן ההגדרה שלהן תלוי בספרייה שבה משתמשים:
אפליקציות PCF
אפשר לקשר אפליקציות קיימות ב-PCF שמשתמשות בספריית הלקוח של Pivotal's Spring Cloud Services באמצעות השיטה הבאה:
יוצרים שירות שסופק על ידי משתמש בשם config-server. צריך לבצע את השלב הזה רק פעם אחת לכל שרת הגדרות:
kf cups config-server -p '{"uri":"http://spring-cloud-config"}' -t configurationלכל אפליקציה שצריך לקבל עבורה פרטי כניסה, מריצים את הפקודה:
kf bind-service application-name config-serverkf restart application-nameהפעולה הזו תיצור רשומה במשתנה הסביבה
VCAP_SERVICESעבור שרת ההגדרות.
אפליקציות אחרות
אפליקציות שיכולות להתחבר ישירות לשרת הגדרות של Spring Cloud צריכות להיות מוגדרות כך שיגשו אליו באמצעות ה-URI הפנימי של האשכול:
http://spring-cloud-config
- באפליקציות Spring שמשתמשות בספריית הלקוח של Spring Cloud Config, אפשר להגדיר את המאפיין
spring.cloud.config.uriבמיקום המתאים באפליקציה. בדרך כלל זה קובץapplication.propertiesאוapplication.yaml. - במקרה של מסגרות אחרות, אפשר לעיין במידע העזר של הספרייה.
מחיקת שרת ההגדרות
כדי להסיר שרת הגדרות:
כדי להסיר את כל הקישורים לשרת ההגדרות, מריצים את הפקודות הבאות לכל אפליקציה מקושרת:
kf unbind-service application-name config-serverkf restart application-nameמסירים את רשומת השירות של שרת ההגדרות:
kf delete-service config-serverמחיקת אפליקציית שרת ההגדרות:
kf delete spring-cloud-config
המאמרים הבאים
- אפשר לקרוא מידע נוסף על סוגי מקורות ההגדרות שנתמכים ב-Spring Cloud Config.
- כדי להבין איך אפשר להשתמש במשתנה הסביבה
VCAP_SERVICESלאיתור שירותים, כדאי לקרוא על המבנה שלו.