פריסת Spring Cloud Config

במאמר הזה מוסבר איך לפרוס את 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

כדי להוריד את המקור של שרת ההגדרות:

  1. פותחים טרמינל.
  2. משכפלים את המקור לשרת ההגדרות:

    git clone --depth 1 "https://github.com/google/kf"

הגדרה ופריסה של שרת הגדרות

כדי לעדכן את ההגדרות של המופע:

  1. שינוי הספרייה ל-spring-cloud-config-server:

    cd kf/spring-cloud-config-server
  2. פותחים את manifest.yaml.

  3. משנים את משתנה הסביבה GIT_URI למזהה המשאבים האחיד (URI) של שרת ההגדרות של Git.

  4. אפשר לשנות את שם האפליקציה במניפסט.

  5. אופציונלי: אפשר להגדיר מאפיינים נוספים או מקורות מאפיינים חלופיים על ידי עריכה של src/main/resources/application.properties.

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

    kf push --no-route spring-cloud-config

קישור אפליקציות לשרת ההגדרות

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

אופן ההגדרה שלהן תלוי בספרייה שבה משתמשים:

אפליקציות PCF

אפשר לקשר אפליקציות קיימות ב-PCF שמשתמשות בספריית הלקוח של Pivotal's Spring Cloud Services באמצעות השיטה הבאה:

  1. יוצרים שירות שסופק על ידי משתמש בשם config-server. צריך לבצע את השלב הזה רק פעם אחת לכל שרת הגדרות:

    kf cups config-server -p '{"uri":"http://spring-cloud-config"}' -t configuration
  2. לכל אפליקציה שצריך לקבל עבורה פרטי כניסה, מריצים את הפקודה:

    kf bind-service application-name config-server
    kf restart application-name

    הפעולה הזו תיצור רשומה במשתנה הסביבה VCAP_SERVICES עבור שרת ההגדרות.

אפליקציות אחרות

אפליקציות שיכולות להתחבר ישירות לשרת הגדרות של Spring Cloud צריכות להיות מוגדרות כך שיגשו אליו באמצעות ה-URI הפנימי של האשכול:

http://spring-cloud-config
  • באפליקציות Spring שמשתמשות בספריית הלקוח של Spring Cloud Config, אפשר להגדיר את המאפיין spring.cloud.config.uri במיקום המתאים באפליקציה. בדרך כלל זה קובץ application.properties או application.yaml.
  • במקרה של מסגרות אחרות, אפשר לעיין במידע העזר של הספרייה.

מחיקת שרת ההגדרות

כדי להסיר שרת הגדרות:

  1. כדי להסיר את כל הקישורים לשרת ההגדרות, מריצים את הפקודות הבאות לכל אפליקציה מקושרת:

    kf unbind-service application-name config-server
    kf restart application-name
  2. מסירים את רשומת השירות של שרת ההגדרות:

    kf delete-service config-server
  3. מחיקת אפליקציית שרת ההגדרות:

    kf delete spring-cloud-config

המאמרים הבאים

  • אפשר לקרוא מידע נוסף על סוגי מקורות ההגדרות שנתמכים ב-Spring Cloud Config.
  • כדי להבין איך אפשר להשתמש במשתנה הסביבה VCAP_SERVICES לאיתור שירותים, כדאי לקרוא על המבנה שלו.