a quickstart showing how to use Spring Boot, Spring MVC together with Kubernetes or OpenShift
Java
Latest commit ddd8a0d Feb 23, 2017 @fusesource-ci fusesource-ci committed on GitHub Merge pull request #108 from fabric8-quickstarts/versionUpdate5dfce5f…
…2-0b10-4eea-b656-6202727e9f0b

PR merged! Thanks!

README.md

Spring Boot Web MVC QuickStart

This example demonstrates how you can use Spring Boot and Spring MVC on Kubernetes or OpenShift to implement a REST service.

Building

The example can be built with

mvn clean install

Running the example in Kubernetes

It is assumed a running Kubernetes platform is already running. If not you can find details how to get started.

Assuming your current shell is connected to Kubernetes or OpenShift so that you can type a command like

kubectl get pods

or for OpenShift

oc get pods

Then the following command will package your app and run it on Kubernetes:

mvn fabric8:run

To list all the running pods:

oc get pods

Then find the name of the pod that runs this quickstart, and output the logs from the running pods with:

oc logs <name of pod>

You can also use the fabric8 developer console to manage the running pods, and view logs and much more.

Integration Testing

The example includes a fabric8 arquillian Kubernetes Integration Test. Once the container image has been built and deployed in Kubernetes, the integration test can be run with:

mvn test -Dtest=*KT

The test is disabled by default and has to be enabled using -Dtest. Integration Testing and Fabric8 Arquillian Extension provide more information on writing full fledged black box integration tests for Kubernetes.

More details

You can find more details about running this quickstart on the website. This also includes instructions how to change the Docker image user and registry.

Access services using a web browser

When the application is running, you can use a web browser to access the REST service. Assuming that you have a Vagrant setup you can access the REST service with http://spring-boot-webmvc-default.vagrant.f8.

Notice: As it depends on your OpenShift setup, the hostname (route) might vary. Verify with oc get routes which hostname is valid for you. Add the '-Dfabric8.deploy.createExternalUrls=true' option to your maven commands if you want it to deploy a Route configuration for the service.

The URL http://spring-boot-webmvc-default.vagrant.f8/ip can be used to obtain the IP address to show service load-balancing when running with multiple pods.

Integration Testing

The example includes a fabric8 arquillian Kubernetes Integration Test. Once the container image has been built and deployed in Kubernetes, the integration test can be run with:

mvn test -Dtest=*KT

The test is disabled by default and has to be enabled using -Dtest. Integration Testing and Fabric8 Arquillian Extension provide more information on writing full fledged black box integration tests for Kubernetes.

More details

You can find more details about running this quickstart on the website. This also includes instructions how to change the Docker image user and registry.