25 xyoo dhau los, Java tau nkag mus rau hauv lub ntsiab ntawm cov programming thiab nws thiaj li dhau los ua ib qho ntawm cov ntsiab lus tseem ceeb nyob ib ncig ntawm daim ntawv thov pawg tsim. Niaj hnub no, txawm li cas los xij, ntau tus neeg thiab cov koom haum uas tau ua siab ncaj rau Java tau ntau xyoo tsis khoom tsiv teb tsaws lossis xav txog kev tsiv teb tsaws chaw.
Hmoov tsis zoo, Kubernetes muaj qhov kev kawm tob tob thiab qhia lwm txheej ua haujlwm rau hauv cov txheej txheem kev txhim kho uas Java programmers tau siv. Niaj hnub no peb yuav qhia koj yuav ua li cas siv
Traditional Java Development Process
Cov txheej txheem kev loj hlob ib txwm muaj
Rice. 1. Cov txheej txheem tsim kho Java ib txwm muaj.
Java Development Process rau Huab
Thaum tsiv mus rau huab thov, Kubernetes thiab
Lub metamorphosis ntawm cov tsoos Java txoj kev loj hlob txheej txheem nyob rau hauv kev hloov mus rau huab yog qhia nyob rau hauv daim duab. 2.
Rice. 2. Java txhim kho txheej txheem rau huab.
Dab noj hnub JKube
Kev tsiv mus rau Kubernetes ntxiv lwm txheej ua haujlwm rau cov txheej txheem kev txhim kho, thiab ntau tus neeg tsim khoom tau ntshai txog nws vim lawv xav tsom mus rau lawv cov haujlwm tseem ceeb - daim ntawv thov kev xav - ntau dua li siv lawv li cas. Thiab qhov no yog qhov uas nws los rau hauv kev ua si.
Hauv seem ntawm tsab xov xwm no, peb yuav qhia koj yuav ua li cas txhawm rau txhim kho Java txheej txheem hauv Kubernetes ib puag ncig los ntawm kev siv Eclipse JKube nrog Kubernetes Maven Plugin.
Cloud Development Process siv dab noj hnub JKube
Cia peb xav txog qhov hloov kho me ntsis Java txoj kev txhim kho rau huab los ntawm daim duab 2, qhia dab noj hnub JKube thiab Kubernetes Maven Plugin rau hauv nws, raws li qhia hauv daim duab. 3.
Rice. 3. Java txhim kho txheej txheem rau huab siv dab noj hnub JKube.
Raws li peb tuaj yeem pom, ntawm no tag nrho cov haujlwm rau kev cuam tshuam nrog Kubernetes thiab ntim khoom (qhov tseem ceeb hauv liab hauv daim duab) yog hloov los ntawm default Eclipse JKube lub hom phiaj cov haujlwm, uas tau teev tseg hauv Table. 1.
Rooj 1. Dab noj hnub JKube default hauj lwm.
Hom phiaj
Theem
piav qhia
PRE_INTEGRATION_TEST
Tsev docker duab
INSTALL
Uploading docker duab mus rau npe
PROCESS_RESOURCES
Tsim K8s manifests
COMPILE
Siv cov khoom tsim tawm rau K8s
TSIS TXAUS SIAB
Tshem tawm K8s cov peev txheej uas tau siv los siv k8s: thov thiab k8s: xa tawm
Nco ntsoov: Yog tias koj tsis xav tau txoj haujlwm los siv cov kev xav tsis zoo no, koj tuaj yeem teeb tsa Eclipse JKube rau koj tus kheej, vim nws txhawb kev teeb tsa ntawm
Tam sim no cia saib cov piv txwv ntawm kev siv Eclipse JKube thiab Kubernetes Maven Plugin thaum ua haujlwm nrog cov ntawv thov.
Deploying a Java Application on Kubernetes Siv Eclipse JKube
Hauv qhov piv txwv no peb yuav xa ib daim ntawv thov Java yooj yim rau ntawm pawg
Ua piv txwv daim ntawv thov peb siv
~/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"
}
Kauj ruam 1. Download Kubernetes Maven Plugin
Kubernetes Maven Plugin yog nyob rau hauv repository
<plugin>
<groupId>org.eclipse.jkube</groupId>
<artifactId>kubernetes-maven-plugin</artifactId>
<version>${jkube.version}</version>
</plugin>
Yog tias OpenShift siv tsis yog Kubernetes ntshiab, ces pom.xml hloov raws li hauv qab no:
<plugin>
<groupId>org.eclipse.jkube</groupId>
<artifactId>openshift-maven-plugin</artifactId>
<version>${jkube.version}</version>
</plugin>
Kauj ruam 2. Tsim cov duab docker
Daim ntawv thov cov ntaub ntawv JAR tuaj yeem tsim nrog mvn pob lus txib, thiab tom qab ntawd mvn lub hom phiaj ua haujlwm k8s: tsim tuaj yeem siv los tsim cov duab docker ntawm daim ntawv thov. Nco ntsoov tias peb tau overridden lub npe duab lub npe nrog cov cuab yeej no:
<jkube.generator.name>docker.io/rohankanojia/random-generator:${project.version}</jkube.generator.name>
Ua ntej tsim cov duab, koj yuav tsum xyuas kom meej tias docker daemon raug nthuav tawm kom raug. Qhov no tuaj yeem ua tiav nrog cov lus txib hauv qab no:
$ eval $(minikube docker-env)
Tom qab ntawd peb nkag mus rau mvn k8s: tsim cov lus txib, thiab qhov no yog qhov peb yuav pom ntawm qhov screen thaum tsim cov duab docker siv dab noj hnub JKube ua haujlwm:
~/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 : $
Kauj ruam 3. Upload duab rau docker npe
Tom qab peb tau tsim cov duab docker nrog lub laub npe teeb tsa (hauv peb rooj plaub nws yog docker.io), peb tuaj yeem xa daim duab no mus rau npe. Qhov no yog qhov yuav tshwm sim tom qab peb thov dab noj hnub JKube ua lub mvn k8s: thawb lub luag haujlwm:
~/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 : $
Tom qab xa cov duab, koj yuav tsum xyuas tias nws muaj nyob rau hauv daim ntawv teev npe. Hauv peb qhov xwm txheej, peb tsuas pom nws hauv Docker Hub, raws li qhia hauv daim duab. 4.
Rice. 4. Cov duab xa mus rau npe tau tshwm sim hauv Docker Hub.
Kauj ruam 4. Tsim Kubernetes cov peev txheej manifests rau daim ntawv thov
Yog li, peb tau sau cov duab thov, tam sim no peb yuav tsum sau Kubernetes manifests. Txhawm rau ua qhov no, Dab Ntxwg Nyoog JKube muaj ib txoj haujlwm uas tsim cov peev txheej nruj raws li lub hauv paus Java moj khaum (
Hauv peb qhov piv txwv, peb tawm txhua yam raws li yog, thiab yog li ntawd Dab Ntxwg Nyoog JKube ua kom pom qhov tshwm sim rau qhov kev xa tawm thiab rau cov kev pabcuam nrog hom ClusterIP. Thiab tsuas yog tom qab ntawd peb hloov kho qhov kev pabcuam manifest hloov hom kev pabcuam rau NodePort. Koj tuaj yeem override tus cwj pwm tsis zoo siv cov cuab yeej hauv qab no:
<jkube.enricher.jkube-service.type>NodePort</jkube.enricher.jkube-service.type>
Qhov no yog qhov tso tawm qhov screen zoo li tom qab peb thov dab noj hnub JKube ua lub mvn k8s: cov peev txheej peev txheej.
~/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 : $
Kauj ruam 5. Xa daim ntawv thov mus rau Kubernetes pawg
Tam sim no peb txhua tus tau teeb tsa los xa daim ntawv thov: peb tau tsim nws cov duab thiab tom qab ntawd cia li tsim cov peev txheej manifests. Tam sim no txhua yam uas tseem tshuav yog siv tag nrho cov no rau Kubernetes pawg. Txhawm rau xa daim ntawv thov, koj tuaj yeem, tau kawg, siv kubectl thov -f hais kom ua, tab sis lub plugin tuaj yeem ua qhov no rau peb. Nov yog qhov yuav tshwm sim ntawm qhov screen tom qab peb nug dab noj hnub JKube kom ua tiav mvn k8s: thov ua haujlwm:
~/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"
}
Kauj ruam 6. Undeploy applications from the Kubernetes cluster
Txhawm rau ua qhov no, kev ua haujlwm tsis siv neeg siv, uas tsuas yog tshem tawm tag nrho cov peev txheej uas tau thov hauv cov kauj ruam dhau los, uas yog, thaum ua tiav cov haujlwm. Nov yog qhov peb yuav pom ntawm qhov screen tom qab peb thov dab noj hnub JKube ua lub mvn k8s: undeploy undeploy hauj lwm:
~/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 : $
Dab tsi ntxiv koj tuaj yeem ua nrog Eclipse JKube
Yog li, peb tau saib lub hom phiaj tseem ceeb ntawm dab noj hnub JKube thiab Kubernetes Maven Plugin, uas pab txhawb kev txhim kho Java daim ntawv thov rau Kubernetes platform. Yog tias koj tsis xav mus tas li nkag mus rau cov haujlwm no los ntawm cov keyboard, koj tuaj yeem sau lawv hauv plugin configuration, piv txwv li, zoo li no:
<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>
Nws yuav tsum tau hais tias nyob rau hauv tsab xov xwm no peb tsis tau txiav txim siab tag nrho cov hom phiaj ua hauj lwm uas muaj nyob rau hauv dab noj hnub JKube thiab Kubernetes Maven Plugin, yog li peb muab nyob rau hauv Table 2 ib daim ntawv teev cov hauj lwm ntxiv uas kuj yuav pab tau rau koj.
Rooj 2. Ntxiv dab noj hnub JKube lub hom phiaj ua haujlwm.
Hom phiaj
Theem
piav qhia
TSEEM CEEB
Tau txais cov cav los ntawm ib daim ntawv thov uas khiav ntawm Kubernetes.
POB
Qhib qhov chaw nres nkoj debug kom koj tuaj yeem debug koj daim ntawv thov khiav ntawm Kubernetes ncaj qha los ntawm IDE.
INSTALL
Tsim ib rab diav rawg rau kev teeb tsa ua haujlwm thiab siv cov khoom tsim tawm rau Kubernetes pawg tib yam li hauv cov ntaub ntawv thov ua haujlwm.
POB
Tsis siv neeg kub xa tawm ntawm daim ntawv thov los ntawm kev taug qab nws lub npe chaw.
Siv Java Applications ntawm Red Hat OpenShift Siv OpenShift Maven Plugin
Txhawm rau xa daim ntawv thov los ntawm peb qhov piv txwv ntawm Red Hat OpenShift platform, peb siv lub plugin
~/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 zaj lus qhia
Yog xav paub ntxiv txog yuav ua li cas kom Kubernetes txoj kev txhim kho yooj yim dua nrog Eclipse JKube, saib daim vis dis aus no qhia txog yuav ua li cas sai sai siv lub caij nplooj ntoos hlav khau raj yooj yim ntawm Minikube:
xaus
Hauv tsab xov xwm no, peb tau qhia yuav ua li cas Dab Ntxwg Nyoog JKube ua rau lub neej yooj yim dua rau Java tus tsim tawm thaum ua haujlwm nrog Kubernetes. Xav paub ntau ntxiv txog dab noj hnub JKube tuaj yeem nrhiav tau ntawm
Tau qhov twg los: www.hab.com