This project is not an effort from scratch. It was earlier called Fabric8 Maven Plugin. It is just refactored and rebranded version of the project targeted towards Java developers who are working on top of Kubernetes. For more information about history, please see REBRANDING.md
This project contains various building blocks for the Kubernetes Java developer toolbox.
Actually it contains the following abstractions which has been extracted from both projects:
JKube-kit, which consists of the following:
One intention of extracting these parts from the originating plugins is also to separate Maven related and non-Maven related functionality so that the non-Maven parts can be reused for other build systems and IDEs like Gradle or Eclipse. Some thin adapter Maven specific modules like jkube-kit-enricher-maven and jkube-kit-generator-maven are provided as glue to get to the Maven specific build information like the project's coordinates.
By moving out common parts it will be now also be possible for the docker-maven-plugin to benefit from the generator framework for zero-config creation of Docker images.
# 1. Clone repository and move to Hello World Quickstart git clone [email protected]:eclipse/jkube.git && cd jkube/quickstarts/maven/hello-world
mvn clean install \ k8s:build \ # Build Docker Image k8s:resource \ # Generate Kubernetes Manifests k8s:apply # Apply generated Kubernetes Manifests onto Kubernetes
- Check created pod logs:
~/work/repos/jkube/quickstarts/maven/hello-world : $ kubectl get pods NAME READY STATUS RESTARTS AGE jkube-sample-helloworld-7c4665f464-xwskj 0/1 Completed 2 27s ~/work/repos/jkube/quickstarts/maven/hello-world : $ kubectl logs jkube-sample-helloworld-7c4665f464-xwskj Hello World!
- Troubleshooting<br/> If you experience problems using minikube that pod's status shows 'ImagePullBackOff' and not 'Completed' you must share the minikube's docker deamon environment with your shell with:
eval $(minikube docker-env)
You can remove this from your shell again with:
eval $(minikube docker-env -u)
If you don't want to type the command for every new terminal you open, you can add the command to your ```.bash_profile```on mac or ```.zshrc```.