Shekaru 25 da suka gabata, Java ya shiga babban tsarin shirye-shirye kuma a ƙarshe ya zama ɗaya daga cikin mahimman abubuwan da aka gina tarun aikace-aikacen kewaye da su. A yau, duk da haka, mutane da yawa da ƙungiyoyi da suka kasance masu aminci ga Java shekaru da yawa suna shagaltuwa da ƙaura ko yin la'akari da ƙaura zuwa dandamali.
Abin takaici, Kubernetes yana da tsarin koyo mai zurfi kuma ya gabatar da wani nau'in aiki a cikin tsarin ci gaba wanda masu shirye-shiryen Java suka saba da su. A yau za mu gaya muku yadda ake amfani da shi
Tsarin Ci gaban Java na gargajiya
Tsarin ci gaban al'ada
Shinkafa 1. Tsarin ci gaban Java na al'ada.
Tsarin Ci gaban Java don Cloud
Lokacin matsawa zuwa aikace-aikacen girgije, Kubernetes da
Ana nuna metamorphosis na tsarin ci gaban Java na al'ada a cikin sauyawa zuwa gajimare a cikin siffa. 2.
Shinkafa 2. Tsarin ci gaban Java don girgije.
Eclipse JKube
Ƙaura zuwa Kubernetes yana ƙara wani aiki mai aiki zuwa tsarin ci gaba, kuma yawancin masu haɓakawa suna jin tsoro game da shi saboda suna so su mayar da hankali kan ainihin aikin su - ma'anar aikace-aikacen - maimakon yadda za a tura su. Kuma wannan shi ne inda ya zo cikin wasa.
A cikin sauran wannan labarin, za mu nuna muku yadda ake sauƙaƙe tsarin ci gaban Java a cikin yanayin Kubernetes ta amfani da Eclipse JKube tare da Kubernetes Maven Plugin.
Tsarin Haɓaka Gajimare Ta Amfani da Eclipse JKube
Bari mu yi la'akari da wani ɗan gyara na tsarin ci gaban Java don gajimare daga siffa 2, gabatar da Eclipse JKube da Kubernetes Maven Plugin a ciki, kamar yadda aka nuna a cikin siffa. 3.
Shinkafa 3. Tsarin ci gaban Java don girgije ta amfani da Eclipse JKube.
Kamar yadda muke iya gani, a nan duk ayyukan don hulɗa tare da Kubernetes da kwantena (wanda aka haskaka a cikin ja a cikin zane) an maye gurbinsu ta hanyar tsoho Eclipse JKube ayyukan burin, waɗanda aka jera a cikin Tebur. 1.
Tebur 1. Eclipse JKube tsoho ayyuka.
Manufar
Stage
Description
PRE_INTEGRATION_TEST
Hotunan ginin docker
shigar
Ana loda hotunan docker zuwa wurin yin rajista
PROCESS_RESOURCES
Samar da K8s yana bayyana
HADA
Aiwatar da abubuwan bayyanawa ga K8s
RASHIN TSARO
Cire albarkatun K8s waɗanda aka tura ta amfani da k8s: aikace-aikace da k8s: turawa
Note: Idan ba kwa son ɗawainiya don amfani da waɗannan ɓangarorin ra'ayi, zaku iya saita Eclipse JKube da hannu don kanku, tunda yana goyan bayan sanyi ta hanyar.
Yanzu bari mu kalli misalan amfani da Eclipse JKube da Kubernetes Maven Plugin yayin aiki tare da aikace-aikace.
Aiwatar da aikace-aikacen Java akan Kubernetes Amfani da Eclipse JKube
A cikin wannan misalin za mu tura aikace-aikacen Java mai sauƙi akan gungu
A matsayin misali aikace-aikace muna amfani
~/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"
}
Mataki 1. Zazzage Kubernetes Maven Plugin
Kubernetes Maven Plugin yana cikin ma'ajiya
<plugin>
<groupId>org.eclipse.jkube</groupId>
<artifactId>kubernetes-maven-plugin</artifactId>
<version>${jkube.version}</version>
</plugin>
Idan an yi amfani da OpenShift maimakon kubernetes mai tsabta, to an gyara pom.xml kamar haka:
<plugin>
<groupId>org.eclipse.jkube</groupId>
<artifactId>openshift-maven-plugin</artifactId>
<version>${jkube.version}</version>
</plugin>
Mataki 2. Gina hoton docker
Ana iya gina fayil ɗin JAR na aikace-aikacen tare da umarnin fakitin mvn, sannan ana iya amfani da aikin mvn burin k8s:build don gina hoton docker na aikace-aikacen. Lura cewa mun soke tsohon sunan hoton da wannan kadara:
<jkube.generator.name>docker.io/rohankanojia/random-generator:${project.version}</jkube.generator.name>
Kafin gina hoton, kuna buƙatar tabbatar da cewa docker daemon ya fallasa daidai. Ana iya yin wannan tare da umarni mai zuwa:
$ eval $(minikube docker-env)
Sa'an nan kuma mu shigar da mvn k8s:build umurnin, kuma wannan shi ne abin da za mu gani a kan allo lokacin gina docker image ta amfani da Eclipse JKube gina aikin:
~/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 : $
Mataki 3. Loda hoton zuwa wurin rajistar docker
Bayan mun gina hoton docker tare da saita rajistar turawa (a yanayin mu shine docker.io), zamu iya aika wannan hoton zuwa wurin yin rajista. Wannan shine abin da za'a nuna bayan mun tambayi Eclipse JKube don aiwatar da aikin mvn k8s: tura turawa:
~/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 : $
Bayan aika hoton, kuna buƙatar bincika cewa an haɗa shi a cikin rajista. A cikin yanayinmu, kawai muna ganin shi a Docker Hub, kamar yadda aka nuna a cikin siffa. 4.
Shinkafa 4. Hoton da aka aika zuwa wurin rajista ya bayyana a Docker Hub.
Mataki 4. Ƙirƙirar Kubernetes albarkatun bayyana don aikace-aikacen
Don haka, mun tattara hoton aikace-aikacen, yanzu muna buƙatar rubuta alamun Kubernetes. Don yin wannan, Eclipse JKube yana da ɗawainiya wanda ke haifar da ƙayyadaddun bayanai masu ƙarfi bisa tushen tsarin Java (
A cikin misalinmu, mun bar komai kamar yadda yake, sabili da haka Eclipse JKube yana haifar da bayyananniyar ƙaddamarwa ta asali da kuma sabis tare da nau'in ClusterIP. Kuma kawai sai mu canza bayanin sabis don canza nau'in sabis zuwa NodePort. Kuna iya soke dabi'ar da aka saba amfani da ita ta amfani da dukiya mai zuwa:
<jkube.enricher.jkube-service.type>NodePort</jkube.enricher.jkube-service.type>
Wannan shine yadda fitowar allo tayi kama bayan mun tambayi Eclipse JKube don aiwatar da aikin mvn k8s: albarkatun albarkatun.
~/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 : $
Mataki 5. Aika aikace-aikacen zuwa gungu na Kubernetes
Yanzu duk mun shirya don tura aikace-aikacen: mun ƙirƙira hoton sa sannan kuma mu fito da bayanan albarkatun ta atomatik. Yanzu abin da ya rage shi ne a yi amfani da duk wannan zuwa gungu na Kubernetes. Don tura aikace-aikacen, za ku iya, ba shakka, amfani da kubectl apply -f umurnin, amma plugin ɗin zai iya yi mana wannan. Wannan shine abin da zai bayyana akan allon bayan mun tambayi Eclipse JKube don aiwatar da mvn k8s: aikace-aikacen aikace-aikacen:
~/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"
}
Mataki 6. Cire aikace-aikace daga gungu na Kubernetes
Don yin wannan, ana amfani da aikin da ba a haɗa shi ba, wanda kawai yana cire duk albarkatun da aka yi amfani da su a mataki na baya, wato, lokacin da aka aiwatar da aikin. Wannan shine abin da zamu gani akan allon bayan mun tambayi Eclipse JKube don yin aikin 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 : $
Me kuma za ku iya yi da Eclipse JKube
Don haka, mun kalli manyan ayyukan manufa na Eclipse JKube da Kubernetes Maven Plugin, waɗanda ke sauƙaƙe haɓaka aikace-aikacen Java don dandalin Kubernetes. Idan ba ka so ka shigar da waɗannan ayyuka akai-akai daga maballin, za ka iya rubuta su a cikin tsarin plugin, misali, kamar haka:
<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>
Dole ne a faɗi cewa a cikin wannan labarin ba mu yi la'akari da duk ayyukan burin da ke cikin Eclipse JKube da Kubernetes Maven Plugin ba, don haka mun samar da jerin ƙarin ayyuka waɗanda kuma za su iya amfani da ku a cikin Tebur 2.
Tebur 2. Ƙarin Eclipse JKube ayyukan burin.
Manufar
Stage
Description
GASKIYA
Karɓar rajistan ayyukan daga aikace-aikacen da ke gudana akan Kubernetes.
kunshin
Bude tashar cire bugu don haka zaku iya cire aikace-aikacenku da ke gudana akan Kubernetes kai tsaye daga IDE.
shigar
Ƙirƙirar cokali mai yatsa don aikin Shigarwa da yin amfani da abubuwan da aka haifar zuwa gungu na Kubernetes kamar yadda yake a cikin yanayin aikin da aka yi.
kunshin
Aiwatar da aikace-aikace mai zafi ta atomatik ta hanyar bibiyar sunan sa.
Aiwatar da aikace-aikacen Java akan Red Hat OpenShift Amfani da OpenShift Maven Plugin
Don tura aikace-aikacen daga misalinmu akan dandalin Red Hat OpenShift, muna amfani da plugin ɗin
~/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 : $
Darasi na Bidiyo
Don ƙarin koyo game da yadda ake sauƙaƙe ci gaban Kubernetes tare da Eclipse JKube, kalli wannan koyawa ta bidiyo akan yadda ake saurin tura aikace-aikacen Boot mai sauƙi a kan Minikube:
ƙarshe
A cikin wannan labarin, mun nuna yadda Eclipse JKube ke sauƙaƙe rayuwa ga mai haɓaka Java yayin aiki tare da Kubernetes. Ana iya samun ƙarin bayani akan Eclipse JKube a
source: www.habr.com