All Projects → eclipse → Jkube

eclipse / Jkube

Licence: epl-2.0
Successor of the deprecated Fabric8 Maven Plugin

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Jkube

Fabric8 Maven Plugin
📢 This project is migrated to 👉 https://github.com/eclipse/jkube
Stars: ✭ 307 (+44.13%)
Mutual labels:  maven, openshift
Appengine Maven Repository
Free Private Maven repositories hosted on Google App-Engine, backed by Google Cloud Storage and deployed in less than 5 minutes.
Stars: ✭ 201 (-5.63%)
Mutual labels:  maven
Maven Git Versioning Extension
This extension will virtually set project versions, based on current git branch or tag.
Stars: ✭ 178 (-16.43%)
Mutual labels:  maven
Minishift
Run OpenShift 3.x locally
Stars: ✭ 2,246 (+954.46%)
Mutual labels:  openshift
Openshiftv3 Workshop
OpenShift v3 Workshops by the OpenShift Tiger Team
Stars: ✭ 179 (-15.96%)
Mutual labels:  openshift
Forecastle
Forecastle is a control panel which dynamically discovers and provides a launchpad to access applications deployed on Kubernetes – [✩Star] if you're using it!
Stars: ✭ 186 (-12.68%)
Mutual labels:  openshift
Ksprefs
🚀⚡ Kotlin SharedPreferences wrapper & cryptographic preferences android library.
Stars: ✭ 176 (-17.37%)
Mutual labels:  maven
Console
OpenShift Cluster Console UI
Stars: ✭ 203 (-4.69%)
Mutual labels:  openshift
Versions Maven Plugin
Versions Maven Plugin
Stars: ✭ 199 (-6.57%)
Mutual labels:  maven
Sortpom
Maven plugin that helps the user sort pom.xml.
Stars: ✭ 185 (-13.15%)
Mutual labels:  maven
Enmasse
EnMasse - Self-service messaging on Kubernetes and OpenShift
Stars: ✭ 185 (-13.15%)
Mutual labels:  openshift
Seconds Kill
基于 Springboot + Redis + Kafka 的秒杀系统,乐观锁 + 缓存 + 限流 + 异步,TPS 从 500 优化到 3000
Stars: ✭ 180 (-15.49%)
Mutual labels:  maven
Micromodule
Rebuild multiple complete module structures within the module.
Stars: ✭ 192 (-9.86%)
Mutual labels:  maven
Myuploader Backend
单文件上传,多文件上传,大文件上传,断点续传,文件秒传,图片上传
Stars: ✭ 177 (-16.9%)
Mutual labels:  maven
Strimzi Kafka Operator
Apache Kafka running on Kubernetes
Stars: ✭ 2,833 (+1230.05%)
Mutual labels:  openshift
Maven Color
A colorized Maven console
Stars: ✭ 177 (-16.9%)
Mutual labels:  maven
Jhipster4 Demo
Blog demo app with JHipster 4
Stars: ✭ 180 (-15.49%)
Mutual labels:  maven
Formatter Maven Plugin
Formatter Maven Plugin
Stars: ✭ 187 (-12.21%)
Mutual labels:  maven
Telegrambots
Java library to create bots using Telegram Bots API
Stars: ✭ 2,728 (+1180.75%)
Mutual labels:  maven
K8s Bigip Ctlr
Repository for F5 Container Ingress Services for Kubernetes & OpenShift.
Stars: ✭ 204 (-4.23%)
Mutual labels:  openshift

Eclipse JKube

Cloud-Native Java Applications without a hassle

Circle CI Integration Tests Maintainability Rating Coverage Gitter Twitter KataCoda

Eclipse JKube

Rebranding Notice 📢

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

Introduction

Eclipse JKube is a collection of plugins and libraries that are used for building container images using Docker, JIB or S2I build strategies. Eclipse JKube generates and deploys Kubernetes/OpenShift manifests at compile time too.

It brings your Java applications on to Kubernetes and OpenShift by leveraging the tasks required to make your application cloud-native.

Eclipse JKube also provides a set of tools such as watch, debug, log, etc. to improve your developer experience. This project contains various building blocks for the Kubernetes Java developer toolbox.

Kubernetes Maven Plugin

Maven Central Documentation

Sample Demo KMP

OpenShift Maven Plugin

Maven Central Documentation

Sample Demo OMP

JKube Kit

JKube Kit is the core engine powering our Maven plugins.

The main difference between Fabric8 Maven Plugin and JKube is the extraction and decoupling of the core components from Maven. This enables other projects and frameworks to reuse all of JKube's functionality by exposing it through a public API.

  • Generator framework for automatically generating Docker images by examining project information.
    Maven Central Javadocs
  • Enricher framework for creating and enhancing Kubernetes and OpenShift resources.
    Maven Central Javadocs
  • Profile combining the configuration for generators and enrichers.
    Maven Central Javadocs
  • Resource configuration model objects for a simplified configuration of Kubernetes and OpenShift resources.
    Maven Central Javadocs
  • Image configuration model objects for modeling Docker image configuration as used in docker-maven-plugin.
    Maven Central Javadocs

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.

Getting started

Want to test drive JKube? check our getting started Katacoda course to see what JKube can do for you and your project directly from your browser.

Check out our Maven quickstarts to see how JKube fits with the Java framework of your choice.https://github.com/eclipse/jkube/tree/master/quickstarts/maven

Hello World using Eclipse JKube

  • Clone repository and move to quickstart helloworld sample, build project and run JKube goals:
# 1. Clone repository and move to Hello World Quickstart
$ git clone [email protected]:eclipse/jkube.git && cd jkube/quickstarts/maven/hello-world

# 2. Build Project and run JKube goals
$ 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:
# Using Kubectl
$ kubectl get pods
NAME                                       READY   STATUS        RESTARTS   AGE
helloworld-7c4665f464-xwskj                0/1     Completed     2          27s
$ kubectl logs jkube-sample-helloworld-7c4665f464-xwskj
Hello World!
# Using JKube
$ mvn k8s:log
[INFO] k8s:  [NEW] helloworld-7c4665f464-xwskj status: Running 
[INFO] k8s:  [NEW] Tailing log of pod: helloworld-587dfff745-2kdpq
[INFO] k8s:  [NEW] Press Ctrl-C to stop tailing the log
[INFO] k8s:  [NEW] 
[INFO] k8s: Hello World!
[INFO] k8s:  [NEW] helloworld-7c4665f464-xwskj status: Running 

Troubleshooting

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].