25 sal berê, Java ket nav bernamesaziya sereke û di dawiyê de bû yek ji hêmanên bingehîn ên ku li dora wan stakên serîlêdanê têne çêkirin. Lêbelê, îro, gelek kes û rêxistinên ku bi salan ji Java-yê re dilsoz in, bi koçkirinê re mijûl in an jî difikirin ku koçî platformê bikin.
Mixabin, Kubernetes xwedan kelek fêrbûnek hişk e û di pêvajoya pêşkeftinê ya ku bernamenûsên Java-yê jê re fêr bûne qateyek din a xebitandinê destnîşan dike. Îro em ê ji we re vebêjin ka meriv çawa bikar tîne
Pêvajoya Pêşveçûna Java ya kevneşopî
Pêvajoya pêşveçûna kevneşopî
Birinc. 1. Pêvajoya pêşveçûna Java ya kevneşopî.
Pêvajoya Pêşveçûna Java ji bo Cloud
Dema ku diçin ser sepanên ewr, Kubernetes û
Metamorfoza pêvajoya pêşkeftina Java ya kevneşopî di veguheztina ewr de di Fig. 2.
Birinc. 2. Pêvajoya pêşveçûna Java ji bo ewr.
Eclipse JKube
Koçberiya Kubernetes qateyek din a xebitandinê li pêvajoya pêşkeftinê zêde dike, û gelek pêşdebiran ji wê aciz in ji ber ku ew dixwazin bala xwe bidin ser xebata xwe ya bingehîn - mantiqa serîlêdanê - û ji dêvla ku çawa wan bicîh bikin. Û ev e ku ew dikeve lîstikê.
Di mayî ya vê gotarê de, em ê nîşanî we bidin ka meriv çawa bi karanîna Eclipse JKube bi Kubernetes Maven Plugin re pêvajoya pêşkeftina Java-yê di hawîrdora Kubernetes de hêsan dike.
Pêvajoya Pêşveçûna Cloud Bikaranîna Eclipse JKube
Werin em nexşeyek pêşkeftina Java-yê hinekî guhezbar ji bo ewr ji Fig. 2-ê bihesibînin, Eclipse JKube û Kubernetes Maven Plugin têxin nav wê, wekî ku di Fig. 3.
Birinc. 3. Pêvajoya pêşveçûna Java ya ji bo ewr bi karanîna Eclipse JKube.
Wekî ku em dibînin, li vir hemî operasyonên ji bo danûstendina bi Kubernetes û konteyneran re (di diagramê de bi rengê sor têne ronî kirin) li şûna peywirên armanca Eclipse JKube-ya xwerû, ku di Tabloyê de têne navnîş kirin, têne guheztin. 1.
Mêz 1. Karên xwerû yên JKube Eclipse.
Armanc
Şanocî
description
PRE_INTEGRATION_TEST
Avakirina wêneyên docker
LÊKIRIN
Barkirina wêneyên dokerê li qeydê
PROCESS_RESOURCES
Hilberîna K8 diyar dibe
BERHEVANÎN
Serlêdana diyardeyên çêkirî li K8s
UNDPLOY
Rakirina çavkaniyên K8s ên ku bi karanîna k8s:apply û k8s:deploy hatine bicîh kirin
Têbînî: Heke hûn nexwazin peywiran van pêşnumayên nerîn bikar bînin, hûn dikarin bi destan Eclipse JKube ji bo xwe mîheng bikin, ji ber ku ew veavakirinê bi riya piştgirî dike.
Naha em li mînakên karanîna Eclipse JKube û Kubernetes Maven Plugin dema ku bi serîlêdanan re dixebitin binêrin.
Bi karanîna Eclipse JKube, Serlêdanek Java-yê li Kubernetes-ê bicîh dikin
Di vê nimûneyê de em ê serîlêdanek Java-ya hêsan li ser komekê bicîh bikin
Wek serîlêdana nimûne em bikar tînin
~/work/repos/eclipse-jkube-demo-project : $ curl localhost:8080/random | jq .
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 45 0 45 0 0 818 0 --:--:-- --:--:-- --:--:-- 818
{
"id": "e80a4d10-c79b-4b9a-aaac-7c286cb37f3c"
}
Gav 1. Pêveka Kubernetes Maven dakêşin
Kubernetes Maven Plugin di depoyê de ye
<plugin>
<groupId>org.eclipse.jkube</groupId>
<artifactId>kubernetes-maven-plugin</artifactId>
<version>${jkube.version}</version>
</plugin>
Ger OpenShift li şûna Kubernetes-a safî were bikar anîn, wê hingê pom.xml wekî jêrîn tê guheztin:
<plugin>
<groupId>org.eclipse.jkube</groupId>
<artifactId>openshift-maven-plugin</artifactId>
<version>${jkube.version}</version>
</plugin>
Gav 2. Wêneyê dokerê ava bikin
Pelê JAR-ê ya serîlêdanê dikare bi fermana pakêta mvn ve were çêkirin, û dûv re peywira armanca mvn k8s:build dikare were bikar anîn da ku wêneyek dokerê ya serîlêdanê ava bike. Bala xwe bidinê ku me navê wêneya xwerû bi vê taybetmendiyê re derbas kiriye:
<jkube.generator.name>docker.io/rohankanojia/random-generator:${project.version}</jkube.generator.name>
Berî avakirina wêneyê, hûn hewce ne ku pê ewle bin ku daemonê docker rast eşkere ye. Ev dikare bi fermana jêrîn were kirin:
$ eval $(minikube docker-env)
Dûv re em têkevin fermana mvn k8s:build, û ev tiştê ku em ê li ser ekranê bibînin dema ku wêneya dokerê bi karanîna peywira avakirina Eclipse JKube ava dikin:
~/work/repos/eclipse-jkube-demo-project : $ mvn k8s:build
[INFO] Scanning for projects...
[INFO]
[INFO] ----------------------< meetup:random-generator >-----------------------
[INFO] Building random-generator 0.0.1
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- kubernetes-maven-plugin:1.0.0-rc-1:build (default-cli) @ random-generator ---
[INFO] k8s: Running in Kubernetes mode
[INFO] k8s: Building Docker image in Kubernetes mode
[INFO] k8s: Running generator spring-boot
[INFO] k8s: spring-boot: Using Docker image quay.io/jkube/jkube-java-binary-s2i:0.0.7 as base / builder
[INFO] k8s: [docker.io/rohankanojia/random-generator:0.0.1] "spring-boot": Created docker-build.tar in 251 milliseconds
[INFO] k8s: [docker.io/rohankanojia/random-generator:0.0.1] "spring-boot": Built image sha256:a20e5
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.053 s
[INFO] Finished at: 2020-08-10T11:28:23+05:30
[INFO] ------------------------------------------------------------------------
~/work/repos/eclipse-jkube-demo-project : $
Gav 3. Wêneyê li qeyda dokerê barkirin
Piştî ku me wêneya dokerê bi qeydkirina pêvek vesazkirî çêkir (di doza me de ew docker.io ye), em dikarin vê wêneyê ji qeydê re bişînin. Ya ku dê were xuyang kirin piştî ku em ji Eclipse JKube bipirsin ku peywira mvn k8s: push push pêk bîne:
~/work/repos/eclipse-jkube-demo-project : $ mvn k8s:push
[INFO] Scanning for projects...
[INFO]
[INFO] ----------------------< meetup:random-generator >-----------------------
[INFO] Building random-generator 0.0.1
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- kubernetes-maven-plugin:1.0.0-rc-1:push (default-cli) @ random-generator ---
[INFO] k8s: Running in Kubernetes mode
[INFO] k8s: Building Docker image in Kubernetes mode
[INFO] k8s: Running generator spring-boot
[INFO] k8s: spring-boot: Using Docker image quay.io/jkube/jkube-java-binary-s2i:0.0.7 as base / builder
[INFO] k8s: The push refers to repository [docker.io/rohankanojia/random-generator]
5dcd9556710f: Layer already exists
b7139ad07aa8: Layer already exists
b6f081e4b2b6: Layer already exists
d8e1f35641ac: Layer already exists
[INFO] k8s: 0.0.1: digest: sha256:9f9eda2a13b8cab1d2c9e474248500145fc09e2922fe3735692f9bda4c76002d size: 1162
[INFO] k8s: Pushed docker.io/rohankanojia/random-generator:0.0.1 in 7 seconds
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 11.222 s
[INFO] Finished at: 2020-08-10T11:35:37+05:30
[INFO] ------------------------------------------------------------------------
~/work/repos/eclipse-jkube-demo-project : $
Piştî şandina wêneyê, hûn hewce ne ku kontrol bikin ku ew di qeydê de ye. Di doza me de, em bi tenê wê di Docker Hub de dibînin, wekî ku di Fig. 4.
Birinc. 4. Wêneyê ku ji qeydê re hatî şandin di Docker Hub de xuya bû.
Gav 4. Ji bo serîlêdanê diyardeyên çavkaniya Kubernetes biafirînin
Ji ber vê yekê, me wêneya serîlêdanê berhev kiriye, naha divê em manîfestoyên Kubernetes binivîsin. Ji bo kirina vê yekê, Eclipse JKube peywirek heye ku li ser bingeha çarçoweya Java ya bingehîn diyardeyên çavkaniyek hişk çêdike (
Di mînaka xwe de, em her tiştî wekî xwe dihêlin, û ji ber vê yekê Eclipse JKube ji bo bicîhkirina xwerû û ji bo karûbarê bi celeb ClusterIP manîfestoyek diafirîne. Û tenê wê hingê em manîfestoya karûbarê diguhezînin da ku celebê karûbarê li NodePort biguhezînin. Hûn dikarin tevgera xwerû bi karanîna taybetmendiya jêrîn bişopînin:
<jkube.enricher.jkube-service.type>NodePort</jkube.enricher.jkube-service.type>
Piştî ku em ji Eclipse JKube daxwaz dikin ku peywira çavkaniyê mvn k8s:çavkaniyê pêk bîne, derketina ekranê bi vî rengî xuya dike.
~/work/repos/eclipse-jkube-demo-project : $ mvn k8s:resource
[INFO] Scanning for projects...
[INFO]
[INFO] ----------------------< meetup:random-generator >-----------------------
[INFO] Building random-generator 0.0.1
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- kubernetes-maven-plugin:1.0.0-rc-1:resource (default-cli) @ random-generator ---
[INFO] k8s: Running generator spring-boot
[INFO] k8s: spring-boot: Using Docker image quay.io/jkube/jkube-java-binary-s2i:0.0.7 as base / builder
[INFO] k8s: jkube-controller: Adding a default Deployment
[INFO] k8s: jkube-service: Adding a default service 'random-generator' with ports [8080]
[INFO] k8s: jkube-healthcheck-spring-boot: Adding readiness probe on port 8080, path='/actuator/health', scheme='HTTP', with initial delay 10 seconds
[INFO] k8s: jkube-healthcheck-spring-boot: Adding liveness probe on port 8080, path='/actuator/health', scheme='HTTP', with initial delay 180 seconds
[INFO] k8s: jkube-revision-history: Adding revision history limit to 2
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.344 s
[INFO] Finished at: 2020-08-10T11:38:11+05:30
[INFO] ------------------------------------------------------------------------
~/work/repos/eclipse-jkube-demo-project : $ ls target/classes/META-INF/jkube/kubernetes
random-generator-deployment.yml random-generator-service.yml
~/work/repos/eclipse-jkube-demo-project : $ cat target/classes/META-INF/jkube/kubernetes/random-generator-deployment.yml | head -n10
---
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
jkube.io/git-url: [email protected]:rohanKanojia/eclipse-jkube-demo-project.git
jkube.io/git-commit: 1ef9ef2ef7a6fcbf8eb64c293f26f9c42d026512
jkube.io/git-branch: master
jkube.io/scm-url: https://github.com/spring-projects/spring-boot/spring-boot-starter-parent/random-generator
jkube.io/scm-tag: HEAD
~/work/repos/eclipse-jkube-demo-project : $
Gav 5. Serîlêdanê li koma Kubernetes bicîh bikin
Naha em hemî amade ne ku serîlêdanê bicîh bikin: me wêneyê wê çêkir û dûv re jî xweber nîşana çavkaniyê çêkir. Naha ya ku dimîne ev e ku meriv van hemîyan li koma Kubernetes bicîh bîne. Ji bo bicîhkirina serîlêdanê, bê guman hûn dikarin fermana kubectl application -f bikar bînin, lê pêvek dikare vê yekê ji me re bike. Tiştê ku dê li ser ekranê xuya bibe piştî ku em ji Eclipse JKube daxwaz dikin ku mvn k8s pêk bîne: peywira serîlêdanê bike:
~/work/repos/eclipse-jkube-demo-project : $ mvn k8s:apply
[INFO] Scanning for projects...
[INFO]
[INFO] ----------------------< meetup:random-generator >-----------------------
[INFO] Building random-generator 0.0.1
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- kubernetes-maven-plugin:1.0.0-rc-1:apply (default-cli) @ random-generator ---
[INFO] k8s: Using Kubernetes at https://192.168.39.145:8443/ in namespace default with manifest /home/rohaan/work/repos/eclipse-jkube-demo-project/target/classes/META-INF/jkube/kubernetes.yml
[INFO] k8s: Using namespace: default
[INFO] k8s: Creating a Service from kubernetes.yml namespace default name random-generator
[INFO] k8s: Created Service: target/jkube/applyJson/default/service-random-generator.json
[INFO] k8s: Creating a Deployment from kubernetes.yml namespace default name random-generator
[INFO] k8s: Created Deployment: target/jkube/applyJson/default/deployment-random-generator.json
[INFO] k8s: HINT: Use the command `kubectl get pods -w` to watch your pods start up
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7.306 s
[INFO] Finished at: 2020-08-10T11:40:57+05:30
[INFO] ------------------------------------------------------------------------
~/work/repos/eclipse-jkube-demo-project : $ kubectl get pods -w
NAME READY STATUS RESTARTS AGE
random-generator-58b7847d7f-9m9df 0/1 Running 0 7s
random-generator-58b7847d7f-9m9df 1/1 Running 0 17s
^C~/work/repos/eclipse-jkube-demo-project : $ kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
io-openliberty-sample-getting-started NodePort 10.110.4.104 <none> 9080:30570/TCP 44h
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 18d
random-generator NodePort 10.97.172.147 <none> 8080:32186/TCP 22s
~/work/repos/eclipse-jkube-demo-project : $ curl `minikube ip`:32186/random | jq .
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 45 0 45 0 0 1800 0 --:--:-- --:--:-- --:--:-- 1875
{
"id": "42e5571f-a20f-44b3-8184-370356581d10"
}
Gav 6. Serlêdanên ji koma Kubernetes venekin
Ji bo kirina vê yekê, peywira betalkirinê tê bikar anîn, ku bi tenê hemî çavkaniyên ku di gava berê de hatine sepandin, ji holê radike, ango dema ku peywira serîlêdanê tê meşandin. Ya ku em ê li ser ekranê bibînin ev e ku piştî ku em ji Eclipse JKube bipirsin ku peywira mvn k8s: undeploy undeploy pêk bîne:
~/work/repos/eclipse-jkube-demo-project : $ kubectl get all
NAME READY STATUS RESTARTS AGE
pod/random-generator-58b7847d7f-9m9df 1/1 Running 0 5m21s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 18d
service/random-generator NodePort 10.97.172.147 <none> 8080:32186/TCP 5m21s
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/random-generator 1/1 1 1 5m21s
NAME DESIRED CURRENT READY AGE
replicaset.apps/random-generator-58b7847d7f 1 1 1 5m21s
~/work/repos/eclipse-jkube-demo-project : $ mvn k8s:undeploy
[INFO] Scanning for projects...
[INFO]
[INFO] ----------------------< meetup:random-generator >-----------------------
[INFO] Building random-generator 0.0.1
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- kubernetes-maven-plugin:1.0.0-rc-1:undeploy (default-cli) @ random-generator ---
[INFO] k8s: Using Kubernetes at https://192.168.39.145:8443/ in namespace default with manifest /home/rohaan/work/repos/eclipse-jkube-demo-project/target/classes/META-INF/jkube/kubernetes.yml
[INFO] k8s: Using namespace: default
[INFO] k8s: Deleting resource Deployment default/random-generator
[INFO] k8s: Deleting resource Service default/random-generator
[INFO] k8s: HINT: Use the command `kubectl get pods -w` to watch your pods start up
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.412 s
[INFO] Finished at: 2020-08-10T11:46:22+05:30
[INFO] ------------------------------------------------------------------------
~/work/repos/eclipse-jkube-demo-project : $ kubectl get pods -w
^C~/work/repos/eclipse-jkube-demo-project : $ kubectl get all
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 18d
~/work/repos/eclipse-jkube-demo-project : $
Ma hûn dikarin bi Eclipse JKube re çi bikin
Ji ber vê yekê, me li peywirên armanca sereke yên Eclipse JKube û Kubernetes Maven Plugin, ku pêşveçûna serîlêdanên Java-yê ji bo platforma Kubernetes hêsantir dike, mêze kir. Heke hûn nexwazin bi berdewamî van karan ji klavyeyê têkevin, hûn dikarin wan di veavakirina pêvekê de binivîsin, mînakî, bi vî rengî:
<plugin>
<groupId>org.eclipse.jkube</groupId>
<artifactId>kubernetes-maven-plugin</artifactId>
<version>${project.version}</version>
<executions>
<execution>
<goals>
<goal>build</goal>
<goal>resource</goal>
<goal>apply</goal>
</goals>
</execution>
</executions>
</plugin>
Pêdivî ye ku were gotin ku di vê gotarê de me hemî peywirên armancê yên ku di Eclipse JKube û Kubernetes Maven Plugin de ne nirxand, ji ber vê yekê em di Tabloya 2 de navnîşek karên din ên ku dibe ku ji we re jî bikêr bibin peyda dikin.
Mêz 2. Karên armanca Eclipse JKube yên din.
Armanc
Şanocî
description
VALIDATE
Ji serîlêdana ku li Kubernetes tê xebitandin têketin wergirtin.
PAKÊTA
Dergehek debugê vekin da ku hûn serlêdana xwe ya ku li Kubernetes-ê rasterast ji IDE-yê tê xebitandin debug bikin.
LÊKIRIN
Afirandina forkek ji bo peywira Sazkirinê û sepandina manîfestoyên çêkirî li koma Kubernetes bi heman awayê ku di doza serîlêdanê de ye.
PAKÊTA
Bi şopandina cîhê navên wê ve, sazkirina germ a otomatîkî ya serîlêdanê.
Bikaranîna Pêveka OpenShift Maven li ser Red Hat OpenShift-ê bicîhkirina Serlêdanên Java-yê
Ji bo ku serîlêdanê ji mînaka me li ser platforma Red Hat OpenShift bicîh bikin, em pêvekê bikar tînin
~/work/repos/eclipse-jkube-demo-project : $ mvn oc:build oc:resource oc:apply
[INFO] Scanning for projects...
[INFO]
[INFO] ----------------------< meetup:random-generator >-----------------------
[INFO] Building random-generator 0.0.1
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- openshift-maven-plugin:1.0.0-rc-1:build (default-cli) @ random-generator ---
[INFO] oc: Using OpenShift build with strategy S2I
[INFO] oc: Running in OpenShift mode
[INFO] oc: Running generator spring-boot
[INFO] oc: spring-boot: Using Docker image quay.io/jkube/jkube-java-binary-s2i:0.0.7 as base / builder
[INFO] oc: [random-generator:0.0.1] "spring-boot": Created docker source tar /home/rohaan/work/repos/eclipse-jkube-demo-project/target/docker/random-generator/0.0.1/tmp/docker-build.tar
[INFO] oc: Adding to Secret pullsecret-jkube
[INFO] oc: Using Secret pullsecret-jkube
[INFO] oc: Creating BuildServiceConfig random-generator-s2i for Source build
[INFO] oc: Creating ImageStream random-generator
[INFO] oc: Starting Build random-generator-s2i
[INFO] oc: Waiting for build random-generator-s2i-1 to complete...
[INFO] oc: Caching blobs under "/var/cache/blobs".
[INFO] oc: Getting image source signatures
[INFO] oc: Copying blob sha256:cf0f3ebe9f536c782ab3835049cfbd9a663761ded9370791ef6ea3965c823aad
[INFO] oc: Copying blob sha256:57de4da701b511cba33bbdc424757f7f3b408bea741ca714ace265da9b59191a
[INFO] oc: Copying blob sha256:f320f94d91a064281f5127d5f49954b481062c7d56cce3b09910e471cf849050
[INFO] oc: Copying config sha256:52d6788fcfdd39595264d34a3959464a5dabc1d4ef0ae188802b20fc2d6a857b
[INFO] oc: Writing manifest to image destination
[INFO] oc: Storing signatures
[INFO] oc: Generating dockerfile with builder image quay.io/jkube/jkube-java-binary-s2i:0.0.7
[INFO] oc: STEP 1: FROM quay.io/jkube/jkube-java-binary-s2i:0.0.7
[INFO] oc: STEP 2: LABEL "io.openshift.build.source-location"="/tmp/build/inputs" "io.openshift.build.image"="quay.io/jkube/jkube-java-binary-s2i:0.0.7"
[INFO] oc: STEP 3: ENV JAVA_APP_DIR="/deployments" OPENSHIFT_BUILD_NAME="random-generator-s2i-1" OPENSHIFT_BUILD_NAMESPACE="default"
[INFO] oc: STEP 4: USER root
[INFO] oc: STEP 5: COPY upload/src /tmp/src
[INFO] oc: STEP 6: RUN chown -R 1000:0 /tmp/src
[INFO] oc: STEP 7: USER 1000
[INFO] oc: STEP 8: RUN /usr/local/s2i/assemble
[INFO] oc: INFO S2I source build with plain binaries detected
[INFO] oc: INFO S2I binary build from fabric8-maven-plugin detected
[INFO] oc: INFO Copying binaries from /tmp/src/deployments to /deployments ...
[INFO] oc: random-generator-0.0.1.jar
[INFO] oc: INFO Copying deployments from deployments to /deployments...
[INFO] oc: '/tmp/src/deployments/random-generator-0.0.1.jar' -> '/deployments/random-generator-0.0.1.jar'
[INFO] oc: STEP 9: CMD /usr/local/s2i/run
[INFO] oc: STEP 10: COMMIT temp.builder.openshift.io/default/random-generator-s2i-1:48795e41
[INFO] oc: time="2020-08-10T06:37:49Z" level=info msg="Image operating system mismatch: image uses "", expecting "linux""
[INFO] oc: time="2020-08-10T06:37:49Z" level=info msg="Image architecture mismatch: image uses "", expecting "amd64""
[INFO] oc: Getting image source signatures
[INFO] oc: Copying blob sha256:d8e1f35641acb80b562f70cf49911341dfbe8c86f4d522b18efbf3732aa74223
[INFO] oc: Copying blob sha256:b6f081e4b2b6de8be4b1dec132043d14c121e968384dd624fb69c2c07b482edb
[INFO] oc: Copying blob sha256:b7139ad07aa8ce4ed5a132f7c5cc9f1de0f5099b5e155027a23d57f7fbe78b16
[INFO] oc: Copying blob sha256:98972fc90a1108315cc5b05b2c691a0849a149727a7b81e76bc847ac2c6d9714
[INFO] oc: Copying config sha256:27aaadaf28e24856a66db962b88118b8222b61d79163dceeeed869f7289bc230
[INFO] oc: Writing manifest to image destination
[INFO] oc: Storing signatures
[INFO] oc: --> 27aaadaf28e
[INFO] oc: 27aaadaf28e24856a66db962b88118b8222b61d79163dceeeed869f7289bc230
[INFO] oc: Getting image source signatures
[INFO] oc:
[INFO] oc: Pushing image image-registry.openshift-image-registry.svc:5000/default/random-generator:0.0.1 ...
[INFO] oc: Copying blob sha256:f320f94d91a064281f5127d5f49954b481062c7d56cce3b09910e471cf849050
[INFO] oc: Copying blob sha256:cf0f3ebe9f536c782ab3835049cfbd9a663761ded9370791ef6ea3965c823aad
[INFO] oc: Copying blob sha256:57de4da701b511cba33bbdc424757f7f3b408bea741ca714ace265da9b59191a
[INFO] oc: Copying blob sha256:98972fc90a1108315cc5b05b2c691a0849a149727a7b81e76bc847ac2c6d9714
[INFO] oc: Copying config sha256:27aaadaf28e24856a66db962b88118b8222b61d79163dceeeed869f7289bc230
[INFO] oc: Writing manifest to image destination
[INFO] oc: Storing signatures
[INFO] oc: Successfully pushed image-registry.openshift-image-registry.svc:5000/default/random-generator@sha256:aa9e1a380c04ef9174ba56459c13d44420ebe653ebf32884d60fe4306b17306d
[INFO] oc: Push successful
[INFO] oc: Build random-generator-s2i-1 in status Complete
[INFO] oc: Found tag on ImageStream random-generator tag: sha256:aa9e1a380c04ef9174ba56459c13d44420ebe653ebf32884d60fe4306b17306d
[INFO] oc: ImageStream random-generator written to /home/rohaan/work/repos/eclipse-jkube-demo-project/target/random-generator-is.yml
[INFO]
[INFO] --- openshift-maven-plugin:1.0.0-rc-1:resource (default-cli) @ random-generator ---
[INFO] oc: Using docker image name of namespace: default
[INFO] oc: Running generator spring-boot
[INFO] oc: spring-boot: Using Docker image quay.io/jkube/jkube-java-binary-s2i:0.0.7 as base / builder
[INFO] oc: jkube-controller: Adding a default DeploymentConfig
[INFO] oc: jkube-service: Adding a default service 'random-generator' with ports [8080]
[INFO] oc: jkube-healthcheck-spring-boot: Adding readiness probe on port 8080, path='/actuator/health', scheme='HTTP', with initial delay 10 seconds
[INFO] oc: jkube-healthcheck-spring-boot: Adding liveness probe on port 8080, path='/actuator/health', scheme='HTTP', with initial delay 180 seconds
[INFO] oc: jkube-revision-history: Adding revision history limit to 2
[INFO]
[INFO] --- openshift-maven-plugin:1.0.0-rc-1:apply (default-cli) @ random-generator ---
[INFO] oc: Using OpenShift at https://api.crc.testing:6443/ in namespace default with manifest /home/rohaan/work/repos/eclipse-jkube-demo-project/target/classes/META-INF/jkube/openshift.yml
[INFO] oc: OpenShift platform detected
[INFO] oc: Using project: default
[INFO] oc: Creating a Service from openshift.yml namespace default name random-generator
[INFO] oc: Created Service: target/jkube/applyJson/default/service-random-generator.json
[INFO] oc: Creating a DeploymentConfig from openshift.yml namespace default name random-generator
[INFO] oc: Created DeploymentConfig: target/jkube/applyJson/default/deploymentconfig-random-generator.json
[INFO] oc: Creating Route default:random-generator host: null
[INFO] oc: HINT: Use the command `oc get pods -w` to watch your pods start up
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:07 min
[INFO] Finished at: 2020-08-10T12:08:00+05:30
[INFO] ------------------------------------------------------------------------
~/work/repos/eclipse-jkube-demo-project : $ oc get pods -w
NAME READY STATUS RESTARTS AGE
random-generator-1-deploy 1/1 Running 0 14s
random-generator-1-vnrm9 0/1 Running 0 11s
random-generator-s2i-1-build 0/1 Completed 0 1m
random-generator-1-vnrm9 1/1 Running 0 24s
random-generator-1-deploy 0/1 Completed 0 28s
~/work/repos/eclipse-jkube-demo-project : $ oc get routes
NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD
random-generator random-generator-default.apps-crc.testing random-generator 8080 None
~/work/repos/eclipse-jkube-demo-project : $ curl random-generator-default.apps-crc.testing/random
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 45 0 45 0 0 1666 0 --:--:-- --:--:-- --:--:-- 1730
{
"id": "d80052d9-2f92-43cb-b9eb-d7cffb879798"
}
~/work/repos/eclipse-jkube-demo-project : $
Dersa vîdyoyê
Ji bo bêtir fêr bibin ka meriv çawa bi Eclipse JKube re pêşkeftina Kubernetes hêsantir dike, li vê vîdyoya vîdyoyê temaşe bikin ka meriv çawa zû serîlêdana Spring Boot-a sade li Minikube bicîh dike:
encamê
Di vê gotarê de, me destnîşan kir ku Eclipse JKube dema ku bi Kubernetes re dixebite jiyan ji bo pêşdebirek Java hêsantir dike. Zêdetir agahdarî li ser Eclipse JKube dikare li ser were dîtin
Source: www.habr.com