25 рд╡рд░реНрд╖ рдкрд╣рд┐рд▓реЗ, рдЬрд╛рднрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩрдХреЛ рдореБрдЦреНрдп рдзрд╛рд░рд╛рдорд╛ рдкреНрд░рд╡реЗрд╢ рдЧрд░реНрдпреЛ рд░ рдЕрдиреНрддрддрдГ рдПрдкреНрд▓рд┐рдХреЗрд╕рди рд╕реНрдЯреНрдпрд╛рдХрд╣рд░реВ рдмрдирд╛рдЗрдПрдХрд╛ рдореБрдЦреНрдп рддрддреНрд╡рд╣рд░реВ рдордзреНрдпреЗ рдПрдХ рдмрдиреНрдпреЛред рдЖрдЬ, рдЬреЗ рд╣реЛрд╕реН, рдзреЗрд░реИ рд╡рд░реНрд╖рджреЗрдЦрд┐ рдЬрд╛рднрд╛рдкреНрд░рддрд┐ рд╡рдлрд╛рджрд╛рд░ рд░рд╣реЗрдХрд╛ рдзреЗрд░реИ рд╡реНрдпрдХреНрддрд┐ рд░ рд╕рдВрд╕реНрдерд╛рд╣рд░реВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдЧрд░реНрди рд╡рд╛ рдкреНрд▓реЗрдЯрдлрд░реНрдордорд╛ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдЧрд░реНрдиреЗ рд╡рд┐рдЪрд╛рд░рдорд╛ рд╡реНрдпрд╕реНрдд рдЫрдиреНред
рджреБрд░реНрднрд╛рдЧреНрдпрд╡рд╢, Kubernetes рд╕рдБрдЧ рдПрдХ рдард╛рдбреЛ рд╕рд┐рдХрд╛рдЗ рд╡рдХреНрд░ рдЫ рд░ рдЬрд╛рднрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рд╣рд░реВ рдЕрднреНрдпрд╕реНрдд рд╣реБрдиреЗ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдорд╛ рдЕрд░реНрдХреЛ рдкрд░рд┐рдЪрд╛рд▓рди рддрд╣ рдкрд░рд┐рдЪрдп рдЧрд░рд╛рдЙрдБрдЫред рдЖрдЬ рд╣рд╛рдореА рддрдкрд╛рдИрдВрд▓рд╛рдИ рдХрд╕рд░реА рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рднрдиреЗрд░ рдмрддрд╛рдЙрдиреЗрдЫреМрдВ
рдкрд░рдореНрдкрд░рд╛рдЧрдд рдЬрд╛рднрд╛ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛
рдкрд░рдореНрдкрд░рд╛рдЧрдд рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛
рдЪрд╛рдорд▓ред 1. рдкрд░рдореНрдкрд░рд╛рдЧрдд рдЬрд╛рднрд╛ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ред
рдХреНрд▓рд╛рдЙрдбрдХреЛ рд▓рд╛рдЧрд┐ рдЬрд╛рднрд╛ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛
рдХреНрд▓рд╛рдЙрдб рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдорд╛ рд╕рд░реНрджрд╛, Kubernetes рд░
рдХреНрд▓рд╛рдЙрдбрдорд╛ рд╕рдВрдХреНрд░рдордгрдХреЛ рдкрд░рдореНрдкрд░рд╛рдЧрдд рдЬрд╛рднрд╛ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдХреЛ рдореЗрдЯрд╛рдореЛрд░реНрдлреЛрд╕рд┐рд╕ рдЪрд┐рддреНрд░рдорд╛ рджреЗрдЦрд╛рдЗрдПрдХреЛ рдЫред реи.
рдЪрд╛рдорд▓ред 2. рдХреНрд▓рд╛рдЙрдбрдХреЛ рд▓рд╛рдЧрд┐ рдЬрд╛рднрд╛ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ред
JKube рдЧреНрд░рд╣рдг
Kubernetes рдорд╛ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдЧрд░реНрдирд╛рд▓реЗ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдорд╛ рдЕрд░реНрдХреЛ рдкрд░рд┐рдЪрд╛рд▓рди рддрд╣ рдердкреНрдЫ, рд░ рдзреЗрд░реИ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВ рдпрд╕рдХреЛ рдмрд╛рд░реЗрдорд╛ рдЪрд┐рдиреНрддрд┐рдд рдЫрдиреН рдХрд┐рдирднрдиреЗ рддрд┐рдиреАрд╣рд░реВ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдореБрдЦреНрдп рдХрд╛рдордорд╛ рдзреНрдпрд╛рди рдХреЗрдиреНрджреНрд░рд┐рдд рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫрдиреН-рдПрдкреНрд▓рд┐рдХреЗрд╢рди рддрд░реНрдХ-рдХрд╕рд░реА рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рддреИрдирд╛рдд рдЧрд░реНрдиреЗ рднрдиреНрджрд╛ред рд░ рдпреЛ рдЬрд╣рд╛рдБ рдпреЛ рдЦреЗрд▓ рдорд╛ рдЖрдЙрдБрдЫред
рдпрд╕ рд▓реЗрдЦрдХреЛ рдмрд╛рдБрдХреА рднрд╛рдЧрдорд╛, рд╣рд╛рдореА рддрдкрд╛рдЗрдБрд▓рд╛рдИ Kubernetes рдорд╛рднреЗрди рдкреНрд▓рдЧрдЗрдирдХреЛ рд╕рд╛рде Eclipse JKube рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ Kubernetes рд╡рд╛рддрд╛рд╡рд░рдгрдорд╛ Java рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╕рд░реА рд╕рд░рд▓ рдмрдирд╛рдЙрдиреЗ рднрдиреЗрд░ рджреЗрдЦрд╛рдЙрдиреЗрдЫреМрдВред
рдЧреНрд░рд╣рдг JKube рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдХреНрд▓рд╛рдЙрдб рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛
рдЪрд┐рддреНрд░ реи рдмрд╛рдЯ рдХреНрд▓рд╛рдЙрдбрдХреЛ рд▓рд╛рдЧрд┐ рдереЛрд░реИ рдкрд░рд┐рдорд╛рд░реНрдЬрд┐рдд рдЬрд╛рднрд╛ рд╡рд┐рдХрд╛рд╕ рдпреЛрдЬрдирд╛рд▓рд╛рдИ рд╡рд┐рдЪрд╛рд░ рдЧрд░реМрдВ, рдпрд╕рдорд╛ Eclipse JKube рд░ Kubernetes Maven Plugin рдкреНрд░рд╕реНрддреБрдд рдЧрд░реНрджреИ, рдЪрд┐рддреНрд░рдорд╛ рджреЗрдЦрд╛рдЗрдПрдХреЛ рдЫред рей.
рдЪрд╛рдорд▓ред 3. Eclipse JKube рдкреНрд░рдпреЛрдЧ рдЧрд░реА рдХреНрд▓рд╛рдЙрдбрдХреЛ рд▓рд╛рдЧрд┐ рдЬрд╛рднрд╛ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ред
рд╣рд╛рдореА рджреЗрдЦреНрди рд╕рдХреНрдЫреМрдВ, рдпрд╣рд╛рдБ Kubernetes рд░ рдХрдиреНрдЯреЗрдирд░рд╣рд░реВ (рдЪрд┐рддреНрд░рдорд╛ рд░рд╛рддреЛрдорд╛ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдЧрд░рд┐рдПрдХреЛ) рд╕рдБрдЧ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛ рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рд╕рдмреИ рдХрд╛рд░реНрдпрд╣рд░реВ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд Eclipse JKube рд▓рдХреНрд╖реНрдп рдХрд╛рд░реНрдпрд╣рд░реВрджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рд╣реБрдиреНрдЫрдиреН, рдЬреБрди рддрд╛рд▓рд┐рдХрд╛рдорд╛ рд╕реВрдЪреАрдмрджреНрдз рдЫрдиреНред рез.
рддрд╛рд▓рд┐рдХрд╛ 1. Eclipse JKube рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд╛рд░реНрдпрд╣рд░реВред
рдЙрджреНрджреЗрд╢реНрдп
рд╕реНрдЯреЗрдЬ
рд╡рд┐рд╡рд░рдг
PRE_INTEGRATION_TEST
рдбрдХрд░ рдЫрд╡рд┐рд╣рд░реВ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрджреИ
рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН
рд░рдЬрд┐рд╕реНрдЯреНрд░реАрдорд╛ рдбрдХрд░ рдЫрд╡рд┐рд╣рд░реВ рдЕрдкрд▓реЛрдб рдЧрд░реНрджреИ
PROCESS_RESOURCES
K8s manifests рдЙрддреНрдкрдиреНрди рдЧрд░реНрджреИ
рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░реНрдиреБрд╣реЛрд╕реН
K8s рдорд╛ рдЙрддреНрдкрдиреНрди manifests рд▓рд╛рдЧреВ рдЧрд░реНрджреИ
UNDEploy
K8s рд╕реНрд░реЛрддрд╣рд░реВ рд╣рдЯрд╛рдЙрдБрджреИ рдЬреБрди k8s:apply рд░ k8s:deploy рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рддреИрдирд╛рде рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ
рдиреЛрдЯ: рдпрджрд┐ рддрдкрд╛рдЗрдБ рдпреА рдЕрднрд┐рдордд рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд╛рд░реНрдпрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЪрд╛рд╣рдиреБрд╣реБрдиреНрди рднрдиреЗ, рддрдкрд╛рдЗрдБ рдореНрдпрд╛рдиреБрдЕрд▓ рд░реВрдкрдорд╛ рдЧреНрд░рд╣рдг JKube рд▓рд╛рдИ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдХрд┐рдирдХрд┐ рдпрд╕рд▓реЗ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдорд╛рд░реНрдлрдд рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫред
рдЕрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрджрд╛ Eclipse JKube рд░ Kubernetes Maven рдкреНрд▓рдЧрдЗрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдЙрджрд╛рд╣рд░рдгрд╣рд░реВ рд╣реЗрд░реМрдВред
Eclipse JKube рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ Kubernetes рдорд╛ рдЬрд╛рднрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рддреИрдирд╛рдд рдЧрд░реНрджреИ
рдпрд╕ рдЙрджрд╛рд╣рд░рдгрдорд╛ рд╣рд╛рдореА рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЬрд╛рднрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рддреИрдирд╛рдд рдЧрд░реНрдиреЗрдЫреМрдВ
рдПрдЙрдЯрд╛ рдЙрджрд╛рд╣рд░рдг рдЕрдиреБрдкреНрд░рдпреЛрдЧрдХреЛ рд░реВрдкрдорд╛ рд╣рд╛рдореА рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫреМрдВ
~/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 рд▓рдХреНрд╖реНрдп рдХрд╛рд░реНрдп 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. рдЕрдиреБрдкреНрд░рдпреЛрдЧрдХреЛ рд▓рд╛рдЧрд┐ Kubernetes рд╕реНрд░реЛрдд рдкреНрд░рдХрдЯрд╣рд░реВ рдЙрддреНрдкрдиреНрди рдЧрд░реНрдиреБрд╣реЛрд╕реН
рддреНрдпрд╕реЛрднрдП, рд╣рд╛рдореАрд▓реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЫрд╡рд┐ рд╕рдЩреНрдХрд▓рди рдЧрд░реЗрдХрд╛ рдЫреМрдВ, рдЕрдм рд╣рд╛рдореАрд▓реЗ Kubernetes manifests рд▓реЗрдЦреНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рдпреЛ рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐, Eclipse JKube рд╕рдБрдЧ рдЕрдиреНрддрд░реНрдирд┐рд╣рд┐рдд рдЬрд╛рднрд╛ рдврд╛рдБрдЪрд╛рдорд╛ рдЖрдзрд╛рд░рд┐рдд рдХрдареЛрд░ рд╕реНрд░реЛрдд рдкреНрд░рдХрдЯ рдЧрд░реНрдиреЗ рдХрд╛рд░реНрдп рдЫ
рд╣рд╛рдореНрд░реЛ рдЙрджрд╛рд╣рд░рдгрдорд╛, рд╣рд╛рдореА рд╕рдмреИ рдХреБрд░рд╛ рдпрдерд╛рд╕реНрдерд┐рддрд┐рдорд╛ рдЫреЛрдбреНрдЫреМрдВ, рд░ рддреНрдпрд╕реИрд▓реЗ Eclipse JKube рд▓реЗ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдбрд┐рдкреНрд▓реЛрдЗрдореЗрдиреНрдЯ рд░ рдХреНрд▓рд╕реНрдЯрд░рдЖрдИрдкреА рдкреНрд░рдХрд╛рд░рдХреЛ рд╕реЗрд╡рд╛рдХреЛ рд▓рд╛рдЧрд┐ рдореНрдпрд╛рдирд┐рдлреЗрд╕реНрдЯ рдЙрддреНрдкрдиреНрди рдЧрд░реНрдЫред рд░ рддреНрдпрд╕рдкрдЫрд┐ рдорд╛рддреНрд░ рд╣рд╛рдореАрд▓реЗ рд╕реЗрд╡рд╛ рдкреНрд░рдХрд╛рд░рд▓рд╛рдИ NodePort рдорд╛ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рд╕реЗрд╡рд╛ рдкреНрд░рдХрдЯреАрдХрд░рдг рдкрд░рд┐рдорд╛рд░реНрдЬрди рдЧрд░реНрдЫреМрдВред рддрдкрд╛рдЗрдБ рдирд┐рдореНрди рдЧреБрдг рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдУрднрд░рд░рд╛рдЗрдб рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ:
<jkube.enricher.jkube-service.type>NodePort</jkube.enricher.jkube-service.type>
рд╣рд╛рдореАрд▓реЗ Eclipse JKube рд▓рд╛рдИ mvn k8s:resource 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 рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рдПрдк рдбрд┐рдкреНрд▓реЛрдп рдЧрд░реНрдиреБрд╣реЛрд╕реН
рдЕрдм рд╣рд╛рдореА рдПрдкреНрд▓рд┐рдХреЗрд╕рди рдбрд┐рдкреНрд▓реЛрдп рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рддрдпрд╛рд░ рдЫреМрдВ: рд╣рд╛рдореАрд▓реЗ рдпрд╕рдХреЛ рдЫрд╡рд┐ рдЙрддреНрдкрдиреНрди рдЧрд░реЗрдХрд╛ рдЫреМрдВ рд░ рддреНрдпрд╕рдкрдЫрд┐ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрдорд╛ рд╕реНрд░реЛрдд рдкреНрд░рдХрдЯрд╣рд░реВ рдЙрддреНрдкрдиреНрди рдЧрд░реЗрдХрд╛ рдЫреМрдВред рдЕрдм рдХреБрдмреЗрд░рдиреЗрдЯ рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рдпреА рд╕рдмреИ рд▓рд╛рдЧреВ рдЧрд░реНрди рдмрд╛рдБрдХреА рдЫред рдПрдкреНрд▓рд┐рдХреЗрд╕рди рдбрд┐рдкреНрд▓реЛрдп рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдЗрдБ рдкрдХреНрдХреИ рдкрдирд┐, 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. 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 рдХреЛ рдореБрдЦреНрдп рд▓рдХреНрд╖реНрдп рдХрд╛рд░реНрдпрд╣рд░реВ рд╣реЗрд░реНрдпреМрдВ, рдЬрд╕рд▓реЗ 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. рдЕрддрд┐рд░рд┐рдХреНрдд рдЧреНрд░рд╣рдг JKube рд▓рдХреНрд╖реНрдп рдХрд╛рд░реНрдпрд╣рд░реВред
рдЙрджреНрджреЗрд╢реНрдп
рд╕реНрдЯреЗрдЬ
рд╡рд┐рд╡рд░рдг
рдорд╛рдиреНрдп рдЧрд░реНрдиреБрд╣реЛрд╕реН
Kubernetes рдорд╛ рдЪрд▓рд┐рд░рд╣реЗрдХреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрдмрд╛рдЯ рд▓рдЧрд╣рд░реВ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрджреИред
рдкреНрдпрд╛рдХреЗрдЬ
рдПрдЙрдЯрд╛ рдбрд┐рдмрдЧ рдкреЛрд░реНрдЯ рдЦреЛрд▓реНрдиреБрд╣реЛрд╕реН рддрд╛рдХрд┐ рддрдкрд╛рдИрдВ 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 рдХреЛ рд╡рд┐рдХрд╛рд╕рд▓рд╛рдИ рдХрд╕рд░реА рд╕рдЬрд┐рд▓реЛ рдмрдирд╛рдЙрдиреЗ рднрдиреНрдиреЗ рдмрд╛рд░реЗ рдердк рдЬрд╛рдиреНрдирдХреЛ рд▓рд╛рдЧрд┐, Minikube рдорд╛ рд╕рд░рд▓ рд╡рд╕рдиреНрдд рдмреБрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╕рди рдХрд╕рд░реА рддреБрд░реБрдиреНрддреИ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рднрдиреНрдиреЗ рдмрд╛рд░реЗ рдпреЛ рднрд┐рдбрд┐рдпреЛ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд╣реЗрд░реНрдиреБрд╣реЛрд╕реН:
рдирд┐рд╖реНрдХрд░реНрд╖рдорд╛
рдпрд╕ рд▓реЗрдЦрдорд╛, рд╣рд╛рдореАрд▓реЗ рджреЗрдЦреНрдпреМрдВ рдХрд┐ Eclipse JKube рдХрд╕рд░реА Kubernetes рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрджрд╛ рдЬрд╛рднрд╛ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдЬреАрд╡рди рд╕рдЬрд┐рд▓реЛ рдмрдирд╛рдЙрдБрдЫред Eclipse JKube рдорд╛ рдердк рдЬрд╛рдирдХрд╛рд░реА рдкрд╛рдЙрди рд╕рдХрд┐рдиреНрдЫ
рд╕реНрд░реЛрдд: www.habr.com