/kubernetes-for-java-developers

Kubernetes for Java Developers

Primary LanguageHTML

Kubernetes for Java Developers

This contains the slides and more for my talk "Kubernetes for Java Developer". This deck comes as a Docker image which is based on rhuss/docker-reveal image.

It includes a HTML5 Terminal emulation which can be used from within the browser (look for slides named "Demo"). The demo can be found in /demo. For your convenience the Maven repository is already prepopulated so the demos will work offline, too.

The image is best started with the include run.sh or for some more fanciness, there is also a shell script which can be used with $(curl -sL http://bit.ly/kubernetes-jaxcon2016 | sh)

With this startup script the presentation is then available at http://docker_host:9000 where docker_host is the address of your Docker daemon's host (e.g. localhost or the IP of your boot2docker VM).

In order to recreate the image, use build.sh. The image is configured to use a Kubernetes cluster at http://192.168.23.200:8080 but this can be overridden when building the image with e.g. build.sh http://1.2.3.4:8080.

After startup, a Kubernetes Visualizer is available at http://docker_host:8001/k8s/ and can be used to visualize the demo:

Demo

When watching the presentation you can use m for getting a Menu for directly navigating to individual slides. There you will also find section Links which useful links to additional information. The links can be found below, too.

The demo can be found in /demo. There are 5 Git branches available:

  • 1-java
  • 2-docker
  • 3-kubernetes
  • 4-ping-update
  • 5-pong-update

The demo's full source is also available from https://github.com/rhuss/ping-pong.

Some useful commands to use (some available only in certain branches)

  • mvn clean install : Build everything
  • In pong, mvn wildfly-swarm:run
  • In ping, mvn spring-boot:run to start
  • In ping or pong, mvn package docker:build builds the Docker image
  • mvn -N docker:start -Ddocker.follow : Run the demo in a local Docker daemon
  • In branch 5-pong-update, pong contains the Spring Boot implementation of the Jax RS service, useful for comparing both technologies

Have fun (and feel free to open issues in case of questions or suggestions).

Software

  • Java 8
  • Maven 3.3.9
  • Docker 1.10.1
  • kubectl 1.2.2
  • Emacs 25.0.50.1

Links

Tour