25 mlynedd yn Γ΄l, ymunodd Java Γ’ phrif ffrwd rhaglennu ac yn y pen draw daeth yn un o'r elfennau craidd y mae staciau cais yn cael eu hadeiladu o'u cwmpas. Heddiw, fodd bynnag, mae llawer o bobl a sefydliadau sydd wedi bod yn deyrngar i Java ers blynyddoedd lawer yn brysur yn mudo neu'n ystyried mudo i'r platfform.
Yn anffodus, mae gan Kubernetes gromlin ddysgu serth ac mae'n cyflwyno haen weithredol arall i'r broses ddatblygu y mae rhaglenwyr Java yn gyfarwydd Γ’ hi. Heddiw, byddwn yn dweud wrthych sut i ddefnyddio
Proses Datblygu Java Traddodiadol
Proses datblygu traddodiadol
Reis. 1. Proses datblygu Java traddodiadol.
Proses Datblygu Java ar gyfer y Cwmwl
Wrth symud i gymwysiadau cwmwl, Kubernetes a
Dangosir metamorffosis y broses ddatblygu Java draddodiadol yn y trawsnewid i'r cwmwl yn Ffig. 2 .
Reis. 2. Proses ddatblygu Java ar gyfer y cwmwl.
Eclipse JKube
Mae mudo i Kubernetes yn ychwanegu haen weithredol arall at y broses ddatblygu, ac mae llawer o ddatblygwyr yn nerfus yn ei gylch oherwydd eu bod am ganolbwyntio ar eu gwaith craidd - rhesymeg cymhwyso - yn hytrach na sut i'w defnyddio. A dyma lle mae'n dod i chwarae.
Yng ngweddill yr erthygl hon, byddwn yn dangos i chi sut i symleiddio'r broses ddatblygu Java yn amgylchedd Kubernetes trwy ddefnyddio Eclipse JKube gyda'r Kubernetes Maven Plugin.
Proses Datblygu Cwmwl Gan Ddefnyddio Eclipse JKube
Gadewch i ni ystyried cynllun datblygu Java wedi'i addasu ychydig ar gyfer y cwmwl o Ffig. 2, gan gyflwyno Eclipse JKube a Kubernetes Maven Plugin iddo, fel y dangosir yn Ffig. 3.
Reis. 3. Proses ddatblygu Java ar gyfer y cwmwl gan ddefnyddio Eclipse JKube.
Fel y gallwn weld, yma mae'r holl weithrediadau ar gyfer rhyngweithio Γ’ Kubernetes a chynwysyddion (a amlygir mewn coch yn y diagram) yn cael eu disodli gan dasgau nod Eclipse JKube rhagosodedig, sydd wedi'u rhestru yn Nhabl. 1 .
Bwrdd 1. Eclipse JKube tasgau rhagosodedig.
Gorchwyl
Cam
Disgrifiad
PRE_INTEGRATION_TEST
Adeiladu delweddau docwr
GOSOD
Lanlwytho delweddau docwr i'r gofrestrfa
PROCESS_RESOURCES
Cynhyrchu maniffestau K8s
CYHUDDO
Cymhwyso maniffestau a gynhyrchir i K8s
DADDYSGU
Dileu adnoddau K8s a ddefnyddiwyd gan ddefnyddio k8s:apply a k8s:deploy
Nodyn: Os nad ydych am i dasgau ddefnyddio'r rhagosodiadau barn hyn, gallwch chi ffurfweddu Eclipse JKube Γ’ llaw i chi'ch hun, gan ei fod yn cefnogi ffurfweddiad trwy
Nawr, gadewch i ni edrych ar enghreifftiau o ddefnyddio Eclipse JKube a Kubernetes Maven Plugin wrth weithio gyda chymwysiadau.
Defnyddio Cymhwysiad Java ar Kubernetes Gan Ddefnyddio Eclipse JKube
Yn yr enghraifft hon byddwn yn defnyddio cymhwysiad Java syml ar glwstwr
Fel cymhwysiad enghreifftiol rydyn ni'n ei ddefnyddio
~/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"
}
Cam 1. Lawrlwythwch Kubernetes Maven Plugin
Mae Kubernetes Maven Plugin yn y storfa
<plugin>
<groupId>org.eclipse.jkube</groupId>
<artifactId>kubernetes-maven-plugin</artifactId>
<version>${jkube.version}</version>
</plugin>
Os defnyddir OpenShift yn lle Kubernetes pur, yna caiff pom.xml ei addasu fel a ganlyn:
<plugin>
<groupId>org.eclipse.jkube</groupId>
<artifactId>openshift-maven-plugin</artifactId>
<version>${jkube.version}</version>
</plugin>
Cam 2. Adeiladu delwedd y docwr
Gellir adeiladu ffeil JAR y cymhwysiad gyda'r gorchymyn pecyn mvn, ac yna gellir defnyddio'r dasg nod mvn k8s:build i adeiladu delwedd docwr o'r rhaglen. Sylwch ein bod wedi diystyru'r enw delwedd rhagosodedig gyda'r eiddo hwn:
<jkube.generator.name>docker.io/rohankanojia/random-generator:${project.version}</jkube.generator.name>
Cyn adeiladu'r ddelwedd, mae angen i chi sicrhau bod yr ellyll docwr wedi'i hamlygu'n gywir. Gellir gwneud hyn gyda'r gorchymyn canlynol:
$ eval $(minikube docker-env)
Yna rydyn ni'n mynd i mewn i'r gorchymyn mvn k8s: build, a dyma beth fyddwn ni'n ei weld ar y sgrin wrth adeiladu delwedd y docwr gan ddefnyddio tasg adeiladu 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 : $
Cam 3. Llwythwch y ddelwedd i gofrestrfa'r docwr
Ar Γ΄l i ni adeiladu delwedd y docwr gyda'r gofrestrfa gwthio wedi'i ffurfweddu (docker.io yn ein hachos ni), gallwn anfon y ddelwedd hon i'r gofrestrfa. Dyma beth fydd yn cael ei arddangos ar Γ΄l i ni ofyn i Eclipse JKube gyflawni'r dasg mvn k8s: gwthio gwthio:
~/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 : $
Ar Γ΄l anfon y ddelwedd, mae angen i chi wirio ei fod wedi'i gynnwys yn y gofrestrfa. Yn ein hachos ni, rydyn ni'n ei weld yn Docker Hub, fel y dangosir yn Ffig. 4.
Reis. 4. Ymddangosodd y ddelwedd a anfonwyd at y gofrestrfa yn Docker Hub.
Cam 4. Cynhyrchu maniffestau adnoddau Kubernetes ar gyfer y cais
Felly, rydym wedi casglu delwedd y cais, nawr mae angen i ni ysgrifennu maniffestau Kubernetes. I wneud hyn, mae gan Eclipse JKube dasg sy'n cynhyrchu amlygiadau adnoddau anhyblyg yn seiliedig ar y fframwaith Java sylfaenol (
Yn ein hesiampl, rydym yn gadael popeth fel y mae, ac felly mae Eclipse JKube yn cynhyrchu maniffest ar gyfer y defnydd diofyn ac ar gyfer y gwasanaeth gyda math ClusterIP. A dim ond wedyn rydyn ni'n addasu'r maniffest gwasanaeth i newid y math o wasanaeth i NodePort. Gallwch ddiystyru'r ymddygiad diofyn gan ddefnyddio'r priodwedd canlynol:
<jkube.enricher.jkube-service.type>NodePort</jkube.enricher.jkube-service.type>
Dyma sut olwg sydd ar allbwn y sgrin ar Γ΄l i ni ofyn i Eclipse JKube gyflawni'r dasg adnoddau mvn k8s:resource.
~/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 : $
Cam 5. Defnyddio'r cais i glwstwr Kubernetes
Nawr rydym i gyd yn barod i ddefnyddio'r rhaglen: rydym wedi creu ei ddelwedd ac yna wedi cynhyrchu maniffestau adnoddau yn awtomatig. Nawr y cyfan sydd ar Γ΄l yw cymhwyso hyn i gyd i glwstwr Kubernetes. I ddefnyddio'r cais, gallwch, wrth gwrs, ddefnyddio'r gorchymyn kubectl apply -f, ond gall yr ategyn wneud hyn i ni. Dyma beth fydd yn ymddangos ar y sgrin ar Γ΄l i ni ofyn i Eclipse JKube gyflawni'r mvn k8s: cymhwyso tasg cymhwyso:
~/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"
}
Cam 6. Dadleoli ceisiadau o'r clwstwr Kubernetes
I wneud hyn, defnyddir y dasg dadleoli, sy'n syml yn dileu'r holl adnoddau a gymhwyswyd yn y cam blaenorol, hynny yw, pan fydd y dasg cymhwyso yn cael ei chyflawni. Dyma beth fyddwn ni'n ei weld ar y sgrin ar Γ΄l i ni ofyn i Eclipse JKube gyflawni'r dasg mvn k8s:undeploy undeploy:
~/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 : $
Beth arall allwch chi ei wneud gydag Eclipse JKube
Felly, fe wnaethom edrych ar brif dasgau nod Eclipse JKube a Kubernetes Maven Plugin, sy'n hwyluso datblygiad cymwysiadau Java ar gyfer platfform Kubernetes. Os nad ydych chi am fynd i mewn i'r tasgau hyn yn gyson o'r bysellfwrdd, gallwch eu hysgrifennu yng nghyfluniad yr ategyn, er enghraifft, fel hyn:
<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>
Rhaid dweud nad ydym yn yr erthygl hon wedi ystyried yr holl dasgau nod sydd yn Eclipse JKube a Kubernetes Maven Plugin, felly rydym yn darparu yn Nhabl 2 restr o dasgau ychwanegol a allai fod yn ddefnyddiol i chi hefyd.
Bwrdd 2. Tasgau nod JKube Eclipse ychwanegol.
Gorchwyl
Cam
Disgrifiad
DILYSU
Derbyn logiau o raglen sy'n rhedeg ar Kubernetes.
PECYN
Agorwch borth dadfygio fel y gallwch ddadfygio'ch cais sy'n rhedeg ar Kubernetes yn uniongyrchol o'r DRhA.
GOSOD
Creu fforc ar gyfer y dasg Gosod a chymhwyso'r maniffestau a gynhyrchir i glwstwr Kubernetes yn yr un modd ag yn achos y dasg cymhwyso.
PECYN
Defnydd poeth awtomatig o raglen trwy olrhain ei ofod enwau.
Defnyddio Cymwysiadau Java ar Red Hat OpenShift Gan ddefnyddio'r Ategyn OpenShift Maven
I ddefnyddio'r rhaglen o'n hesiampl ar blatfform Red Hat OpenShift, rydyn ni'n defnyddio'r ategyn
~/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 : $
Gwers fideo
I ddysgu mwy am sut i wneud datblygiad Kubernetes yn haws gydag Eclipse JKube, gwyliwch y tiwtorial fideo hwn ar sut i ddefnyddio cymhwysiad Spring Boot syml ar Minikube yn gyflym:
Casgliad
Yn yr erthygl hon, fe wnaethom ddangos sut mae Eclipse JKube yn gwneud bywyd yn haws i ddatblygwr Java wrth weithio gyda Kubernetes. Mae rhagor o wybodaeth am Eclipse JKube ar gael yn
Ffynhonnell: hab.com