Te whakawhanake i nga tono Java mo nga Kubernetes e whakamahi ana i te Eclipse JKube

25 tau ki muri, ka uru atu a Java ki roto i te kaupapa o te kaupapa, a, ka mutu ko tetahi o nga kaupapa matua e hangaia ana nga puranga tono. I tenei ra, he maha nga taangata me nga whakahaere kua piripono ki a Java mo nga tau maha e pukumahi ana ki te heke, ki te whakaaro ranei ki te heke ki te turanga. Kubernetes ko ona huatanga penei Potae Whero OpenShift ranei Amazon EKS.

Te whakawhanake i nga tono Java mo nga Kubernetes e whakamahi ana i te Eclipse JKube

Ko te mea pouri, he kurupae ako a Kubernetes me te whakauru i tetahi atu paparanga mahi ki roto i te tukanga whanaketanga e waia ana e nga kaihōtaka Java. I tenei ra ka korero matou ki a koe me pehea te whakamahi Eclipse JKube, ki te whakangawari i enei mahi taapiri e hono ana ki nga Kubernetes me nga ipu, me te whakarite kia kore e mamae te heke ki te papaaa kapua i te wa e mau tonu ana te rauwiringa kaiao Java. Ano, ka whakaatu maatau me pehea te tuku tono Java i runga i te papaaho OpenShift ma te whakamahi i te mono OpenShift Maven.

Tukatuka Whakawhanake Java tuku iho

Te tukanga whanaketanga tuku iho Java (Whakaahua 1) ka uru ki te waehere tuhi kaiwhakawhanake, katahi ka hanga i nga waahanga whakaurunga ki te ahua o nga konae JAR, WAR ranei, katahi ka tohatoha me te whakahaere i enei konae ki runga i te paetukutuku, i te tūmau tono ranei. Ko te huarahi matua ki te mahi i tenei ko te whakamahi i te Maven mai i te raina whakahau, te whakamahi ranei i te IDE penei i a IntelliJ, Eclipse ranei hei tohu me te kiki i nga tono. Ka whakamahia nga kaihanga ki te whakarereke i nga waehere me te whakamatautau i nga mea katoa i mua i te tuku i te waehere me te tuku ki te mana putanga.

Te whakawhanake i nga tono Java mo nga Kubernetes e whakamahi ana i te Eclipse JKube

raihi. 1. Te tukanga whanaketanga Java tawhito.

Tukanga Whakawhanake Java mo te Kapua

Ina neke ki nga tono kapua, ko Kubernetes me nga ipu. Na, inaianei me kii te kaiwhakawhanake i nga tono Java whakapakoko ipu me te hanga whakaaturanga Kubernetes e whakaatu ana i enei whakaahua. Ka tukuna enei whakaaturanga ki te tūmau whakaputa e whakahaere ana i a Kubernetes. Ka huri, ka tangohia e Kubernetes enei whakaahua mai i te rehita me te tuku tono kia rite ki nga whirihoranga kua tuhia e matou ki nga whakaaturanga, he konae YAML te nuinga.

Ko te metamorphosis o te tukanga whanaketanga Java tawhito i roto i te whakawhiti ki te kapua e whakaatuhia ana i te Fig. 2.

Te whakawhanake i nga tono Java mo nga Kubernetes e whakamahi ana i te Eclipse JKube

raihi. 2. Te tukanga whanaketanga Java mo te kapua.

Eclipse JKube

Ko te heke ki Kubernetes ka taapirihia he paparanga mahi ki te mahi whanaketanga, a he maha nga kaiwhakawhanake kei te mataku mo tera na te mea kei te pirangi ratou ki te aro ki a raatau mahi matua—te arorau tono—kaore i te pehea ki te tuku. A koinei te waahi ka uru mai. Eclipse JKube, ka taea e nga kaiwhakawhanake te whakamahi i o raatau whare pukapuka me o raatau taputapu (Kete JKube me te Kubernetes Maven monomai ranei OpenShift Maven monomai) kia ngawari te mahi ipu me nga mahi e pa ana ki nga Kubernetes ma te whai i te hoahoa i te Whakaahua. 2.

I te toenga o tenei tuhinga, ka whakaatu matou ki a koe me pehea te whakangawari i te tukanga whanaketanga Java i roto i te taiao Kubernetes ma te whakamahi i te Eclipse JKube me te Kubernetes Maven Plugin.

Tukanga Whakawhanake Kapua Ma te Eclipse JKube

Kia whai whakaaro tatou ki tetahi kaupapa whanaketanga Java kua whakarerekehia mo te kapua mai i te Whakaahua 2, me te whakauru i te Eclipse JKube me te Kubernetes Maven Plugin ki roto, penei i te Whakaatu. 3.

Te whakawhanake i nga tono Java mo nga Kubernetes e whakamahi ana i te Eclipse JKube

raihi. 3. Te tukanga whanaketanga Java mo te kapua e whakamahi ana i te Eclipse JKube.

Ka kite tatou, i konei ko nga mahi katoa mo te taunekeneke me nga Kubernetes me nga ipu (kua tohua ki te whero i te hoahoa) ka whakakapihia e nga mahi taunoa Eclipse JKube, kua whakarārangihia ki te Ripanga. 1.

Ripanga 1. Eclipse JKube mahi taunoa.

Whāinga
Tuhinga
Whakaahuatanga

k8s:hanga
PRE_INTEGRATION_TEST
Te hanga whakaahua docker

k8s: pana
Tāuta
Te tuku whakaahua docker ki te rehita

k8s:rauemi
PROCESS_RESOURCES
Te whakaputa whakaaturanga K8

k8s: tono
WHAKAHIA
Te tono whakaaturanga i hangaia ki nga K8

k8s: wetekina
unuhanga
Te tango i nga rauemi K8 i tukuna ma te whakamahi i te k8s: tono me te k8s: tohatoha

Tuhipoka: Ki te kore koe e hiahia ki nga mahi ki te whakamahi i enei taunoa whakaaro, ka taea e koe te whirihora a-ringa i te Eclipse JKube maau ake, na te mea e tautoko ana i te whirihoranga ma XML и rauemi.

Inaianei me titiro ki nga tauira o te whakamahi i te Eclipse JKube me te Kubernetes Maven Plugin i te wa e mahi ana me nga tono.

Te tuku Taupānga Java ki nga Kubernetes Ma te Eclipse JKube

I tenei tauira ka tukuna e matou he tono Java ngawari ki runga i te tautau Minikube te whakamahi i Eclipse JKube. Ma te whakamahi i te Kubernetes Maven monomai, ka taea e tatou te whakarite i nga tawhā horahanga me te kore e tuhi i tetahi whirihoranga.

Hei tauira tauira ka whakamahia e matou kaihanga tau matapōkere noa, e whakaputa ana i te putanga JSON i te pito mutunga / tupurangi:

~/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"
}

Hipanga 1. Tikiake Kubernetes Maven monomai

Ko Kubernetes Maven monomai kei roto i te putunga Maven Central Repository. Hei whakamahi i te Eclipse JKube me taapiri koe i te Kubernetes Maven monomai ki to pom.xml hei whakawhirinakitanga:

<plugin>
     <groupId>org.eclipse.jkube</groupId>
     <artifactId>kubernetes-maven-plugin</artifactId>
     <version>${jkube.version}</version>
 </plugin>

Mena ka whakamahia te OpenShift hei utu mo nga Kubernetes parakore, ka whakarereketia te pom.xml penei:

<plugin>
     <groupId>org.eclipse.jkube</groupId>
     <artifactId>openshift-maven-plugin</artifactId>
     <version>${jkube.version}</version>
 </plugin>

Hipanga 2. Hangaia te ahua docker

Ka taea te hanga i te konae JAR o te tono me te tono mokihi mvn, katahi ka taea te mahi mvn goal k8s:build ki te hanga whakaahua docker o te tono. Kia mahara kua whakakorehia e matou te ingoa whakaahua taunoa me tenei taonga:

<jkube.generator.name>docker.io/rohankanojia/random-generator:${project.version}</jkube.generator.name>

I mua i te hanga i te ahua, me mohio koe kei te whakaatu tika te daemon docker. Ka taea tenei ma te whakahau e whai ake nei:

$ eval $(minikube docker-env)

Na ka uru matou ki te mvn k8s: hanga whakahau, a koinei te mea ka kitea e matou i runga i te mata i te wa e hanga ana te ahua docker ma te whakamahi i te mahi hanga 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 : $

Hipanga 3. Tukuna te ahua ki te rehita docker

I muri i to maatau hanga i te ahua docker me te rehita pana kua whirihorahia (i roto i ta maatau take he docker.io), ka taea e matou te tuku i tenei ahua ki te rehita. Koinei te mea ka whakaatuhia i muri i ta maatau tono ki a Eclipse JKube kia mahia te mahi mvn k8s: pana pana:

~/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 : $ 

I muri i te tuku i te ahua, me tirotiro koe kei roto i te rehita. I roto i a maatau, ka kite noa matou i te Docker Hub, penei i te Whakaatu. 4.

Te whakawhanake i nga tono Java mo nga Kubernetes e whakamahi ana i te Eclipse JKube

raihi. 4. Ko te ahua i tukuna ki te rehita i puta i Docker Hub.

Hipanga 4. Hangaia nga whakaaturanga rauemi Kubernetes mo te tono

Na, kua kohia e matou te ahua tono, inaianei me tuhi nga whakaaturanga Kubernetes. Hei mahi i tenei, he mahi ta Eclipse JKube e whakaputa ana i nga whakaaturanga rauemi pakari i runga i te anga Java kei raro (Puka puna, quarkus, Vert.x etahi atu ranei). Ka taea hoki e koe te whakarite i te whakaaturanga ma te whakamahi i te konae whirihoranga XML me te whakatakoto i nga kongakonga mata (nga kongakonga o te whakaaturanga rauemi e hiahiatia ana) ki te kōpaki tono src/main/jkube. I tenei keehi, ka tukuna to whirihoranga ki nga whakaaturanga kua mahia.

I roto i ta maatau tauira, ka waiho e matou nga mea katoa, na reira ka hangaia e Eclipse JKube he whakaaturanga mo te tukunga taunoa me te ratonga me te momo ClusterIP. Na ka whakarerekēhia te whakaaturanga ratonga hei huri i te momo ratonga ki NodePort. Ka taea e koe te whakakore i te whanonga taunoa ma te whakamahi i nga taonga e whai ake nei:

<jkube.enricher.jkube-service.type>NodePort</jkube.enricher.jkube-service.type>

Koinei te ahua o te putanga mata i muri i to tono ki a Eclipse JKube kia mahia te mvn k8s: mahi rauemi rauemi.

~/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 : $

Hipanga 5. Hoatuhia te tono ki te roopu Kubernetes

Inaianei kua rite taatau ki te tuku i te tono: kua hangaia e matou tona ahua, katahi ka whakaputa aunoa i nga whakaaturanga rauemi. Inaianei ko nga mea e toe ana ko te whakamahi i enei mea katoa ki te roopu Kubernetes. Ki te tohatoha i te tono, ka taea e koe te whakamahi i te kubectl tono -f whakahau, engari ka taea e te mono te mahi ma tatou. Koinei te mea ka puta ki te mata i muri i ta maatau tono ki a Eclipse JKube kia mahia nga mvn k8s: tono tono mahi:

~/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"
}

Hipanga 6. Wetewete tono mai i te roopu Kubernetes

Ki te mahi i tenei, ka whakamahia te mahi wetewete, ka tango noa i nga rauemi katoa i whakamahia i te waahanga o mua, ara, ka mahia te mahi tono. Koinei te mea ka kitea e matou i runga i te mata i muri i ta matou tono ki a Eclipse JKube ki te mahi i nga mahi mvn k8s: wetewete i te mahi:

~/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 : $

He aha atu ka taea e koe me Eclipse JKube

Na, i titiro matou ki nga mahi whainga matua a Eclipse JKube me Kubernetes Maven Plugin, e whakahaere ana i te whakawhanaketanga o nga tono Java mo te papaaho Kubernetes. Mena kaore koe e hiahia ki te whakauru tonu i enei mahi mai i te papapātuhi, ka taea e koe te tuhi i roto i te whirihoranga mono, hei tauira, penei:

<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>

Me kii kei roto i tenei tuhinga kaore i whakaarohia e matou nga mahi whainga katoa kei roto i te Eclipse JKube me te Kubernetes Maven Plugin, na reira ka hoatu e matou ki te Ripanga 2 he rarangi o nga mahi taapiri ka whai hua pea ki a koe.

Ripanga 2. Nga mahi whainga a Eclipse JKube.

Whāinga
Tuhinga
Whakaahuatanga

k8s: roko
WHAKAMAHI
Te whiwhi rangitaki mai i tetahi tono e whakahaere ana i runga i nga Kubernetes.

k8s:patu
mōkī
Whakatuwheratia he tauranga patuiro kia taea e koe te patuiro i to tono e rere tika ana i runga i te Kubernetes mai i te IDE.

k8s: toha
Tāuta
Te hanga marau mo te mahi Tāuta me te whakamahi i nga whakaaturanga i hangaia ki te roopu Kubernetes kia rite ki te ahua o te mahi tono.

k8s:mataara
mōkī
Te tuku wera aunoa o tetahi tono ma te whai i tana mokowāingoa.

Te tuku tono Java i runga i te Red Hat OpenShift Ma te whakamahi i te OpenShift Maven monomai

Hei tuku i te tono mai i ta maatau tauira i runga i te papanga Red Hat OpenShift, ka whakamahia e matou te mono OpenShift Maven. Ko te rereke anake ko te hurihanga o te mahi prefix mai i te k8s ki te oc. Ma te taunoa ka mahia e te monomai Kubernetes Maven toka-huihuinga, me te mono OpenShift Maven - huihuinga S2I. Kaore matou e whakarereke i to maatau kaupapa i tua atu i te tango i te taonga jkube.generator.name na te mea kaore e hiahiatia ana i te wa e pana ana ki te rehitatanga (Ka tuu e OpenShift te ahua ki roto i tana rehitatanga o roto i te waa hanga). A koinei te mea ka puta mai i runga i te mata i te wa e whakahaere ana tatou i ta tatou tauira, na te ara, ka mahia e tatou nga mahi whainga kaore i te wa kotahi, engari i te wa kotahi:

~/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 : $

Akoranga ataata

Ki te ako atu me pehea te whakangwari ake i te whanaketanga Kubernetes me Eclipse JKube, mataki i tenei akoranga ataata me pehea te tuku tere i tetahi tono Spring Boot ngawari ki Minikube:

mutunga

I roto i tenei tuhinga, i whakaatu matou me pehea a Eclipse JKube e ngawari ake ai te oranga mo tetahi kaiwhakawhanake Java i te wa e mahi tahi ana me Kubernetes. Ka kitea etahi atu korero mo Eclipse JKube i paetukutuku kaupapa me te GitHub.

Source: will.com

Tāpiri i te kōrero