25 کاله دمخه ، جاوا د برنامو اصلي جریان ته ننوتل او په نهایت کې یو له اصلي عناصرو څخه شو چې شاوخوا یې د غوښتنلیک سټیکونه جوړ شوي. په هرصورت، نن ورځ ډیری خلک او سازمانونه چې د ډیرو کلونو لپاره جاوا ته وفادار دي په مهاجرت بوخت دي یا پلیټ فارم ته د مهاجرت په اړه فکر کوي.
له بده مرغه، کوبرنیټس د زده کړې سخت وکر لري او د پراختیا پروسې ته یو بل عملیاتي پرت معرفي کوي چې د جاوا پروګرام کونکي ورسره عادی دي. نن موږ به تاسو ته ووایو چې څنګه کارول کیږي
د دودیز جاوا پراختیا پروسه
دودیز پرمختګ بهیر
وريجې. 1. د دودیز جاوا پراختیا پروسه.
د کلاوډ لپاره د جاوا پراختیا پروسه
کله چې کلاوډ غوښتنلیکونو ته لاړشئ ، Kubernetes او
بادل ته په لیږد کې د دودیز جاوا پراختیا پروسې میټامورفوسس په انځور کې ښودل شوی. 2.
وريجې. 2. د بادل لپاره د جاوا پراختیا پروسه.
Eclipse JKube
Kubernetes ته مهاجرت د پراختیا پروسې ته بل عملیاتي پرت اضافه کوي، او ډیری پراختیا کونکي د دې په اړه اندیښمن دي ځکه چې دوی غواړي د دوی د ځای پرځای کولو پر ځای د دوی اصلي کار - د غوښتنلیک منطق باندې تمرکز وکړي. او دا هغه ځای دی چې دا لوبې ته راځي.
د دې مقالې په پاتې برخه کې ، موږ به تاسو ته وښیو چې څنګه د کوبرنیټس ماون پلگ ان سره د Eclipse JKube په کارولو سره د کوبرنیټس چاپیریال کې د جاوا پراختیا پروسه ساده کړئ.
د Eclipse JKube په کارولو سره د کلاوډ پراختیا پروسه
راځئ چې د انځور 2 څخه د کلاوډ لپاره د جاوا پراختیا یو څه بدل شوی سکیم په پام کې ونیسو، په دې کې د Eclipse JKube او Kubernetes Maven Plugin معرفي کول، لکه څنګه چې په انځور کې ښودل شوي. 3.
وريجې. 3. د Eclipse JKube په کارولو سره د بادل لپاره د جاوا پراختیا پروسه.
لکه څنګه چې موږ لیدلی شو، دلته د Kubernetes او کانټینرونو سره د تعامل لپاره ټول عملیات (په ډیاګرام کې په سور کې روښانه شوي) د ډیفالټ Eclipse JKube هدف دندو لخوا بدل شوي، کوم چې په جدول کې لیست شوي. 1.
میز 1. Eclipse JKube ډیفالټ دندې.
موخه
مرحله
شرح
PRE_INTEGRATION_TEST
د ډاکر عکسونو جوړول
لګول
راجسټری ته د ډاکر عکسونه اپلوډ کول
PROCESS_RESOURCES
د K8s څرګندونه تولیدوي
COMPILE
په K8s کې د تولید شوي مینیفیسټونو پلي کول
بې کاره
د K8s سرچینې لرې کول چې د k8s:apply او k8s: deploy په کارولو سره ګمارل شوي
نوټ: که تاسو نه غواړئ دندې د دې نظر شوي ډیفالټ کارولو لپاره کاروئ ، تاسو کولی شئ په لاسي ډول د ځان لپاره Eclipse JKube تنظیم کړئ ، ځکه چې دا د دې له لارې د ترتیب ملاتړ کوي
اوس راځئ چې د غوښتنلیکونو سره کار کولو پرمهال د Eclipse JKube او Kubernetes Maven Plugin کارولو مثالونو ته وګورو.
د Eclipse JKube په کارولو سره په کبرنیټس کې د جاوا غوښتنلیک ځای په ځای کول
پدې مثال کې به موږ په کلستر کې د ساده جاوا غوښتنلیک ځای په ځای کړو
د مثال په توګه موږ کاروو
~/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"
}
مرحله 1. د کوبرنیټس ماون پلگ ان ډاونلوډ کړئ
Kubernetes Maven Plugin په ذخیره کې دی
<plugin>
<groupId>org.eclipse.jkube</groupId>
<artifactId>kubernetes-maven-plugin</artifactId>
<version>${jkube.version}</version>
</plugin>
که OpenShift د خالص Kubernetes پرځای کارول کیږي، نو بیا pom.xml په لاندې ډول تعدیل کیږي:
<plugin>
<groupId>org.eclipse.jkube</groupId>
<artifactId>openshift-maven-plugin</artifactId>
<version>${jkube.version}</version>
</plugin>
مرحله 2. د ډاکر عکس جوړ کړئ
د غوښتنلیک د JAR فایل د mvn بسته کمانډ سره جوړ کیدی شي ، او بیا د mvn هدف کاري k8s:build د غوښتنلیک د ډاکر عکس جوړولو لپاره کارول کیدی شي. په یاد ولرئ چې موږ د دې ملکیت سره د ډیفالټ عکس نوم له پامه غورځولی دی:
<jkube.generator.name>docker.io/rohankanojia/random-generator:${project.version}</jkube.generator.name>
د عکس جوړولو دمخه ، تاسو اړتیا لرئ ډاډ ترلاسه کړئ چې د ډاکر ډیمون په سمه توګه څرګند شوی. دا د لاندې کمانډ سره ترسره کیدی شي:
$ eval $(minikube docker-env)
بیا موږ د mvn k8s:build کمانډ ته ننوځو ، او دا هغه څه دي چې موږ به یې په سکرین کې وګورو کله چې د 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 : $
مرحله 3. عکس د ډاکر راجسټری ته پورته کړئ
وروسته له دې چې موږ د ډاکر عکس د پش راجسټري ترتیب سره جوړ کړو (زموږ په قضیه کې دا docker.io دی) ، موږ کولی شو دا عکس راجسټری ته واستوو. دا هغه څه دي چې وروسته له هغه به ښکاره شي چې موږ د Eclipse JKube څخه غوښتنه کوو چې د 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 : $
د عکس لیږلو وروسته ، تاسو اړتیا لرئ چیک کړئ چې دا په راجسټری کې شامل دی. زموږ په قضیه کې، موږ دا په ساده ډول په ډاکر هب کې ګورو، لکه څنګه چې په انځور کې ښودل شوي. 4.
وريجې. 4. راجسټری ته لیږل شوی عکس په ډاکر هب کې څرګند شو.
4 ګام. د غوښتنلیک لپاره د Kubernetes سرچینې څرګندونه تولید کړئ
نو، موږ د اپلیکیشن عکس راټول کړ، اوس موږ اړتیا لرو چې د کبرنیټس څرګندونه ولیکئ. د دې کولو لپاره، Eclipse JKube یوه دنده لري چې د جاوا د بنسټیز چوکاټ پراساس د سختو سرچینو څرګندونه رامینځته کوي (
زموږ په مثال کې ، موږ هرڅه لکه څنګه چې دي پریږدو ، او له همدې امله Eclipse JKube د ډیفالټ ځای په ځای کولو او د کلسټر IP ډول سره د خدمت لپاره څرګندونه رامینځته کوي. او یوازې بیا موږ د خدمت ډول بدلولو لپاره د خدمت منشور بدلوو نوډ پورټ ته. تاسو کولی شئ د لاندې ملکیت په کارولو سره ډیفالټ چلند بیرته راوباسئ:
<jkube.enricher.jkube-service.type>NodePort</jkube.enricher.jkube-service.type>
دا هغه څه دي چې د سکرین محصول وروسته له هغه ښکاري چې موږ له Eclipse JKube څخه وغوښتل چې د mvn k8s: resource سرچینې دنده ترسره کړي.
~/work/repos/eclipse-jkube-demo-project : $ mvn k8s:resource
[INFO] Scanning for projects...
[INFO]
[INFO] ----------------------< meetup:random-generator >-----------------------
[INFO] Building random-generator 0.0.1
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- kubernetes-maven-plugin:1.0.0-rc-1:resource (default-cli) @ random-generator ---
[INFO] k8s: Running generator spring-boot
[INFO] k8s: spring-boot: Using Docker image quay.io/jkube/jkube-java-binary-s2i:0.0.7 as base / builder
[INFO] k8s: jkube-controller: Adding a default Deployment
[INFO] k8s: jkube-service: Adding a default service 'random-generator' with ports [8080]
[INFO] k8s: jkube-healthcheck-spring-boot: Adding readiness probe on port 8080, path='/actuator/health', scheme='HTTP', with initial delay 10 seconds
[INFO] k8s: jkube-healthcheck-spring-boot: Adding liveness probe on port 8080, path='/actuator/health', scheme='HTTP', with initial delay 180 seconds
[INFO] k8s: jkube-revision-history: Adding revision history limit to 2
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.344 s
[INFO] Finished at: 2020-08-10T11:38:11+05:30
[INFO] ------------------------------------------------------------------------
~/work/repos/eclipse-jkube-demo-project : $ ls target/classes/META-INF/jkube/kubernetes
random-generator-deployment.yml random-generator-service.yml
~/work/repos/eclipse-jkube-demo-project : $ cat target/classes/META-INF/jkube/kubernetes/random-generator-deployment.yml | head -n10
---
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
jkube.io/git-url: [email protected]:rohanKanojia/eclipse-jkube-demo-project.git
jkube.io/git-commit: 1ef9ef2ef7a6fcbf8eb64c293f26f9c42d026512
jkube.io/git-branch: master
jkube.io/scm-url: https://github.com/spring-projects/spring-boot/spring-boot-starter-parent/random-generator
jkube.io/scm-tag: HEAD
~/work/repos/eclipse-jkube-demo-project : $
5 ګام. غوښتنلیک د کوبرنیټس کلستر ته ځای په ځای کړئ
اوس موږ ټول د غوښتنلیک ځای په ځای کولو لپاره چمتو یو: موږ د هغې عکس رامینځته کړی او بیا په اتوماتيک ډول د سرچینې څرګندونه رامینځته شوې. اوس ټول هغه څه پاتې دي چې دا ټول د کبرنیټس کلستر کې پلي کول دي. د غوښتنلیک د ځای پرځای کولو لپاره، تاسو کولی شئ، البته، د kubectl apply -f کمانډ وکاروئ، مګر پلگ ان زموږ لپاره دا کار کولی شي. دا هغه څه دي چې وروسته له هغه به په سکرین کې څرګند شي چې موږ له Eclipse JKube څخه غوښتنه کوو چې mvn k8s اجرا کړي: د پلي کولو دنده:
~/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"
}
شپږم ګام. د کوبرنیټس کلستر څخه غوښتنلیکونه بې ځایه کړئ
د دې کولو لپاره ، د بې کاره کولو دنده کارول کیږي ، کوم چې په ساده ډول ټولې سرچینې لرې کوي چې په تیر مرحله کې پلي شوي ، دا دی ، کله چې د پلي کولو دنده اجرا کیږي. دا هغه څه دي چې موږ به یې په سکرین کې وګورو وروسته له دې چې موږ له Eclipse JKube څخه وغوښتل چې د 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 : $
تاسو د Eclipse JKube سره نور څه کولی شئ
نو، موږ د Eclipse JKube او Kubernetes Maven Plugin اصلي هدف دندې ته کتنه وکړه، کوم چې د کوبرنیټس پلیټ فارم لپاره د جاوا غوښتنلیکونو پراختیا اسانه کوي. که تاسو نه غواړئ دا دندې په دوامداره توګه د کیبورډ څخه داخل کړئ، تاسو کولی شئ دا د پلگ ان ترتیب کې ولیکئ، د بیلګې په توګه، دا ډول:
<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>
دا باید وویل شي چې پدې مقاله کې موږ ټول هدف دندې په پام کې نه دي نیولي چې په Eclipse JKube او Kubernetes Maven Plugin کې دي، نو موږ په جدول 2 کې د اضافي کارونو لیست چمتو کوو چې ممکن ستاسو لپاره ګټور وي.
میز 2. اضافي Eclipse JKube هدف دندې.
موخه
مرحله
شرح
تایید کړئ
په کوبرنیټس کې روان غوښتنلیک څخه د لاګونو ترلاسه کول.
بنډل
د ډیبګ پورټ پرانیزئ نو تاسو کولی شئ خپل غوښتنلیک په مستقیم ډول د IDE څخه په Kubernetes کې ډیبګ کړئ.
لګول
د نصب کار لپاره د فورک رامینځته کول او د کوبرنیټس کلستر ته د تولید شوي مینی فیسټونو پلي کول په ورته ډول د پلي شوي دندې په قضیه کې.
بنډل
د خپل نوم ځای تعقیبولو سره د غوښتنلیک اتوماتیک ګرم ځای په ځای کول.
د OpenShift Maven پلگ ان په کارولو سره په Red Hat OpenShift کې د جاوا غوښتنلیکونه ځای پرځای کول
د Red Hat OpenShift پلیټ فارم کې زموږ د مثال څخه د غوښتنلیک ځای پرځای کولو لپاره، موږ پلگ ان کاروو
~/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 : $
ویډیو درس
د Eclipse JKube سره د Kubernetes پراختیا اسانه کولو څرنګوالي په اړه د نورو معلوماتو لپاره ، دا ویډیو ټیوټوریل وګورئ چې څنګه په مینیکیوب کې د پسرلي بوټ ساده غوښتنلیک ګړندي ځای په ځای کړئ:
پایلې
پدې مقاله کې ، موږ وښودل چې څنګه Eclipse JKube د جاوا پراختیا کونکي لپاره ژوند اسانه کوي کله چې د کبرنیټس سره کار کوي. د Eclipse JKube په اړه نور معلومات دلته موندلی شئ
سرچینه: www.habr.com