Zaka 25 zapitazo, Java idalowa m'mapulogalamu ambiri ndipo pamapeto pake idakhala imodzi mwamagawo omwe amamangidwira ma pulogalamu. Masiku ano, anthu ambiri ndi mabungwe omwe akhala okhulupirika kwa Java kwa zaka zambiri ali otanganidwa kusamuka kapena akuganiza zosamukira ku pulatifomu.
Tsoka ilo, Kubernetes ali ndi njira yophunzirira ndipo amayambitsa gawo lina logwira ntchito munjira yachitukuko yomwe opanga mapulogalamu a Java amazolowera. Lero tidzakuuzani momwe mungagwiritsire ntchito
Traditional Java Development Process
Ndondomeko yachitukuko cha chikhalidwe
Mpunga. 1. Traditional Java chitukuko ndondomeko.
Java Development Process for the Cloud
Mukasamukira ku mapulogalamu amtambo, Kubernetes ndi
Metamorphosis ya njira yachitukuko ya Java pakusintha kupita kumtambo ikuwonetsedwa mkuyu. 2.
Mpunga. 2. Njira yopangira Java pamtambo.
Eclipse JKube
Kusamukira ku Kubernetes kumawonjezera gawo lina logwira ntchito pazachitukuko, ndipo opanga ambiri amachita mantha nazo chifukwa akufuna kuyang'ana kwambiri ntchito yawo yayikulu - malingaliro ogwiritsira ntchito - osati momwe angawatumizire. Ndipo apa ndi pomwe zimayamba kusewera.
M'nkhani yonseyi, tikuwonetsani momwe mungasinthire njira yachitukuko cha Java m'malo a Kubernetes pogwiritsa ntchito Eclipse JKube ndi Kubernetes Maven Plugin.
Cloud Development Process Pogwiritsa Ntchito Eclipse JKube
Tiyeni tilingalire dongosolo lachitukuko la Java losinthidwa pang'ono pamtambo kuchokera pa Chithunzi 2, ndikuyambitsa Eclipse JKube ndi Kubernetes Maven Plugin mmenemo, monga momwe tawonetsera mkuyu. 3.
Mpunga. 3. Njira yopangira Java pamtambo pogwiritsa ntchito Eclipse JKube.
Monga tikuonera, apa ntchito zonse zolumikizirana ndi Kubernetes ndi zotengera (zowonetsedwa zofiira pazithunzi) zimasinthidwa ndi ntchito za Eclipse JKube, zomwe zalembedwa mu Table. 1.
Table 1. Ntchito za Eclipse JKube.
Cholinga
Gawo
mafotokozedwe
PRE_INTEGRATION_TEST
Kupanga zithunzi za docker
kukhazikitsa
Kukweza zithunzi za docker ku registry
PROCESS_RESOURCES
Kupanga mawonekedwe a K8s
COMPILE
Kugwiritsa ntchito mawonekedwe opangidwa ku K8s
KUSAGWIRITSA NTCHITO
Kuchotsa zinthu za K8s zomwe zidatumizidwa pogwiritsa ntchito k8s:apply ndi k8s:deploy
Taonani: Ngati simukufuna kuti ntchito zigwiritse ntchito zosasinthika izi, mutha kudzipangira nokha Eclipse JKube, chifukwa imathandizira kusinthika kudzera
Tsopano tiyeni tiwone zitsanzo zogwiritsa ntchito Eclipse JKube ndi Kubernetes Maven Plugin pogwira ntchito ndi mapulogalamu.
Kutumiza Java Application pa Kubernetes Pogwiritsa Ntchito Eclipse JKube
Muchitsanzo ichi tigwiritsa ntchito Java yosavuta pamagulu
Monga chitsanzo cha ntchito yomwe timagwiritsa ntchito
~/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"
}
Gawo 1. Tsitsani pulogalamu yowonjezera ya Kubernetes Maven
Kubernetes Maven Plugin ili m'malo osungira
<plugin>
<groupId>org.eclipse.jkube</groupId>
<artifactId>kubernetes-maven-plugin</artifactId>
<version>${jkube.version}</version>
</plugin>
Ngati OpenShift ikugwiritsidwa ntchito m'malo mwa Kubernetes koyera, ndiye pom.xml imasinthidwa motere:
<plugin>
<groupId>org.eclipse.jkube</groupId>
<artifactId>openshift-maven-plugin</artifactId>
<version>${jkube.version}</version>
</plugin>
Gawo 2. Pangani chithunzi cha docker
Fayilo ya JAR ya pulogalamuyo imatha kupangidwa ndi mvn package command, kenako mvn goal task k8s:build itha kugwiritsidwa ntchito kupanga chithunzi cha docker. Dziwani kuti tachotsa dzina lachithunzi losasinthika ndi chinthuchi:
<jkube.generator.name>docker.io/rohankanojia/random-generator:${project.version}</jkube.generator.name>
Musanapange chithunzicho, muyenera kuwonetsetsa kuti docker daemon ikuwonekera bwino. Izi zitha kuchitika ndi lamulo ili:
$ eval $(minikube docker-env)
Kenako timalowetsa mvn k8s: build command, ndipo izi ndi zomwe tiwona pazenera pomanga chithunzi cha docker pogwiritsa ntchito ntchito yomanga ya Eclipse JKube:
~/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 : $
Khwerero 3. Kwezani chithunzicho ku registry ya docker
Titapanga chithunzi cha docker ndi kaundula wokhazikika (kwa ife ndi docker.io), titha kutumiza chithunzichi ku registry. Izi ndi zomwe zidzawonetsedwe tikapempha Eclipse JKube kuti achite mvn k8s: push push task:
~/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 : $
Pambuyo potumiza chithunzicho, muyenera kuyang'ana kuti chikuphatikizidwa mu registry. Kwa ife, timangowona mu Docker Hub, monga momwe tawonetsera mkuyu. 4.
Mpunga. 4. Chithunzi chotumizidwa ku registry chidawonekera mu Docker Hub.
Khwerero 4. Pangani zowonetsera za Kubernetes pakugwiritsa ntchito
Chifukwa chake, tasonkhanitsa chithunzi cha pulogalamuyo, tsopano tifunika kulemba Kubernetes akuwonetsa. Kuti achite izi, Eclipse JKube ali ndi ntchito yomwe imapanga zowonetsera zolimba kutengera maziko a Java.
Muchitsanzo chathu, timasiya zonse momwe zilili, chifukwa chake Eclipse JKube imapanga chiwonetsero chazomwe zimayikidwa komanso ntchito yokhala ndi mtundu wa ClusterIP. Ndipo pokhapo timasintha chiwonetsero chautumiki kuti tisinthe mtundu wautumiki kukhala NodePort. Mungathe kuchotseratu khalidwe losasinthika pogwiritsa ntchito zotsatirazi:
<jkube.enricher.jkube-service.type>NodePort</jkube.enricher.jkube-service.type>
Izi ndi zomwe chiwonetsero chazithunzi chimawoneka titapempha Eclipse JKube kuti achite mvn k8s: ntchito zothandizira.
~/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 : $
Khwerero 5. Tumizani ntchito ku gulu la Kubernetes
Tsopano takonzeka kuti titumize pulogalamuyi: tapanga chithunzi chake kenako zowonekera zokha. Tsopano chomwe chatsala ndikuyika zonsezi ku gulu la Kubernetes. Kuti mugwiritse ntchito pulogalamuyi, mutha kugwiritsa ntchito kubectl apply -f command, koma pulogalamu yowonjezera imatha kutichitira izi. Izi ndi zomwe zidzawonekere pazenera titapempha Eclipse JKube kuti achite mvn k8s: gwiritsani ntchito ntchito:
~/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"
}
Khwerero 6. Musagwiritse ntchito mapulogalamu kuchokera ku gulu la Kubernetes
Kuti muchite izi, ntchito yosagwiritsidwa ntchito imagwiritsidwa ntchito, yomwe imangochotsa zinthu zonse zomwe zinagwiritsidwa ntchito mu sitepe yapitayi, ndiko kuti, pamene ntchitoyo ikuchitidwa. Izi ndi zomwe tiwona pazenera titapempha Eclipse JKube kuti achite mvn k8s: undeploy undeploy task:
~/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 : $
Chinanso chomwe mungachite ndi Eclipse JKube
Chifukwa chake, tidayang'ana ntchito zazikuluzikulu za Eclipse JKube ndi Kubernetes Maven Plugin, zomwe zimathandizira kupanga mapulogalamu a Java papulatifomu ya Kubernetes. Ngati simukufuna kulowetsa ntchito izi nthawi zonse kuchokera pa kiyibodi, mutha kuzilemba pamasinthidwe a plugin, mwachitsanzo, motere:
<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>
Ziyenera kunenedwa kuti m'nkhaniyi sitinaganizire ntchito zonse zomwe zili mu Eclipse JKube ndi Kubernetes Maven Plugin, kotero timapereka mu Table 2 mndandanda wa ntchito zowonjezera zomwe zingakhale zothandiza kwa inu.
Table 2. Ntchito zowonjezera za Eclipse JKube.
Cholinga
Gawo
mafotokozedwe
VALIDATE
Kulandila zipika kuchokera ku pulogalamu yomwe ikuyenda pa Kubernetes.
phukusi
Tsegulani doko lothandizira kuti mutha kuwongolera pulogalamu yanu yomwe ikuyenda pa Kubernetes kuchokera ku IDE.
kukhazikitsa
Kupanga foloko ya Ntchito ya Instalar ndikugwiritsa ntchito mawonekedwe opangidwa ku gulu la Kubernetes mofanana ndi momwe amachitira ntchitoyo.
phukusi
Kutumiza kotentha kwa pulogalamuyo potsata malo ake.
Kutumiza Mapulogalamu a Java pa Red Hat OpenShift Pogwiritsa Ntchito OpenShift Maven Plugin
Kuti tigwiritse ntchito pulogalamuyi kuchokera ku chitsanzo chathu pa nsanja ya Red Hat OpenShift, timagwiritsa ntchito pulogalamu yowonjezera
~/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 : $
Vidiyo phunziro
Kuti mudziwe zambiri zamomwe mungapangire chitukuko cha Kubernetes kukhala chosavuta ndi Eclipse JKube, onerani kanemayu phunziro la momwe mungatumizire mwachangu pulogalamu yosavuta ya Spring Boot pa Minikube:
Pomaliza
Munkhaniyi, tidawonetsa momwe Eclipse JKube imasinthira moyo kwa wopanga Java akamagwira ntchito ndi Kubernetes. Zambiri pa Eclipse JKube zitha kupezeka pa
Source: www.habr.com