במאמר הזה מוסבר איך לפרוס את 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 Config צריכות להיות מוגדרות כך שיקבלו גישה אליו באמצעות ה-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לאיתור שירותים, כדאי לקרוא על המבנה שלו.