Skip to content

Latest commit

 

History

History
63 lines (49 loc) · 5.6 KB

README.md

File metadata and controls

63 lines (49 loc) · 5.6 KB

Kubernetes Maven Plugin

Maven Central

Sample Demo

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>org.eclipse.jkube</groupId>
        <artifactId>k8s-maven-plugin</artifactId>
        <version>${jkube.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

✔️ : Supported, all available features can be used

❌ : Not supported at all

🔵 : Supported, but not all features can be used

Kubernetes
KMP Kubernetes 1.17.0 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 1.0.0-alpha-4 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
KMP 1.0.0-alpha-3 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
KMP 1.0.0-alpha-2 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
KMP 1.0.0-alpha-1 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
KMP 0.2.0 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
KMP 0.1.1 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
KMP 0.1.0 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️