Telepítsen egy tavaszi rendszerindító alkalmazást az OpenShift alkalmazásba
1. Áttekintés
Ebben az oktatóanyagban bemutatjuk, hogyan telepíthet egy alkalmazást a Bootstrap Egyszerű alkalmazásunkból a Spring Boot oktatóanyag segítségével az Openshift alkalmazásba.
Ennek részeként:
- Telepítse és konfigurálja az Openshift fejlesztőeszközöket.
- Hozzon létre egy Openshift projektet és MySQL telepítést.
- Konfigurálja az alkalmazást a Spring Cloud Kubernetes alkalmazáshoz.
- Hozzon létre és telepítsen egy alkalmazást egy tárolóba a Fabric8 Maven beépülő modul használatával, és tesztelje és méretezze az alkalmazást.
2. Openshift konfiguráció
Első, telepítenünk kell a Minishift-et, a helyi egycsomópontú Openshift fürtöt és az Openshift klienst.
A Minishift használata előtt konfigurálnunk kell a fejlesztői felhasználó engedélyeit:
minishift addons install --defaults minishift addons enable admin-user minishift start oc adm policy - as system: admin add-cluster-role-to-user cluster-admin developer
Most az Openshift konzolt akarjuk használni egy MySQL szolgáltatás létrehozásához. A böngésző URL-jét elindíthatjuk:
minishift konzol
Ha nincs bejelentkezve automatikusan, akkor használja fejlesztő / fejlesztő.
Hozzon létre egy nevű projektet baeldung-demo majd hozzon létre egy MySQL adatbázis szolgáltatást a katalógusból. Biztosítani baeldung-db az adatbázis-szolgáltatás számára, baeldung_db a MySQL adatbázis névhez, és hagyja a többi értéket alapértelmezés szerint.
Most van egy szolgáltatásunk és titkaink az adatbázis eléréséhez. Vegye figyelembe az adatbázis-kapcsolat URL-jét: mysql: // baeldung-db: 3306 / baeldung_db
Azt is meg kell engednünk az alkalmazásoknak, hogy olvassák a konfigurációt, mint például a Kubernetes Secrets és a ConfigMaps:
oc létrehozhat szerepkötést alapértelmezett nézet --clusterrole = nézet \ --serviceaccount = baeldung-demo: alapértelmezett --névtér = baeldung-demo
3. Tavaszi felhő Kubernetes-függőségek
A Spring Cloud Kubernetes projekt segítségével engedélyezzük a felhő-natív API-kat a Kubernetes számára, amelyek megalapozzák az OpenShift programot:
openshift org.springframework.cloud tavaszi-felhő-kubernetes-függőségek 0.3.0. .springframework.boot spring-boot-starter-actuator
A konténer felépítéséhez és telepítéséhez a Fabric8 Maven beépülő modult is felhasználjuk:
io.fabric8 fabric8-maven-plugin 3.5.37 fmp erőforrás-összeállítás
4. Az alkalmazás konfigurálása
Most meg kell adnunk a konfigurációt annak biztosítására, hogy a helyes tavaszi profilokat és a Kubernetes titkokat környezeti változókként injektálják.
Hozzunk létre egy YAML töredéket a src / main / fabric8 hogy a Fabric8 Maven beépülő modul használja a telepítési konfiguráció létrehozásakor.
Hozzá kell adnunk egy részt a Spring Boot működtetőhöz, mivel a Fabric8 alapértelmezett változata továbbra is megpróbál hozzáférni /Egészség ahelyett / működtető / egészség:
specifikáció: sablon: spec: tárolók: - env: - név: SPRING_PROFILES_ACTIVE érték: mysql - név: SPRING_DATASOURCE_USER valueFrom: secretKeyRef: név: baeldung-db kulcs: adatbázis-felhasználó - név: SPRING_DATASOURCE_PASSWORD érték: innen: secretKeyRef : adatbázis-jelszó élőképességProbléma: httpGet: elérési út: / működtető / egészségügyi port: 8080 séma: HTTP kezdeti késleltetés másodpercek: 180 készenlét Probe: httpGet: elérési út: / működtető / egészségügyi port: 8080 séma: HTTP kezdeti késleltetés másodpercek: 30
Következő, megmentünk egy ConfigMap ban ben openshift / configmap.yml, ez tartalmazza a alkalmazás.tulajdonságok a MySQL URL-lel:
apiVersion: v1 fajta: ConfigMap metaadatok: név: spring-boot-bootstrap adatok: application.properties: | - spring.datasource.url = jdbc: mysql: // baeldung-db: 3306 / baeldung_db
Mielőtt kapcsolatba lépnénk az Openshift-rel a parancssori kliens használatával, be kell jelentkeznünk. A webkonzol jobb felső sarkában egy felhasználói ikon található, amelyből kiválaszthatjuk a „Bejelentkezés parancs másolása” feliratú legördülő menüt. Ezután használja héjban:
oc bejelentkezés //192.168.42.122:8443 --token =
Ellenőrizzük, hogy a megfelelő projektet használjuk-e:
oc projekt baeldung-demo
És akkor feltöltjük a ConfigMap:
oc create -f openshift / configmap.yml
5. Telepítés
A telepítés során a Fabric8 Maven plugin megpróbálja meghatározni a konfigurált portot. A létező alkalmazás.tulajdonságok fájl a minta alkalmazásunkban egy kifejezéssel definiálja a portot, amelyet a plugin nem képes elemezni. Ezért meg kell kommentálnunk a sort:
# server.port = $ {port: 8080}
az áramtól alkalmazás.tulajdonságok.
Most készen állunk a telepítésre:
mvn clean fabric8: telepítse -P openshift
Addig figyelhetjük a telepítés előrehaladását, amíg nem látjuk, hogy fut az alkalmazásunk:
oc kap hüvelyeket -w
Adjon meg egy listát:
Név KÉSZ ÁLLAPOT ÚJRAINDÍTÁS KOR baeldung-db-1-9m2cr 1/1 1 futás 1 1h rugós-boot-bootstrap-1-x6wj5 1/1 futás 0 46s
Az alkalmazás tesztelése előtt meg kell határoznunk az útvonalat:
oc útvonalakat kapni
Kinyomtatja az útvonalakat az aktuális projektben:
Név HOST / PORT PATH SZOLGÁLTATÁSOK Kikötő megszüntetése WILDCARD spring-boot-bootstrap spring-boot-bootstrap-baeldung-demo.192.168.42.122.nip.
Ellenőrizzük, hogy alkalmazásunk működik-e egy könyv hozzáadásával:
http POST //spring-boot-bootstrap-baeldung-demo.192.168.42.122.nip.io/api/books \ author = "Iain M. Banks"
A következő kimenetre számít:
HTTP / 1.1 201 {"author": "Iain M. Banks", "id": 1, "title": "A játékok játékosa"}
6. Az alkalmazás méretezése
Méretezzük a telepítést 2 példány futtatására:
oc skála --replicas = 2 dc rugós-boot-bootstrap
És ugyanazokat a lépéseket használhatjuk, mint korábban, hogy figyeljük a telepítést, az útvonalak megszerzését és a végpont tesztelését.
A Openshift a lehetőségek széles skáláját kínálja a teljesítmény kezeléséhez és a méretezéshez, amely meghaladja a cikk kereteit.
7. Következtetés
Ebben az oktatóanyagban:
- Telepítette és konfigurálta az Openshift fejlesztői eszközöket és a helyi környezetet
- Telepített egy MySQL szolgáltatást
- Hozzon létre egy ConfigMap és Deployment konfigurációt az adatbázis-kapcsolat tulajdonságainak biztosításához
- Tárolót épített és telepített a konfigurált Spring Boot alkalmazáshoz, és
- Tesztelte és méretezte az alkalmazást.
További részletekért nézze meg a Openshift részletes dokumentációját.
Példáink teljes forráskódja itt is, mint mindig, a GitHubon van.