Kubernetes Maven Plugin
Note: This repository has been moved to Eclipse Jkube. In case you want to contribute please send PRs to https://github.com/eclipse/jkube repo.
Introduction
This Maven plugin is a one-stop-shop for building and deploying Java applications for Docker, Kubernetes. It brings your Java applications on to Kubernetes. It provides a tight integration into maven and benefits from the build configuration already provided. It focuses on three tasks:
- Building Docker images
- Creating Kubernetes resources
- Deploy applications
Usage
To enable kubernetes maven plugin on your project just add this to the plugins sections of your pom.xml:
<plugin>
<groupId>io.jshift</groupId>
<artifactId>k8s-maven-plugin</artifactId>
<version>${jshift.kubernetes.version}</version>
</plugin>
Goal | Description |
---|---|
k8s:resource |
Create Kubernetes resource descriptors |
k8s:build |
Build Docker images |
k8s:push |
Push Docker images to a registry |
k8s:deploy |
Deploy Kubernetes resource objects to a cluster |
k8s:watch |
Watch for doing rebuilds and restarts |
Features
- Dealing with Docker images and hence inherits its flexible and powerful configuration.
- Supports Kubernetes descriptors
- Various configuration styles:
- Zero Configuration for a quick ramp-up where opinionated defaults will be pre-selected.
- Inline Configuration within the plugin configuration in an XML syntax.
- External Configuration templates of the real deployment descriptors which are enriched by the plugin.
- Flexible customization:
- Generators analyze the Maven build and generated automatic Docker image configurations for certain systems (spring-boot, plain java, karaf ...)
- Enrichers extend the Kubernetes resource descriptors by extra information like SCM labels and can add default objects like Services.
- Generators and Enrichers can be individually configured and combined into profiles
Kubernetes Compatibility
Kubernetes
KMP | Kubernetes 1.12.0 | Kubernetes 1.11.0 | Kubernetes 1.10.0 | Kubernetes 1.9.0 | Kubernetes 1.8.0 | Kubernetes 1.7.0 | Kubernetes 1.6.0 | Kubernetes 1.5.1 | Kubernetes 1.4.0 |
---|---|---|---|---|---|---|---|---|---|
KMP 4.0.0 | |
|
|
|
|
|
|
|
|
KMP 4.0.0-M2 | |
|
|
|
|
|
|
|
|
KMP 4.0.0-M1 | |
|
|
|
|
|
|
|
|
KMP 3.5.42 | |
|
|
|
|
|
|
|
|
KMP 3.5.41 | |
|
|
|
|
|
|
|
|
KMP 3.5.40 | |
|
|
|
|
|
|
|
|
KMP 3.5.39 | |
|
|
|
|
|
|
|
|
KMP 3.5.38 | |
|
|
|
|
|
|
|
|
KMP 3.5.37 | |
|
|
|
|
|
|
|
|
KMP 3.5.35 | |
|
|
|
|
|
|
|
|
KMP 3.5.34 | |
|
|
|
|
|
|
|
|
KMP 3.5.33 | |
|
|
|
|
|
|
|
|
KMP 3.5.32 | |
|
|
|
|
|
|
|
|