פריסת Spring Music

במאמר הזה נסביר איך לפרוס את אפליקציית ההפניה Cloud Foundry Spring Music באמצעות Kf, ונדגים כמה דברים:

  1. פיתוח אפליקציות Java ממקור: המקור של Spring Music יפותח באשכול ולא באופן מקומי.

  2. שילוב של מתווך שירותים: תיצרו מסד נתונים של PostgreSQL ותקשרו אותו לאפליקציית Spring Music.

  3. Spring Cloud Connectors: האפליקציה Spring Music משתמשת ב-Spring Cloud Connectors כדי לזהות דברים כמו שירותי CF מקושרים. הם פועלים בצורה חלקה עם Kf.

  4. הגדרת גרסת Java: תציינו את גרסת Java שבה אתם רוצים שה-buildpack ישתמש.

דרישות מוקדמות

אפשרות 1: Minibroker

האדמין של האשכול צריך לפעול לפי ההוראות האלה כדי להתקין את Minibroker מתווך שירותים באשכול. ה-Minibroker יאפשר לכם להקצות מסד נתונים של PostgreSQL ולהגדיר את האפליקציה כך שתשתמש בו.

כדי לוודא ש-Minibroker מותקן וזמין באשכול, מריצים את הפקודה kf marketplace וצריך להופיע פלט דומה לזה:

$ kf marketplace
5 services can be used in Space "demo", use the --service flag to list the plans for a service

Broker      Name        Space      Status  Description
minibroker  mariadb                Active  Helm Chart for mariadb
minibroker  mongodb                Active  Helm Chart for mongodb
minibroker  mysql                  Active  Helm Chart for mysql
minibroker  postgresql             Active  Helm Chart for postgresql
minibroker  redis                  Active  Helm Chart for redis

אפשרות 2: ברוקר שירותים אחר

אתם יכולים להשתמש במתווך שירותים אחר שמותקן, כל עוד הוא תומך ביצירת שירותי PostgreSQL. לדוגמה, gcp-service-broker.

כלים לפריסה

מקור השכפול

  1. משכפלים את מאגר Spring Music.

    git clone https://github.com/cloudfoundry-samples/spring-music.git spring-music
    cd spring-music
  2. עורכים את manifest.yml ומחליפים את התוכן שלו בתוכן הבא:

    ---
    applications:
    - name: spring-music
      memory: 1G
      random-route: true
      stack: org.cloudfoundry.stacks.cflinuxfs3
      env:
        BP_AUTO_RECONFIGURATION_ENABLED: false
    

Push App

  1. פריסה (בהנחה שכבר kf targetתם מרחב; פרטים נוספים זמינים במסמכים האלה):

    kf push spring-music
    
  2. משתמשים בתכונת ה-proxy כדי לגשת לאפליקציה שנפרסה, ואז טוענים את http://localhost:8080 בדפדפן:

    kf proxy spring-music
    

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

יצירה וקישור של מסד נתונים

  1. יצירת שירות PostgreSQL באמצעות הברוקר שהותקן בזירת המסחר:

    kf create-service postgresql 11-7-0 spring-music-db -c '{"postgresqlDatabase":"smdb", "postgresDatabase":"smdb"}'
    
  2. מקשרים את מופע השירות לאפליקציית Spring Music:

    kf bind-service spring-music spring-music-db -c '{"postgresqlDatabase":"smdb", "postgresDatabase":"smdb"}'
    
  3. מפעילים מחדש את האפליקציה כדי שהקישור לשירות יהיה זמין דרך משתנה הסביבה VCAP_SERVICES:

    kf restart spring-music
    
  4. (אופציונלי) צופים בפרטי הקישור:

    kf bindings
    
  5. kf proxy לאפליקציה שוב ולצפות בה בדפדפן האינטרנט. פרופיל Spring צריך להופיע, ולציין שנעשה שימוש בשירות PostgreSQL שיצרתם וקישרתם:

כיבוי סופי

  1. מבטלים את הקישור של שירות PostgreSQL ומוחקים אותו:

    kf unbind-service spring-music spring-music-db
    kf delete-service spring-music-db
    
  2. מחיקת האפליקציה:

    kf delete spring-music