25 แฌแแแก แฌแแ, แฏแแแ แจแแแแแ แแ แแแ แแแแ แแแแก แแแแแกแขแ แแแจแ แแ แกแแแแแแแ แแแฎแแ แแ แ-แแ แแ แซแแ แแแแแ แแแแแแแขแ, แ แแแแแก แแ แแแแแ แแแแแแแชแแแแแก แกแขแแแแแ แจแแแแแแ. แแฃแแชแ, แแฆแแก แแแแ แ แแแแแแแแ แแ แแ แแแแแแแชแแ, แ แแแแแแแช แแ แแแแแ แฌแแแแ แฏแแแแก แแ แแแฃแแ แแ แแแ, แแแแแแแแฃแแ แแ แแแ แแแแ แแชแแแ แแ แแแแขแคแแ แแแแ แแแแแกแแแแก แแแแฎแแแแแ.
แกแแแฌแฃแฎแแ แแ, Kubernetes-แก แแฅแแก แชแแชแแแ แกแฌแแแแแก แแ แฃแแ แแ แแแ แแแแก แกแฎแแ แแแแ แแชแแฃแ แคแแแแก แแแแแแแแ แแแแก แแ แแชแแกแจแ, แ แแแแแกแแช แแแฉแแแฃแแ แแ แแแ Java แแ แแแ แแแแกแขแแแ. แแฆแแก แฉแแแ แแแขแงแแแ แ แแแแ แแแแแแงแแแแ
แฏแแแแก แแแแแแแแ แแแแก แขแ แแแแชแแฃแแ แแ แแชแแกแ
แขแ แแแแชแแฃแแ แแแแแแแแ แแแแก แแ แแชแแกแ
แแ แแแฏแ. 1. แขแ แแแแชแแฃแแ แฏแแแแก แแแแแแแแ แแแแก แแ แแชแแกแ.
Java แแแแแแแแ แแแแก แแ แแชแแกแ Cloud-แแกแแแแก
แฆแ แฃแแแ แแแแแแแชแแแแแ แแแแแกแแแแกแแก, Kubernetes แแ
แขแ แแแแชแแฃแแ แฏแแแแก แแแแแแแแ แแแแก แแ แแชแแกแแก แแแขแแแแ แคแแแ แฆแ แฃแแแแแ แแแแแกแแแแกแแก แแแฉแแแแแแแ แแแฎ. 2.
แแ แแแฏแ. 2. แฏแแแแก แแแแแแแแ แแแแก แแ แแชแแกแ แฆแ แฃแแแแกแแแแก.
Eclipse JKube
Kubernetes-แจแ แแแแ แแชแแ แแแแแ แแ แ แแแแ แแชแแฃแ แคแแแแก แแแแขแแแก แแแแแแแแ แแแแก แแ แแชแแกแก แแ แแแแ แ แแแแแแแแแ แ แแแ แแแฃแแแแก แแแแแ, แ แแแแแ แแแ แกแฃแ แ แคแแแฃแกแแ แแแ แแแแฎแแแแแ แแแแแแแ แซแแ แแแแ แกแแแฃแจแแแแ - แแแแแแแชแแแก แแแแแแแแ - แแ แแ แ แแแแแ, แแฃ แ แแแแ แแแแแแแแกแแ แแกแแแ. แแ แแก แแ แแก แกแแแแช แแก แแแฅแแแแแแก.
แแ แกแขแแขแแแก แแแแแ แฉแแ แแแฌแแแจแ แฉแแแ แแแฉแแแแแแ, แแฃ แ แแแแ แฃแแแ แแแแแแ แขแแแแ แฏแแแแก แแแแแแแแ แแแแก แแ แแชแแกแ Kubernetes-แแก แแแ แแแแจแ Eclipse JKube-แแก แแแแแงแแแแแแ Kubernetes Maven Plugin-แแ.
แฆแ แฃแแแแก แแแแแแแแ แแแแก แแ แแชแแกแ Eclipse JKube-แแก แแแแแงแแแแแแ
แแแแแ แแแแแแฎแแแแ แฆแ แฃแแแแกแแแแก Java-แก แแแแแแแแ แแแแก แแแแแ แจแแชแแแแแ แกแฅแแแ แแแฎ. 2-แแแ, แจแแแแแแแฅแแก แแแกแจแ Eclipse JKube แแ Kubernetes Maven Plugin, แ แแแแ แช แแแฉแแแแแแแ แแแฎ. 3.
แแ แแแฏแ. 3. แฏแแแแก แแแแแแแแ แแแแก แแ แแชแแกแ แฆแ แฃแแแแกแแแแก Eclipse JKube-แแก แแแแแงแแแแแแ.
แ แแแแ แช แแฎแแแแแ, แแฅ Kubernetes-แแแ แแ แแแแขแแแแแ แแแแแ แฃแ แแแแ แแแแแก แงแแแแ แแแแ แแชแแ (แแแแแ แแแแแ แฌแแแแแ แฎแแแแแกแแฃแแ) แฉแแแแชแแแแแฃแแแ แแแแฃแแแกแฎแแแแ Eclipse JKube แแแแแแแ แแแ แแแแชแแแแแแ, แ แแแแแแแช แฉแแแแแแแแแแ แชแฎแ แแแจแ. 1.
แแแแแแ 1. Eclipse JKube แแแแฃแแแกแฎแแแแ แแแแชแแแแแ.
แแแแแแแแ
แแขแแแ
แแฆแฌแแ แ
PRE_INTEGRATION_TEST
แแแแแ แแก แกแฃแ แแแแแแก แแจแแแแแแแแ
แฒแฒแฒแฒแฒกแฒขแฒแฒแฒแฒ แฒแฒแฒ
แแแแแ แแก แกแฃแ แแแแแแก แแขแแแ แแแ แ แแแกแขแ แจแ
PROCESS_RESOURCES
K8s แแแแแคแแกแขแแแแก แแแแแ แแ แแแ
แจแแแแแแ
แแแแแ แแ แแแฃแแ แแแแแคแแกแขแแแแก แแแแแงแแแแแ K8-แแแแ
UNDPLOY
K8s แ แแกแฃแ แกแแแแก แฌแแจแแ, แ แแแแแแแช แแแแแแแแแฃแแ แแงแ k8s:apply แแ k8s:deploy แแแแแงแแแแแแ
แจแแแแจแแแ: แแฃ แแ แแกแฃแ แ แแแแชแแแแแแ แแแแแแงแแแแ แแก แแแแฃแแแกแฎแแแแ แแแแฃแแแกแฎแแแแ แแแ แแแแขแ แแแ, แจแแแแซแแแแ แฎแแแแ แแแแแแแคแแแฃแ แแ แแ Eclipse JKube แแฅแแแแแแแก, แ แแแแแ แแก แแฎแแ แก แฃแญแแ แก แแแแคแแแฃแ แแชแแแก
แแฎแแ แแแแแ แจแแแฎแแแแ Eclipse JKube-แแกแ แแ Kubernetes Maven Plugin-แแก แแแแแงแแแแแแก แแแแแแแแแแก แแแแแแแชแแแแแแ แแฃแจแแแแแกแแก.
Java แแแแแแแชแแแก แแแงแแแแแ Kubernetes-แแ Eclipse JKube-แแก แแแแแงแแแแแแ
แแ แแแแแแแแจแ แฉแแแ แแแแแแแแแกแแแ แแแ แขแแ Java แแแแแแแชแแแก แแแแกแขแแ แแ
แฉแแแ แแแงแแแแแ แแแแแแแชแแแก แแแแแแแแก
~/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
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 build แแแแชแแแแก แแแแแงแแแแแแ:
~/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. แแขแแแ แแแ แกแฃแ แแแ แแแแแ แแก แ แแแกแขแ แจแ
แแแก แจแแแแแ, แ แแช แฉแแแ แจแแแฅแแแแ แแแแแ แแก แกแฃแ แแแก แแแแคแแแฃแ แแ แแแฃแแ push แ แแแกแขแ แแ (แฉแแแแก แจแแแแฎแแแแแจแ แแก แแ แแก 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 : $
แกแฃแ แแแแก แแแแแแแแแก แจแแแแแ, แแฅแแแ แฃแแแ แจแแแแแฌแแแ, แ แแ แแก แจแแแแก แ แแแกแขแ แจแ. แฉแแแแก แจแแแแฎแแแแแจแ, แฉแแแ แแแก แฃแแ แแแแ แแฎแแแแแ Docker Hub-แจแ, แ แแแแ แช แแแฉแแแแแแแ แแแฎ. 4.
แแ แแแฏแ. 4. แ แแแกแขแ แจแ แแแแแแแแแแ แกแฃแ แแแ Docker Hub-แจแ แแแแแฉแแแ.
แแแแแฏแ 4. แจแแฅแแแแแ Kubernetes แ แแกแฃแ แกแแก แแแแแคแแกแขแแแ แแแแแแแชแแแกแแแแก
แแกแ แ แแ, แฉแแแ แจแแแแแ แแแแ แแแแแชแฎแแแแก แกแฃแ แแแ, แแฎแแ แฉแแแ แฃแแแ แแแแฌแแ แแ Kubernetes manifests. แแแแกแแแแแก, Eclipse JKube-แก แแฅแแก แแแแแแแแ, แ แแแแแแช แฌแแ แแแฅแแแแก แฎแแกแขแ แ แแกแฃแ แกแแแแก แแแแแคแแกแขแแแก, แ แแแแแแช แแแคแฃแซแแแแฃแแแ แฏแแแแก แคแ แแแแแแ แแ (
แฉแแแแก แแแแแแแแจแ แฉแแแ แงแแแแแคแแ แก แแกแ แแขแแแแแ, แ แแแแ แช แแ แแก แแ, แจแแกแแแแแแกแแ, Eclipse JKube แแแแแแ แแ แแแก แแแแแคแแกแขแก แแแแฃแแแกแฎแแแแ แแแแแแแแแแกแแแแก แแ ClusterIP แขแแแแก แกแแ แแแกแแกแแแแก. แแ แแฎแแแแ แแแแก แจแแแแแ แฉแแแ แจแแแชแแแแ แกแแ แแแกแแก แแแแแคแแกแขแก, แ แแแ แจแแแชแแแแแ แกแแ แแแกแแก แขแแแ NodePort-แแ. แแฅแแแ แจแแแแซแแแแ แฃแแฃแแแแแแงแแ แแแแฃแแแกแฎแแแแ แฅแชแแแ แจแแแแแแ แแแแกแแแแก แแแแแงแแแแแแ:
<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. แแแแแแแแกแแ แแแแแแแชแแ Kubernetes แแแแกแขแแ แจแ
แแฎแแ แฉแแแ แแแแ แแแ แ แแแแแแแแแกแแ แแแแแแแชแแ: แฉแแแ แจแแแฅแแแแแ แแแกแ แกแฃแ แแแ แแ แจแแแแแ แแแขแแแแขแฃแ แแ แแแแแ แแ แแแฃแแ แ แแกแฃแ แกแแก แแแแแคแแกแขแแแ. แแฎแแ แ แฉแแแ แแฎแแแแ แแ แงแแแแแคแ แแก แแแแแงแแแแแ Kubernetes แแแแกแขแแ แแ. แแแแแแแชแแแก แแแแกแแแแแกแแแแแ, แ แ แแฅแแ แฃแแแ, แจแแแแซแแแแ แแแแแแงแแแแ kubectl application -f แแ แซแแแแแ, แแแแ แแ แแแแแแแขแก แจแแฃแซแแแ แแแแก แแแแแแแแ แฉแแแแแแแก. แแก แแ แแก แแก, แ แแช แแแแแฉแแแแแ แแแ แแแแ แแแก แจแแแแแ, แ แแช แแแฎแแแ Eclipse JKube-แก, แจแแแกแ แฃแแแก mvn k8s:apply application task:
~/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"
}
แแแแแฏแ 6. แแแแแแแแกแแ แแแแแแแชแแแแ Kubernetes แแแแกแขแแ แแแแ
แแแแกแแแแแก แแแแแแงแแแแแ undeploy แแแแชแแแ, แ แแแแแแช แฃแแ แแแแ แจแแแก แงแแแแ แ แแกแฃแ แกแก, แ แแแแแแช แแแแแงแแแแแฃแแ แแงแ แฌแแแ แแขแแแแ, แแแฃ แแแแแชแฎแแแแก แแแแแแแแแก แจแแกแ แฃแแแแแกแแก. แแก แแ แแก แแก, แ แแกแแช แฉแแแ แแแแแแแฎแแแ แแแ แแแแ แแแก แจแแแแแ, แ แแช แแแฎแแแ Eclipse JKube-แก แจแแแกแ แฃแแแก mvn k8s:undeploy undeploy แแแแแแแแ:
~/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-แแก แแแแแแ แแแแแแแ แแ แแแแชแแแแแก, แ แแแแแแแช แฎแแแก แฃแฌแงแแแแ Java แแแแแแแชแแแแแก แแแแแแแแ แแแแก Kubernetes แแแแขแคแแ แแแกแแแแก. แแฃ แแ แแกแฃแ แ แแฃแแแแแแ แจแแแงแแแแแ แแก แแแแชแแแแแ แแแแแแแขแฃแ แแแแ, แจแแแแซแแแแ แฉแแฌแแ แแ แแกแแแ แแแแแแแขแแก แแแแคแแแฃแ แแชแแแจแ, แแแแแแแแแ, แแกแ:
<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 แแแแแแแ แแแ แแแแชแแแแแ.
แแแแแแแแ
แแขแแแ
แแฆแฌแแ แ
แจแแแแแฌแแแ
แแฃแ แแแแแแแก แแแฆแแแ Kubernetes-แแ แแแจแแแแฃแแ แแแแแแแชแแแแแ.
แแแแแขแ
แแแฎแกแแแแ แแแแแ แแแแก แแแ แขแ, แ แแแ แจแแซแแแ แแฅแแแแ แแแแแแแชแแแก แแแแแ แแแ, แ แแแแแแช แแฃแจแแแแก Kubernetes-แแ แแแ แแแแแ IDE-แแแ.
แฒแฒแฒแฒแฒกแฒขแฒแฒแฒแฒ แฒแฒแฒ
Install แแแแชแแแแกแแแแก แฉแแแแแแก แจแแฅแแแ แแ แฌแแ แแแฅแแแแแ แแแแแคแแกแขแแแแก แแแแแงแแแแแ Kubernetes แแแแกแขแแ แจแ แแกแแแ, แ แแแแ แช แแแแแชแฎแแแแก แแแแแแแแแก แจแแแแฎแแแแแจแ.
แแแแแขแ
แแแแแแแชแแแก แแแขแแแแขแฃแ แ แชแฎแแแ แแแแแแแแแ แแแกแ แกแแฎแแแแแแก แกแแแ แชแแก แแแแแงแฃแ แแก แแแแแแ.
Java แแแแแแแชแแแแแก แแแงแแแแแ Red Hat OpenShift-แแ OpenShift Maven แแแแฃแแแก แแแแแงแแแแแแ
แแแแกแแแแแก, แ แแ แแแแแแแแกแแ แแแแแแแชแแ แฉแแแแ แแแแแแแแแแแ 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 : $
แแแแแ แแแแแแแแแ
แแแแกแแแแแก, แ แแ แแแแแแ แแแขแ, แแฃ แ แแแแ แแแแแแแแแแ Kubernetes-แแก แแแแแแแแ แแแ Eclipse JKube-แแ, แฃแงแฃแ แแ แแ แแแแแ แแแแแแแแแก, แแฃ แ แแแแ แกแฌแ แแคแแ แแแแแแแแกแแ แแแ แขแแแ Spring Boot แแแแแแแชแแ Minikube-แแ:
แแแกแแแแ
แแ แกแขแแขแแแจแ แฉแแแ แแแฉแแแแแ, แแฃ แ แแแแ แฃแแแแแแแแก Eclipse JKube แฏแแแแก แแแแแแแแแ แก แชแฎแแแ แแแแก Kubernetes-แแแ แแฃแจแแแแแกแแก. แแแแแขแแแแแ แแแคแแ แแแชแแ Eclipse JKube-แแ แจแแแแซแแแแ แแฎแแแแ แแฅ
แฌแงแแ แ: www.habr.com