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.