25 taona lasa izay, niditra tao amin'ny sehatry ny fandaharana i Java ary tamin'ny farany dia lasa iray amin'ireo singa fototra manodidina ny fananganana stacks fampiharana. Amin'izao fotoana izao anefa, maro ny olona sy fikambanana izay tsy nivadika tamin'i Java nandritra ny taona maro no sahirana mifindra monina na mieritreritra ny hifindra any amin'ny lampihazo.
Indrisy anefa, ny Kubernetes dia manana lΓ lam-pianarana mideza ary mampiditra sosona hafa miasa amin'ny dingana fampandrosoana izay mahazatra ny mpandrindra Java. Androany dia hilaza aminao ny fomba fampiasana
Fomba fampandrosoana Java nentim-paharazana
Fomba fampandrosoana nentim-paharazana
vary. 1. Fizotry ny fampandrosoana Java nentim-paharazana.
Java Development Process for the Cloud
Rehefa mifindra amin'ny rindranasa rahona, Kubernetes sy
Ny metamorphose amin'ny fizotran'ny fampandrosoana Java nentim-paharazana amin'ny fifindrana mankany amin'ny rahona dia aseho amin'ny sary. 2.
vary. 2. Dingan'ny fampandrosoana Java ho an'ny rahona.
Eclipse JKube
Ny fifindra-monina ao amin'ny Kubernetes dia manampy sosona hafa miasa amin'ny fizotran'ny fampandrosoana, ary maro ny mpamorona no mitebiteby momba izany satria te hifantoka amin'ny asany fototraβny lojika fampiharanaβfa tsy ny fomba fametrahana azy ireo. Ary eto no miditra an-tsehatra.
Amin'ny tohin'ity lahatsoratra ity, hasehonay anao ny fomba hanatsorana ny fizotran'ny fampandrosoana Java ao amin'ny tontolo Kubernetes amin'ny fampiasana Eclipse JKube miaraka amin'ny Kubernetes Maven Plugin.
Fizotry ny fampivoarana rahona mampiasa Eclipse JKube
Andeha hodinihintsika ny tetika fampandrosoana Java novaina kely ho an'ny rahona avy amin'ny sary 2, mampiditra Eclipse JKube sy Kubernetes Maven Plugin ao anatiny, araka ny asehon'ny sary. 3.
vary. 3. Dingan'ny fampandrosoana Java ho an'ny rahona mampiasa Eclipse JKube.
Araka ny hitantsika, eto ny asa rehetra hifaneraserana amin'ny Kubernetes sy ny kaontenera (asongadina amin'ny mena amin'ny kisary) dia soloina amin'ny alΓ lan'ny asa tanjona Eclipse JKube default, izay voatanisa ao amin'ny tabilao. 1.
LOHA 1. Eclipse JKube asa default.
asa
sehatra
famaritana
PRE_INTEGRATION_TEST
Manorina sary docker
hametraka
Mampiakatra sary docker ao amin'ny rejisitra
PROCESS_RESOURCES
Mamorona fampisehoana K8
manangona
Fampiharana ireo fanehoana vokarina amin'ny K8s
UNDEPLOY
Esory ny loharanon-karena K8 izay napetraka tamin'ny fampiasana k8s:apply ary k8s:deploy
Fanamarihana: Raha tsy tianao ny asa hampiasa ireo faneken-keloka ireo dia azonao atao ny manitsy ny Eclipse JKube ho anao manokana, satria manohana ny fanamafisana amin'ny alΓ lan'ny
Andeha isika hijery ohatra amin'ny fampiasana Eclipse JKube sy Kubernetes Maven Plugin rehefa miasa amin'ny fampiharana.
Mametraka fampiharana Java amin'ny Kubernetes mampiasa Eclipse JKube
Amin'ity ohatra ity dia hametraka fampiharana Java tsotra amin'ny cluster isika
Ho ohatra fampiharana ampiasainay
~/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"
}
Dingana 1. Ampidino ny Plugin Kubernetes Maven
Kubernetes Maven Plugin dia ao amin'ny tahiry
<plugin>
<groupId>org.eclipse.jkube</groupId>
<artifactId>kubernetes-maven-plugin</artifactId>
<version>${jkube.version}</version>
</plugin>
Raha OpenShift no ampiasaina fa tsy Kubernetes madio, dia ovaina toy izao manaraka izao ny pom.xml:
<plugin>
<groupId>org.eclipse.jkube</groupId>
<artifactId>openshift-maven-plugin</artifactId>
<version>${jkube.version}</version>
</plugin>
Dingana 2. Amboary ny sary docker
Ny rakitra JAR an'ny fampiharana dia azo amboarina miaraka amin'ny baikon'ny fonosana mvn, ary avy eo ny tanjona mvn k8s:build dia azo ampiasaina hanamboarana sarin'ny docker amin'ny fampiharana. Mariho fa nosoloinay ny anaran'ny sary default amin'ity fananana ity:
<jkube.generator.name>docker.io/rohankanojia/random-generator:${project.version}</jkube.generator.name>
Alohan'ny hananganana ny sary dia mila mahazo antoka ianao fa mibaribary tsara ny daemon docker. Izany dia azo atao amin'ny alalan'ity baiko manaraka ity:
$ eval $(minikube docker-env)
Avy eo dia miditra amin'ny mvn k8s: manangana baiko isika, ary izao no ho hitantsika eo amin'ny efijery rehefa manangana sary docker amin'ny fampiasana ny asa fananganana 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 : $
Dingana 3. Ampidiro ao amin'ny rejisitra docker ny sary
Rehefa avy nanamboatra ny sarin'ny docker izahay miaraka amin'ny rejisitra tosika (amin'ny tranga misy anay dia docker.io), afaka mandefa ity sary ity amin'ny rejisitra izahay. Izao no haseho rehefa avy mangataka ny Eclipse JKube izahay hanatanteraka ny asa mvn k8s:push push:
~/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 : $
Aorian'ny fandefasana ny sary dia mila manamarina ianao fa tafiditra ao amin'ny rejisitra. Amin'ny tranga misy antsika dia hitantsika fotsiny ao amin'ny Docker Hub izy io, araka ny aseho amin'ny sary. 4.
vary. 4. Ny sary nalefa tany amin'ny rejisitra dia niseho tao amin'ny Docker Hub.
Dingana 4. Mamorona fanehoana loharanon-karena Kubernetes ho an'ny fampiharana
Noho izany, nanangona ny sarin'ny fampiharana izahay, izao dia mila manoratra ny fanehoana Kubernetes. Mba hanaovana izany, ny Eclipse JKube dia manana asa iray izay miteraka fanehoana loharano henjana mifototra amin'ny rafitra Java fototra (
Amin'ny ohatra ataontsika dia avelantsika ho toy ny misy ny zava-drehetra, ary noho izany ny Eclipse JKube dia miteraka fisehoana ho an'ny fametrahana default sy ho an'ny serivisy misy karazana ClusterIP. Ary avy eo dia manova ny serivisy serivisy izahay hanovana ny karazana serivisy ho NodePort. Azonao atao ny manafoana ny fihetsika default amin'ny fampiasana ity fananana manaraka ity:
<jkube.enricher.jkube-service.type>NodePort</jkube.enricher.jkube-service.type>
Toy izao ny endriky ny efijery rehefa avy nangataka ny Eclipse JKube izahay mba hanatanteraka ny asa mvn k8s: loharanon-karena.
~/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 : $
Dingana 5. Apetraho amin'ny cluster Kubernetes ny fampiharana
Ankehitriny dia efa vonona ny hametraka ny fampiharana izahay: namorona ny sariny izahay ary avy eo dia namorona fanehoana loharano ho azy. Ny hany sisa tavela dia ny mampihatra izany rehetra izany amin'ny cluster Kubernetes. Mba hametrahana ny fampiharana dia azonao atao mazava ho azy ny mampiasa ny baiko kubectl apply -f, fa ny plugin dia afaka manao izany ho antsika. Izany no hiseho eo amin'ny efijery rehefa avy mangataka amin'ny Eclipse JKube izahay mba hanatanteraka ny mvn k8s: ampiharo ny asa:
~/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"
}
Dingana 6. Esory ny fampiharana avy amin'ny cluster Kubernetes
Mba hanaovana izany, dia ampiasaina ny asa undeploy, izay manaisotra fotsiny ny loharanon-karena rehetra nampiharina tamin'ny dingana teo aloha, izany hoe rehefa vita ny asa fampiharana. Izao no ho hitantsika eo amin'ny efijery rehefa avy nangataka ny Eclipse JKube izahay mba hanatanteraka ny 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 : $
Inona koa no azonao atao amin'ny Eclipse JKube
Noho izany, nijery ny tanjona fototra amin'ny Eclipse JKube sy Kubernetes Maven Plugin izahay, izay manamora ny fampivoarana ny rindranasa Java ho an'ny sehatra Kubernetes. Raha tsy te-hiditra tsy tapaka ireo asa ireo amin'ny klavier ianao dia azonao atao ny manoratra azy ireo amin'ny fanamafisana plugin, ohatra, toy izao:
<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>
Tsy maintsy lazaina fa ato amin'ity lahatsoratra ity dia tsy nandinika ny tanjona rehetra ao amin'ny Eclipse JKube sy Kubernetes Maven Plugin izahay, noho izany dia omenay ao amin'ny tabilao 2 ny lisitry ny asa fanampiny izay mety hahasoa anao ihany koa.
LOHA 2. Eclipse JKube tanjona fanampiny.
asa
sehatra
famaritana
hanamafy
Mandray diary avy amin'ny fampiharana mandeha amin'ny Kubernetes.
Package
Sokafy ny seranan-tsambo debug mba ahafahanao debug ny rindranasa mandeha amin'ny Kubernetes mivantana avy amin'ny IDE.
hametraka
Mamorona fork ho an'ny asa Fametrahana ary mampihatra ireo fisehoana vokarina amin'ny kluster Kubernetes amin'ny fomba mitovy amin'ny raharaha momba ny asa ampiharina.
Package
Fametrahana mafana mandeha ho azy amin'ny fampiharana amin'ny alΓ lan'ny fanaraha-maso ny toerana misy azy.
Mametraka fampiharana Java amin'ny Red Hat OpenShift amin'ny fampiasana ny OpenShift Maven Plugin
Mba hametrahana ny fampiharana avy amin'ny ohatra ataontsika amin'ny sehatra Red Hat OpenShift dia mampiasa ny plugin izahay
~/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 : $
Video lesona
Raha te hianatra bebe kokoa momba ny fomba hanamora ny fampivoarana Kubernetes miaraka amin'ny Eclipse JKube, jereo ity torolalana ity momba ny fomba fametrahana haingana fampiharana Lohataona Boot tsotra amin'ny Minikube:
famaranana
Ato amin'ity lahatsoratra ity, nasehonay ny fomba nanamora ny fiainan'ny mpamorona Java ny Eclipse JKube rehefa miasa amin'ny Kubernetes. Ny fampahalalana bebe kokoa momba ny Eclipse JKube dia azo jerena ao amin'ny
Source: www.habr.com