פרוס יישום אתחול האביב ל- OpenShift

1. סקירה כללית

במדריך זה נראה כיצד לפרוס יישום מ- Bootstrap שלנו יישום פשוט באמצעות מדריך אתחול האביב ל- Openshift.

כחלק מכך אנו:

  • התקן והגדר את כלי הפיתוח של Openshift.
  • צור פרויקט Openshift ופריסת MySQL.
  • הגדר את היישום עבור Kubernetes של Spring Cloud.
  • צרו ופרסו את היישום במכולה באמצעות תוסף Fabric8 Maven ובדקו והגדילו את היישום.

2. תצורת Openhift

ראשון, עלינו להתקין את Minishift, את אשכול ה- OpenShift המקומי עם הצומת היחיד ואת לקוח Openshift.

לפני השימוש ב- Minishift עלינו להגדיר הרשאות למשתמש המפתח:

התקנת תוספות minishift - תקנות תוספות minishift מאפשרות ממשק משתמש ממשלת minishift מתחילה oc מדיניות - כמערכת: מנהל הוספה של אשכול-תפקיד-למפתח אשכול-מנהל אשכול

כעת אנו רוצים להשתמש במסוף Openshift ליצירת שירות MySQL. אנו יכולים להפעיל את כתובת האתר של הדפדפן באמצעות:

קונסולת minishift

אם אינך מחובר אוטומטית, השתמש מפתח / מפתח.

צור פרויקט בשם baeldung-demo ואז צור שירות מסדי נתונים MySQL מהקטלוג. לְסַפֵּק baeldung-db עבור שירות מסדי הנתונים, baeldung_db עבור שם מסד הנתונים של MySQL, והשאיר את הערכים האחרים כברירת מחדל.

כעת יש לנו שירות וסודות לגישה למסד הנתונים. שים לב לכתובת האתר של חיבור מסד הנתונים: mysql: // baeldung-db: 3306 / baeldung_db

עלינו לאפשר ליישומים לקרוא תצורה כמו סודות Kubernetes ו- ConfigMaps:

oc ליצור תצוגת ברירת מחדל של מחייב תפקידים - cllusterrole = view \ --serviceaccount = baeldung-demo: ברירת מחדל - namespace = baeldung-demo

3. תלות בענני האביב Kubernetes

נשתמש בפרויקט Cloud Kubernetes של Spring כדי לאפשר את ממשקי ה- API המקוריים לענן עבור Kubernetes העומדים בבסיס Openshift:

 openshift org.springframework.cloud spring-cloud-kubernetes-dependencies 0.3.0.RELEASE pom יבוא org.springframework.cloud spring-cloud-dependencies Greenwich. .springframework.boot spring-boot-starter-actuator 

נשתמש גם בתוסף Fabric8 Maven כדי לבנות ולפרוס את המכולה:

 io.fabric8 fabric8-maven-plugin 3.5.37 fmp build build 

4. תצורת יישום

עַכשָׁיו עלינו לספק תצורה בכדי להבטיח שפרופילי הקפיץ הנכונים וסודות Kubernetes מוזרקים כמשתנים סביבתיים.

בואו ניצור קטע YAML ב- src / ראשי / בד כך שתוסף ה- Fabric8 Maven ישתמש בו בעת יצירת תצורת הפריסה.

עלינו להוסיף גם קטע למפעיל Spring Boot מכיוון שברירת המחדל ב- Fabric8 עדיין מנסה לגשת /בְּרִיאוּת במקום / מפעיל / בריאות:

spec: תבנית: spec: מכולות: - env: - שם: SPRING_PROFILES_ACTIVE ערך: mysql - שם: SPRING_DATASOURCE_USER valueFrom: secretKeyRef: name: baeldung-db key: database-user - name: SPRING_DATASOURCE_PASSWORD valueFrom: keyKeldRef: : בסיסמה של סיסמת בסיס נתונים Probe: httpGet: נתיב: / מפעיל / יציאת בריאות: 8080 ערכה: HTTP initialDelay שניות: 180 מוכנות Probe: httpGet: נתיב: / actuator / health יציאה: 8080 ערכה: HTTP initialDelay שניות: 30

הַבָּא, נשמור a ConfigMap ב openshift / configmap.yml, זה מכיל את הנתונים עבור application.properties עם כתובת ה- MySQL:

apiVersion: v1 סוג: מטא נתונים של ConfigMap: שם: spring-boot-bootstrap data: application.properties: | - spring.datasource.url = jdbc: mysql: // baeldung-db: 3306 / baeldung_db

לפני אינטראקציה עם Openshift באמצעות לקוח שורת הפקודה עלינו להתחבר. בפינה השמאלית העליונה של קונסולת האינטרנט מופיע סמל משתמש שממנו נוכל לבחור בתפריט הנפתח שכותרתו "העתק פקודת כניסה". ואז השתמשו במעטפת:

כניסה oc //192.168.42.122:8443 - אסימון =

בואו נוודא שאנחנו משתמשים בפרויקט הנכון:

פרוייקט oc-baeldung-demo

ואז אנו מעלים את ConfigMap:

oc create -f openshift / configmap.yml

5. פריסה

במהלך הפריסה, תוסף Fabric8 Maven מנסה לקבוע את היציאה שהוגדרה. הקיימת application.properties קובץ ביישום הדוגמה שלנו משתמש בביטוי כדי להגדיר את היציאה, שהתוסף לא מצליח לנתח. לכן עלינו להעיר לשורה:

# server.port = $ {port: 8080}

מהזרם application.properties.

כעת אנו מוכנים לפריסה:

mvn נקי fabric8: לפרוס -P openshift 

אנו יכולים לצפות בהתקדמות הפריסה עד שנראה את היישום שלנו פועל:

oc לקבל תרמילים -w

צריך לספק רישום:

שם מחדש סטטוס מחדש מחדש גיל baeldung-db-1-9m2cr 1/1 ריצה 1 1h אביב-אתחול-bootstrap-1-x6wj5 1/1 ריצה 0 46s 

לפני שנבדוק את היישום, עלינו לקבוע את המסלול:

oc לקבל מסלולים

ידפיס את המסלולים בפרויקט הנוכחי:

שירותי שם המארח / הנמל נתיב סיום יציאת WILDCARD קפיץ-אתחול-אתחול האביב-אתחול-אתחול-באלדונג-הדגמה.192.168.42.122.nip.io אתחול אתחול-אתחול 8080 אין 

עכשיו, בואו נוודא שהיישום שלנו עובד על ידי הוספת ספר:

http POST //spring-boot-bootstrap-baeldung-demo.192.168.42.122.nip.io/api/books \ author = "Iain M. Banks" 

מצפה לפלט הבא:

HTTP / 1.1 201 {"author": "Iain M. Banks", "id": 1, "title": "The Player of Games"}

6. שינוי גודל היישום

בואו להגדיל את הפריסה כך שתפעיל שני מופעים:

סולם oc - replicas = 2 dc spring-boot-bootstrap

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

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

7. מסקנה

במדריך זה אנו:

  • הותקן והגדיר את כלי הפיתוח של Openhift והסביבה המקומית
  • פרס שירות MySQL
  • יצר תצורה של ConfigMap ופריסה כדי לספק מאפייני חיבור מסד נתונים
  • נבנה ופרס מיכל ליישום Spring Boot המוגדר שלנו, ו-
  • נבדק ומוגדל היישום.

לפרטים נוספים, עיין בתיעוד המפורט של חברת Openhift.

קוד המקור השלם של הדוגמאות שלנו כאן, כמו תמיד, הסתיים ב- GitHub.


$config[zx-auto] not found$config[zx-overlay] not found