25 рд╡рд░реНрд╖рд╛рдВрдкреВрд░реНрд╡реА, Java рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧрдЪреНрдпрд╛ рдореБрдЦреНрдп рдкреНрд░рд╡рд╛рд╣рд╛рдд рдкреНрд░рд╡реЗрд╢ рдХреЗрд▓рд╛ рдЖрдгрд┐ рдЕрдЦреЗрд░реАрд╕ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕реНрдЯреЕрдХ рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдореБрдЦреНрдп рдШрдЯрдХрд╛рдВрдкреИрдХреА рдПрдХ рдмрдирд▓рд╛. рдЖрдЬ рдорд╛рддреНрд░ рдЬрд╛рд╡рд╛рд╢реА рдЕрдиреЗрдХ рд╡рд░реНрд╖реЗ рдПрдХрдирд┐рд╖реНрда рд░рд╛рд╣рд┐рд▓реЗрд▓реЗ рдЕрдиреЗрдХ рд▓реЛрдХ рдЖрдгрд┐ рд╕рдВрд╕реНрдерд╛ рд╕реНрдерд▓рд╛рдВрддрд░реАрдд рд╡реНрдпрд╕реНрдд рдЖрд╣реЗрдд рдХрд┐рдВрд╡рд╛ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╡рд░ рд╕реНрдерд▓рд╛рдВрддрд░ рдХрд░рдгреНрдпрд╛рдЪрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд░рдд рдЖрд╣реЗрдд.
рджреБрд░реНрджреИрд╡рд╛рдиреЗ, рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдХрдбреЗ рд╢рд┐рдХрдгреНрдпрд╛рдЪреА рддреАрд╡реНрд░ рд╡рдХреНрд░ рдЖрд╣реЗ рдЖрдгрд┐ рдЬрд╛рд╡рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рдирд╛ рдЬреНрдпрд╛рдЪреА рд╕рд╡рдп рдЖрд╣реЗ рддреНрдпрд╛ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпреЗрдд рдЖрдгрдЦреА рдПрдХ рдСрдкрд░реЗрд╢рдирд▓ рд▓реЗрдпрд░ рд╕рд╛рджрд░ рдХрд░рддреЛ. рдЖрдЬ рдЖрдореНрд╣реА рддреБрдореНрд╣рд╛рд▓рд╛ рдХрд╕реЗ рд╡рд╛рдкрд░рд╛рдпрдЪреЗ рддреЗ рд╕рд╛рдВрдЧреВ
рдкрд╛рд░рдВрдкрд╛рд░рд┐рдХ рдЬрд╛рд╡рд╛ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛
рдкрд╛рд░рдВрдкрд╛рд░рд┐рдХ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛
рддрд╛рдВрджреВрд│. 1. рдкрд╛рд░рдВрдкрд╛рд░рд┐рдХ Java рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛.
рдХреНрд▓рд╛рдЙрдбрд╕рд╛рдареА Java рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛
рдХреНрд▓рд╛рдЙрдб рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рд╡рд░ рдЬрд╛рддрд╛рдирд╛, рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдЖрдгрд┐
рдХреНрд▓рд╛рдЙрдбрдордзреНрдпреЗ рд╕рдВрдХреНрд░рдордгрд╛рдордзреНрдпреЗ рдкрд╛рд░рдВрдкрд╛рд░рд┐рдХ рдЬрд╛рд╡рд╛ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪреЗ рдореЗрдЯрд╛рдореЙрд░реНрдлреЛрд╕рд┐рд╕ рдЕрдВрдЬреАрд░ рдордзреНрдпреЗ рджрд░реНрд╢рд╡рд┐рд▓реЗ рдЖрд╣реЗ. 2.
рддрд╛рдВрджреВрд│. 2. рдХреНрд▓рд╛рдЙрдбрд╕рд╛рдареА Java рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛.
JKube рдЧреНрд░рд╣рдг
Kubernetes рдХрдбреЗ рд╕реНрдерд▓рд╛рдВрддрд░рд┐рдд рдХреЗрд▓реНрдпрд╛рдиреЗ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпреЗрдд рдЖрдгрдЦреА рдПрдХ рдСрдкрд░реЗрд╢рдирд▓ рд╕реНрддрд░ рдЬреЛрдбрд▓рд╛ рдЬрд╛рддреЛ рдЖрдгрд┐ рдмрд░реЗрдЪ рд╡рд┐рдХрд╛рд╕рдХ рдпрд╛рдмрджреНрджрд▓ рдЪрд┐рдВрддрд╛рдЧреНрд░рд╕реНрдд рдЖрд╣реЗрдд рдХрд╛рд░рдг рддреНрдпрд╛рдВрдирд╛ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдореБрдЦреНрдп рдХрд╛рд░реНрдпрд╛рд╡рд░-рдЕреЕрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдЬрд┐рдХрд╡рд░ рд▓рдХреНрд╖ рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рд╛рдпрдЪреЗ рдЖрд╣реЗ - рддреЗ рдХрд╕реЗ рддреИрдирд╛рдд рдХрд░рд╛рдпрдЪреЗ рдпрд╛рдкреЗрдХреНрд╖рд╛. рдЖрдгрд┐ рдЗрдереЗрдЪ рддреЗ рдирд╛рдЯрдХрд╛рдд рдпреЗрддреЗ.
рдпрд╛ рд▓реЗрдЦрд╛рдЪреНрдпрд╛ рдЙрд░реНрд╡рд░рд┐рдд рднрд╛рдЧрд╛рдд, рдЖрдореНрд╣реА рддреБрдореНрд╣рд╛рд▓рд╛ Kubernetes Maven рдкреНрд▓рдЧрдЗрдирд╕рд╣ Eclipse JKube рд╡рд╛рдкрд░реВрди рдХреБрдмрд░рдиреЗрдЯ рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдд Java рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╢реА рд╕реЛрдкреА рдХрд░рд╛рдпрдЪреА рддреЗ рджрд╛рдЦрд╡реВ.
Eclipse JKube рд╡рд╛рдкрд░реВрди рдХреНрд▓рд╛рдЙрдб рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯ рдкреНрд░рдХреНрд░рд┐рдпрд╛
рдЪрд┐рддреНрд░ 2 рдордзреАрд▓ рдХреНрд▓рд╛рдЙрдбрд╕рд╛рдареА рдереЛрдбреА рд╕реБрдзрд╛рд░рд┐рдд рдЬрд╛рд╡рд╛ рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯ рд╕реНрдХреАрдо рд╡рд┐рдЪрд╛рд░рд╛рдд рдШреЗрдК рдпрд╛, рддреНрдпрд╛рдд Eclipse JKube рдЖрдгрд┐ Kubernetes Maven Plugin рд╕рд╛рджрд░ рдХрд░рдд рдЖрд╣реЛрдд, рдЕрдВрдЬреАрд░ рдордзреНрдпреЗ рджрд╛рдЦрд╡рд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ. 3.
рддрд╛рдВрджреВрд│. 3. Eclipse JKube рд╡рд╛рдкрд░реВрди рдХреНрд▓рд╛рдЙрдбрд╕рд╛рдареА Java рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛.
рдЬрд╕реЗ рдЖрдкрдг рдкрд╛рд╣реВ рд╢рдХрддреЛ, рдпреЗрдереЗ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдЖрдгрд┐ рдХрдВрдЯреЗрдирд░ (рдЖрдХреГрддреАрдордзреНрдпреЗ рд▓рд╛рд▓ рд░рдВрдЧрд╛рдд рд╣рд╛рдпрд▓рд╛рдЗрдЯ рдХреЗрд▓реЗрд▓реЗ) рдпрд╛рдВрдЪреНрдпрд╛рд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрдгреНрдпрд╛рд╕рд╛рдареА рд╕рд░реНрд╡ рдСрдкрд░реЗрд╢рдиреНрд╕ рдбрд┐рдлреЙрд▓реНрдЯ рдЧреНрд░рд╣рдг JKube рд▓рдХреНрд╖реНрдп рдЯрд╛рд╕реНрдХрджреНрд╡рд╛рд░реЗ рдмрджрд▓рд▓реЗ рдЖрд╣реЗрдд, рдЬреЗ рдЯреЗрдмрд▓рдордзреНрдпреЗ рд╕реВрдЪреАрдмрджреНрдз рдЖрд╣реЗрдд. рез.
рдЯреЗрдмрд▓ 1. Eclipse JKube рдбреАрдлреЙрд▓реНрдЯ рдХрд╛рд░реНрдпреЗ.
рдЙрджреНрджрд┐рд╖реНрдЯ
рд╕реНрдЯреЗрдЬ
рд╡рд░реНрдгрди
PRE_INTEGRATION_TEST
рдбреЙрдХрд░ рдкреНрд░рддрд┐рдорд╛ рддрдпрд╛рд░ рдХрд░рдгреЗ
рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛
рд░реЗрдЬрд┐рд╕реНрдЯреНрд░реАрдордзреНрдпреЗ рдбреЙрдХрд░ рдкреНрд░рддрд┐рдорд╛ рдЕрдкрд▓реЛрдб рдХрд░рдд рдЖрд╣реЗ
PROCESS_RESOURCES
K8s рдореЕрдирд┐рдлреЗрд╕реНрдЯ рд╡реНрдпреБрддреНрдкрдиреНрди рдХрд░рдд рдЖрд╣реЗ
рд╕рдВрдХрд▓рд┐рдд
K8s рд╡рд░ рдЬрдирд░реЗрдЯ рдХреЗрд▓реЗрд▓реЗ рдореЕрдирд┐рдлреЗрд╕реНрдЯ рд▓рд╛рдЧреВ рдХрд░рдгреЗ
UNDEploy
k8s:apply рдЖрдгрд┐ k8s:deploy рд╡рд╛рдкрд░реВрди рддреИрдирд╛рдд рдХреЗрд▓реЗрд▓реА K8s рд╕рдВрд╕рд╛рдзрдиреЗ рдХрд╛рдвреВрди рдЯрд╛рдХрдгреЗ
рдЯреАрдк: рддреБрдореНтАНрд╣рд╛рд▓рд╛ рдЯрд╛рд╕реНтАНрдХреНтАНрд╕рдиреЗ рд╣реЗ рдУрдкрд┐рдирд┐рдЯреЗрдб рдбреАрдлреЙрд▓реНтАНрдЯ рд╡рд╛рдкрд░рд╛рдпрдЪреЗ рдирд╕рд▓реНтАНрдпрд╛рд╕, рддреБрдореНтАНрд╣реА рд╕реНтАНрд╡рдд:рд╕рд╛рдареА рдПрдХреНрд▓рд┐рдкреНрд╕ рдЬреЗрдХреНрдпреБрдм рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░реВ рд╢рдХрддрд╛, рдХрд╛рд░рдг рддреЗ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирд▓рд╛ рдпрд╛рджреНрд╡рд╛рд░реЗ рд╕рдорд░реНрдерди рджреЗрддреЗ
рдЖрддрд╛ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рд╕рд╣ рдХрд╛рдо рдХрд░рддрд╛рдирд╛ Eclipse JKube рдЖрдгрд┐ Kubernetes Maven рдкреНрд▓рдЧрдЗрди рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдЙрджрд╛рд╣рд░рдгреЗ рдкрд╛рд╣реВ.
Eclipse JKube рд╡рд╛рдкрд░реВрди Kubernetes рд╡рд░ Java рдНрдкреНрд▓рд┐рдХреЗрд╢рди рддреИрдирд╛рдд рдХрд░рдгреЗ
рдпрд╛ рдЙрджрд╛рд╣рд░рдгрд╛рдд рдЖрдкрдг рдХреНрд▓рд╕реНрдЯрд░рд╡рд░ рд╕рд╛рдзреЗ 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 рдкреНрд▓рдЧрдЗрди рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рд╛
Kubernetes Maven рдкреНрд▓рдЧрдЗрди рднрд╛рдВрдбрд╛рд░рд╛рдд рдЖрд╣реЗ
<plugin>
<groupId>org.eclipse.jkube</groupId>
<artifactId>kubernetes-maven-plugin</artifactId>
<version>${jkube.version}</version>
</plugin>
рд╢реБрджреНрдз Kubernetes рдРрд╡рдЬреА OpenShift рд╡рд╛рдкрд░рд▓реЗ рдЕрд╕рд▓реНрдпрд╛рд╕, pom.xml рдЦрд╛рд▓реАрд▓рдкреНрд░рдорд╛рдгреЗ рд╕реБрдзрд╛рд░рд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ:
<plugin>
<groupId>org.eclipse.jkube</groupId>
<artifactId>openshift-maven-plugin</artifactId>
<version>${jkube.version}</version>
</plugin>
рдкрд╛рдпрд░реА 2. рдбреЙрдХрд░ рдкреНрд░рддрд┐рдорд╛ рддрдпрд╛рд░ рдХрд░рд╛
рдНрдкреНрд▓рд┐рдХреЗрд╢рдирдЪреА JAR рдлрд╛рдИрд▓ mvn рдкреЕрдХреЗрдЬ рдХрдорд╛рдВрдбрд╕рд╣ рддрдпрд╛рд░ рдХреЗрд▓реА рдЬрд╛рдК рд╢рдХрддреЗ, рдЖрдгрд┐ рдирдВрддрд░ mvn goal рдЯрд╛рд╕реНрдХ 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:рдкреБрд╢ рдкреБрд╢ рдЯрд╛рд╕реНрдХ рдХрд░рдгреНрдпрд╛рд╕ рд╕рд╛рдВрдЧрд┐рддрд▓реНрдпрд╛рдирдВрддрд░ рд╣реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдИрд▓:
~/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. рдЕрд░реНрдЬрд╛рд╕рд╛рдареА рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рд░рд┐рд╕реЛрд░реНрд╕ рдореЕрдирд┐рдлреЗрд╕реНрдЯ рд╡реНрдпреБрддреНрдкрдиреНрди рдХрд░рд╛
рддрд░, рдЖрдореНрд╣реА рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдореЗрдЬ рдЧреЛрд│рд╛ рдХреЗрд▓реА рдЖрд╣реЗ, рдЖрддрд╛ рдЖрдореНрд╣рд╛рд▓рд╛ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдореЕрдирд┐рдлреЗрд╕реНрдЯ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рдЪреА рдЧрд░рдЬ рдЖрд╣реЗ. рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, Eclipse JKube рдХрдбреЗ рдПрдХ рдХрд╛рд░реНрдп рдЖрд╣реЗ рдЬреЗ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд Java рдлреНрд░реЗрдорд╡рд░реНрдХрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдХрдареЛрд░ рд╕рдВрд╕рд╛рдзрди рдкреНрд░рдХрдЯ рдХрд░рддреЗ (
рдЖрдордЪреНрдпрд╛ рдЙрджрд╛рд╣рд░рдгрд╛рдд, рдЖрдореНрд╣реА рд╕рд░реНрд╡рдХрд╛рд╣реА рдЬрд╕реЗ рдЖрд╣реЗ рддрд╕реЗ рд╕реЛрдбрддреЛ рдЖрдгрд┐ рдореНрд╣рдгреВрди Eclipse JKube рдбрд┐рдлреЙрд▓реНрдЯ рдбрд┐рдкреНрд▓реЙрдпрдореЗрдВрдЯрд╕рд╛рдареА рдЖрдгрд┐ рдХреНрд▓рд╕реНрдЯрд░рдЖрдпрдкреА рдкреНрд░рдХрд╛рд░рд╛рд╕рд╣ рд╕реЗрд╡реЗрд╕рд╛рдареА рдореЕрдирд┐рдлреЗрд╕реНрдЯ рддрдпрд╛рд░ рдХрд░рддреЛ. рдЖрдгрд┐ рддреНрдпрд╛рдирдВрддрд░рдЪ рдЖрдореНрд╣реА рд╕реЗрд╡рд╛ рдкреНрд░рдХрд╛рд░ 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. рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░рд╡рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рддреИрдирд╛рдд рдХрд░рд╛
рдЖрддрд╛ рдЖрдореНрд╣реА рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЙрдкрдпреЛрдЬрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рдЬреНрдЬ рдЖрд╣реЛрдд: рдЖрдореНрд╣реА рддреНрдпрд╛рдЪреА рдкреНрд░рддрд┐рдорд╛ рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗрд▓реА рдЖрд╣реЗ рдЖрдгрд┐ рдирдВрддрд░ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рддрдкрдгреЗ рд╕рдВрд╕рд╛рдзрди рдкреНрд░рдХрдЯреАрдХрд░рдг рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЖрд╣реЗ. рдЖрддрд╛ рд╣реЗ рд╕рд░реНрд╡ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░рд╡рд░ рд▓рд╛рдЧреВ рдХрд░рдгреЗ рдмрд╛рдХреА рдЖрд╣реЗ. рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЙрдкрдпреЛрдЬрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣реА рдЕрд░реНрдерд╛рддрдЪ, 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"
}
рдкрд╛рдпрд░реА 6. рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░рдордзреАрд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЕрдирдбрд┐рдкреНрд▓реЙрдп рдХрд░рд╛
рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЕрдирдбрд┐рдкреНрд▓реЙрдп рдЯрд╛рд╕реНрдХ рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рддреЛ, рдЬреЗ рдорд╛рдЧреАрд▓ рдЪрд░рдгрд╛рдд рд▓рд╛рдЧреВ рдХреЗрд▓реЗрд▓реА рд╕рд░реНрд╡ рд╕рдВрд╕рд╛рдзрдиреЗ рдХрд╛рдвреВрди рдЯрд╛рдХрддреЗ, рдореНрд╣рдгрдЬреЗрдЪ рдЬреЗрд╡реНрд╣рд╛ рд▓рд╛рдЧреВ рдХрд╛рд░реНрдп рдЕрдВрдорд▓рд╛рдд рдЖрдгрд▓реЗ рдЬрд╛рддреЗ. рдЖрдореНрд╣реА 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 рдЪреЗ рдореБрдЦреНрдп рд▓рдХреНрд╖реНрдп рдХрд╛рд░реНрдп рдкрд╛рд╣рд┐рд▓реЗ, рдЬреЗ Kubernetes рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╕рд╛рдареА Java рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рдЪрд╛ рд╡рд┐рдХрд╛рд╕ рд╕реБрд▓рдн рдХрд░рддрд╛рдд. рдЬрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рд╣реА рдХрд╛рд░реНрдпреЗ рдХреАрдмреЛрд░реНрдбрд╡рд░реВрди рд╕рддрдд рдкреНрд░рд╡рд┐рд╖реНрдЯ рдХрд░рд╛рдпрдЪреА рдирд╕рддреАрд▓, рддрд░ рддреБрдореНрд╣реА рддреА рдкреНрд▓рдЧрдЗрди рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирдордзреНрдпреЗ рд▓рд┐рд╣реВ рд╢рдХрддрд╛, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдпрд╛рдкреНрд░рдорд╛рдгреЗ:
<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 рд╡рд░ рдЪрд╛рд▓рдгрд╛рд░реНтАНрдпрд╛ рдНрдкреНрд▓рд┐рдХреЗрд╢рдирдордзреВрди рд▓реЙрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░рдгреЗ.
рдкреЕрдХреЗрдЬ
рдбреАрдмрдЧ рдкреЛрд░реНрдЯ рдЙрдШрдбрд╛ рдЬреЗрдгреЗрдХрд░реБрди рддреБрдореНрд╣реА рдереЗрдЯ IDE рд╡рд░реВрди Kubernetes рд╡рд░ рдЪрд╛рд▓рдгрд╛рд░рд╛ рддреБрдордЪрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдбреАрдмрдЧ рдХрд░реВ рд╢рдХрддрд╛.
рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛
рдЗрдиреНрд╕реНрдЯреЙрд▓ рдЯрд╛рд╕реНрдХрд╕рд╛рдареА рдлреЛрд░реНрдХ рддрдпрд╛рд░ рдХрд░рдгреЗ рдЖрдгрд┐ рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗрд▓реЗрд▓реЗ рдореЕрдирд┐рдлреЗрд╕реНрдЯреНрд╕ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░рдордзреНрдпреЗ рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдЯрд╛рд╕реНрдХрдЪреНрдпрд╛ рдмрд╛рдмрддреАрдд рд▓рд╛рдЧреВ рдХрд░рдгреЗ.
рдкреЕрдХреЗрдЬ
рдЕреЕрдкреНрд▓рд┐рдХреЗрд╢рдирдЪреЗ рдиреЗрдорд╕реНрдкреЗрд╕ рдЯреНрд░реЕрдХ рдХрд░реВрди рддреНрдпрд╛рдЪреЗ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рд╣реЙрдЯ рдбрд┐рдкреНрд▓реЙрдпрдореЗрдВрдЯ.
OpenShift Maven рдкреНрд▓рдЧрдЗрдирдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди Red Hat OpenShift рд╡рд░ Java рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕ рддреИрдирд╛рдд рдХрд░рдгреЗ
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 рд╕рд╣ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдЪрд╛ рд╡рд┐рдХрд╛рд╕ рдХрд╕рд╛ рд╕реЛрдкрд╛ рдХрд░рд╛рдпрдЪрд╛ рдпрд╛рдмрджреНрджрд▓ рдЕрдзрд┐рдХ рдЬрд╛рдгреВрди рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА, Minikube рд╡рд░ рдПрдХ рд╕рд╛рдзрд╛ рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ рдНрдкреНрд▓рд┐рдХреЗрд╢рди рддреНрд╡рд░реАрдд рдХрд╕рд╛ рдЙрдкрдпреЛрдЬрд┐рдд рдХрд░рд╛рдпрдЪрд╛ рд╣реЗ рд╡реНрд╣рд┐рдбрд┐рдУ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдкрд╣рд╛:
рдирд┐рд╖реНрдХрд░реНрд╖
рдпрд╛ рд▓реЗрдЦрд╛рдд, рдЖрдореНтАНрд╣реА рджрд╛рдЦрд╡рд▓реЗ рдЖрд╣реЗ рдХреА рдХреБрдмрд░рдиреЗрдЯреНрд╕рд╕реЛрдмрдд рдХрд╛рдо рдХрд░рддрд╛рдирд╛ рдПрдХреНрд▓рд┐рдкреНрд╕ рдЬреЗрдХреНрдпреБрдмреЗ рдЬрд╛рд╡рд╛ рдбреЗрд╡реНрд╣рд▓рдкрд░рд╕рд╛рдареА рдЬреАрд╡рди рдХрд╕реЗ рд╕реЛрдкреЗ рдХрд░рддреЗ. Eclipse JKube рдмрджреНрджрд▓ рдЕрдзрд┐рдХ рдорд╛рд╣рд┐рддреА рдпреЗрдереЗ рдЖрдврд│реВ рд╢рдХрддреЗ
рд╕реНрддреНрд░реЛрдд: www.habr.com