Developing services on Kubernetes

using OpenShift and Fabric8

Created by James Strachan / @jstrachan from Red Hat

Kubernetes

orchestrate your containers!

https://kubernetes.io/

Kubernetes: sub atomic particles

  • Pods
  • Controllers
  • Services

Kubernetes service binding:

for a service called FOO here is how you bind to it:

  • $FOO_SERVICE_HOST
  • $FOO_SERVICE_PORT

Project Atomic

micro service based Linux

projectatomic.io

RHEL Atomic is the product

OpenShift V3

docker / kubernetes based PaaS

openshift.github.io

Fabric8

https://fabric8.io/

What is Fabric8?

  • Tools built on Kubernetes / OpenShift V3:
    • Developer
    • Operation
    • Social
  • Continuous Delivery
  • iPaaS

Fabric8: Dev Tools

  • Maven plugin
  • Dependency Injection
    • CDI
    • Spring
  • Java Libraries
  • Integration Testing
    • Arquillian plugin for JUnit

Fabric8 Dev Toos: Maven

generate kubernetes json:


foo$  mvn fabric8:json


build / push docker images:


foo$  mvn clean install docker:build docker:push


CDI / Spring

http://fabric8.io/guide/cdi.html

Integration Testing

http://fabric8.io/guide/testing.html

Fabric8: Ops Tools

  • Console
  • Logging
  • Metrics

Fabric8: Team Tools

  • Chat, Issues & Notification
    • Hubot
    • Lets Chat
  • Issues & Kanban
    • Taiga
  • Source code
    • Gogs
    • Gerrit

Fabric8: Continuous Delivery

  • reuse OpenShift features for CI:
    • Builds
    • Deployments
    • Image Registries
    • Webhooks
    • Image Tag triggers
  • use jBPM for orchestration between environments
    • fork / join builds
    • human approval
    • visual tooling for design and runtime BPMN flows

Fabric8: iPaaS

  • Integration as a Service
    • Apache Camel
  • Messaging as a Service
    • Apache ActiveMQ
  • APIs
    • apiman
    • API Registry
  • Console & Web IDE
    • hawtio
    • Eclipse Orion

Demo Time!!

fabric8 console on OpenShift V3

Any questions?

kubernetes.io orchestrate your containers
docker.com create container images for kubernetes
projectatomic.io kubernetes based Linux
openshift.github.io kubernetes based PaaS
fabric8.io console, tools and apps for kubernetes
@jstrachan