SlideShare a Scribd company logo
Dr. Roland Huß | Red Hat
fabric8
… and Docker, Kubernetes, OpenShift
fabric8 ... and Docker, Kubernetes & OpenShift
fabric8 ... and Docker, Kubernetes & OpenShift
?
fabric8 ... and Docker, Kubernetes & OpenShift
Me
» Developer (mostly Java)
» Open Source
– Jolokia: JMX-HTTP Bridge
– docker-maven-plugin
» Software Engineer @ Red Hat
– (since May)
» Contact:
– Blog: https://ro14nd.de
– Twitter: @ro14nd
OS Level Virtualisation
Docker Orchestration
PaaS Platform on top
of Kubernetes
Services and Tools for
Kubernetes and OpenShift
Docker
Facts
» OS level virtualisation tool suite
» Client-Server architecture
– Server communicates via Unix- or INET-
Sockets with a REST API
» Docker commands via CLI
» Written in Go
» Current version: 1.6
Lightweight Container vs. VM
Containers are isolated, but
sharing the kernel and (some) files
➜ faster & lighter
Concepts
» Image
– Read-only filesystem layer
– Deploy & Share
– Blueprint for a container
» Container
– Read-write filesystem layer (copy-on-write)
– Instance of an image
– Has a lifecycle (start & stop)
Concepts
» Repository
– Collection of layered images
– often synonym for “Image”
– Has a name: registry/user/repository:tag
» Registry
– Storage for repositories
– Default: docker.io (public docker hub)
docker
» CLI for managing Docker
– docker <sub-command> …
ps Show all containers
images Show all images
run Create and run a container
search Seaarch for images on a registry
pull Dowmload of images
rm Remove container
rmi Remove image
Kubernetes
Facts
» Open Source orchestration platform for
Docker containers
– Rewrite of Google’s internal framework “Borg”
» Declarative specification of a desired state
» Self-healing
» Service discovery
» Scheduling across hosts
» Simple replication
Architecture
Concepts
» Pods
– Collection of one or more Docker containers
» Replication Controller
– Creates and takes care of Pods
» Services
– Proxy for a collection of Pods
» Labels
– Grouping and organisation of Objects
Pod
» Collection of Docker containers running
on the same host.
» Pods have a unique IP
» Containers in a Pod ….
– …. share the same IP
– …. can reach each other via local ports
– …. can share data via volumes
» Pods can have one or more Labels
Replication Controller
» Controls Pods selected by Labels
» Ensures that a specified number of Pod
replicas is running
» Holds Pod Templates for creating new
Pods
» Autoscaling
» Rolling Updates
{
"kind":"ReplicationController",
"apiVersion":"v1beta3",
"metadata":{
"name":"redis-master",
"labels":{
"name":"redis-master"
}
},
“spec":{
"replicas":1,
"selector":{
"name":"redis-master"
},
"template": …
}
}
"template":{
"metadata":{
"labels":{
"name":"redis-master"
}
},
"spec":{
"containers":[{
"name":"master",
"image":"redis",
"ports":[{
"containerPort":6379,
"protocol":"TCP"
}]
}]
}
}
Service
» View on a set of Pods with
single IP address and port
» Pods are selected by Label
» Services are referenced by
environment variables
» Service addresses stay
stable
– Pods come and go (with
different IPs)
{
"kind":"Service",
"apiVersion":"v1beta3",
"metadata":{
"name":"redis-master",
"labels":{
"name":"redis-master"
}
},
"spec":{
"ports": [{
"port":6379,
"targetPort":6379,
"protocol":"TCP"
}],
"selector":{
"name":"redis-master"
}
}
}
kubectl
» CLI for managing Kubernetes
– kubectl <sub-command> …
get pods
get services
get rc
Show pods/service/replication
controllers
create Create objects
update Update objects
delete Delete objects
resize New size for a RC
fabric8 ... and Docker, Kubernetes & OpenShift
History
» 2011: Platform-as-a-Service (PaaS) from
Red Hat
» Three variants:
– Online - Public PaaS
– Enterprise - Private PaaS
– Origin - Community PaaS
» OpenShift V3: Complete rewrite on basis
of Kubernetes
Features
» Adds the “Build” aspect to Kubernetes
» Developer and Operation Tools
» Application Component Libraries
» Infrastructure Services
– Registry, Router, OAuth2 Security
» Team and user isolation (multi-tenancy)
» Management UI
Builds
» Extension for building images
» Docker Builds
– Build images get access to enclosing Docker
daemon.
» Source-To-Image
– Assembly of new image from a builder image
and source code
– Often combined with a Webhook for automatic
builds
Templates
» Templates allow the specifications of
replication controller, services, …
» Parameter slots can be filled in …
– from the CLI wit osc process
– from the User Interface
» might become a Kubernetes feature in the
future
Templates
{
"apiVersion": "v1beta1",
"kind": "Template",
"metadata": {
"name": "Template_Name",
"annotations": {
"description": "Description"
}
},
"parameters": [{
"name": "username"
"value": "admin"
"description": "administrative user"
}],
"labels": {
"custom_label": "Label_Name"
},
"items": [{
...
}]
}
Deployments
» Update of a replication controller’s pod
template
– based on triggers
‣ image change
‣ configuration change
– custom deployment strategies
– rollback support
– replication scaling
Registry
» OpenShift provides an own Docker
registry as service
» OpenShift projects are mapped to registry
user
– e.g. for an image “fabric8/console” to be
pushed there must exist a OpenShift project
“fabric8”
Router
» External DNS mapping to services
– based on HAProxy
» Different types of TLS termination
– edge : TLS terminates at the router
– passthrough: TLS stream is handle through
to the service
– re-encryption: TLS terminates at the router
and is re-encrypted for the service
Web-Console
osc
» OpenShift CLI
» Extension to kubectl
process Process Templates
project Change namespace/project
get routes Show created routes
port-forward Port forwarding into pod
exec Execute process in running pod
fabric8 ... and Docker, Kubernetes & OpenShift
fabric8
» Tools and Services for value add to
Kubernetes and OpenShift
– Management: console, logging, metrics, …
– Continous Delivery Workflow
– iPaaS: Camel route visualisation, API registry,
Messaging as a Service, …
– Tools: Kubernetes/OpenShift build integration,
Kubernetes component test support, CDI
extensions
History
» Fuse ESB: Open Source integration
platform by FuseSource
» Fabric: Extension for managing many
ESBs
» Red Hat acquired FuseSource in 2012
– Fuse ESB JBoss Fuse
– Fabric (closed) fabric8 (open source)
» fabric8 1.x is based on Zookeeper as
central view of the system
– JBoss Fuse 6.1: fabric8 1.0
– JBoss Fuse 6.2: fabric8 1.2.x
» fabric8 2.x sits on top of Kubernetes
– fabric8 1.x functionality became Jube, a pure
Java implementation of the Kubernetes API
Management
» Web console for Kubernetes
– Starting/Stopping of pods
– Changing Replicas
– Individual management of pods
– based on hawt.io
fabric8 ... and Docker, Kubernetes & OpenShift
Continous Delivery
iPaas
» Console for visualising and working with
integration services
– e.g. showing the Camel routes
» API registry for a global view of all
RESTful and WebServices
» MQ provides Messaging as a Service
– based on ActiveMQ
– allows autoscaling
Tools
» fabric8-maven-plugin
– Creates and apply Kubernetes
descriptors out of build informations
– Creates OpenShift routes
– Deploys kubernetes.json as Maven
artefacts
Tools
» Arquillian extension for testing
– Provision containers to Kubernetes
– Separate namespace per test (isolation)
– Annotations for injecting Kubernetes objects
– Assertions on Kubernetes objects
» Java Libraries
– Access to Kubernetes API
– CDI injections of Kubernetes Services
– ….
Summary
» Docker is the perfect foundation for a
container based infrastructure
» Kubernetes is a powerful Docker
orchestration platform backed with great
momentum
» OpenShift as a PaaS adds the “Build”
dimension to Kubernetes
» Fabric8 adds services and Java tooling to
Docker, Kubernetes and OpenShift
Questions ?

More Related Content

What's hot

Beyond static configuration
Beyond static configurationBeyond static configuration
Beyond static configuration
Stefan Schimanski
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
Jacopo Nardiello
 
Kubernetes @ meetic
Kubernetes @ meeticKubernetes @ meetic
Kubernetes @ meetic
Sébastien Le Gall
 
Play Support in Cloud Foundry
Play Support in Cloud FoundryPlay Support in Cloud Foundry
Play Support in Cloud Foundry
rajdeep
 
(Draft) Kubernetes - A Comprehensive Overview
(Draft) Kubernetes - A Comprehensive Overview(Draft) Kubernetes - A Comprehensive Overview
(Draft) Kubernetes - A Comprehensive Overview
Bob Killen
 
Planes, Raft, and Pods: A Tour of Distributed Systems Within Kubernetes
Planes, Raft, and Pods: A Tour of Distributed Systems Within KubernetesPlanes, Raft, and Pods: A Tour of Distributed Systems Within Kubernetes
Planes, Raft, and Pods: A Tour of Distributed Systems Within Kubernetes
Bo Ingram
 
Docker SF Meetup January 2016
Docker SF Meetup January 2016Docker SF Meetup January 2016
Docker SF Meetup January 2016
Patrick Chanezon
 
Secrets in Kubernetes
Secrets in KubernetesSecrets in Kubernetes
Secrets in Kubernetes
Jerry Jalava
 
Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs...
Orchestration tool roundup   kubernetes vs. docker vs. heat vs. terra form vs...Orchestration tool roundup   kubernetes vs. docker vs. heat vs. terra form vs...
Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs...
Nati Shalom
 
The Operator Pattern - Managing Stateful Services in Kubernetes
The Operator Pattern - Managing Stateful Services in KubernetesThe Operator Pattern - Managing Stateful Services in Kubernetes
The Operator Pattern - Managing Stateful Services in Kubernetes
QAware GmbH
 
Scaling Development Environments with Docker
Scaling Development Environments with DockerScaling Development Environments with Docker
Scaling Development Environments with Docker
Docker, Inc.
 
Orchestrating Linux Containers while tolerating failures
Orchestrating Linux Containers while tolerating failuresOrchestrating Linux Containers while tolerating failures
Orchestrating Linux Containers while tolerating failures
Docker, Inc.
 
Clocker - The Docker Cloud Maker
Clocker - The Docker Cloud MakerClocker - The Docker Cloud Maker
Clocker - The Docker Cloud Maker
Andrew Kennedy
 
Service Discovery In Kubernetes
Service Discovery In KubernetesService Discovery In Kubernetes
Service Discovery In Kubernetes
Knoldus Inc.
 
Adf with docker
Adf with dockerAdf with docker
Adf with docker
Eugene Fedorenko
 
Dockerizing Windows Server Applications by Ender Barillas and Taylor Brown
Dockerizing Windows Server Applications by Ender Barillas and Taylor BrownDockerizing Windows Server Applications by Ender Barillas and Taylor Brown
Dockerizing Windows Server Applications by Ender Barillas and Taylor Brown
Docker, Inc.
 
Kubernetes 101 for Developers
Kubernetes 101 for DevelopersKubernetes 101 for Developers
Kubernetes 101 for Developers
Ross Kukulinski
 
Microservices with containers in the cloud
Microservices with containers in the cloudMicroservices with containers in the cloud
Microservices with containers in the cloud
Eugene Fedorenko
 
Openstack Overview
Openstack OverviewOpenstack Overview
Openstack Overview
rajdeep
 
Serverless forwardjs
Serverless forwardjsServerless forwardjs
Serverless forwardjs
Upkar Lidder
 

What's hot (20)

Beyond static configuration
Beyond static configurationBeyond static configuration
Beyond static configuration
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
 
Kubernetes @ meetic
Kubernetes @ meeticKubernetes @ meetic
Kubernetes @ meetic
 
Play Support in Cloud Foundry
Play Support in Cloud FoundryPlay Support in Cloud Foundry
Play Support in Cloud Foundry
 
(Draft) Kubernetes - A Comprehensive Overview
(Draft) Kubernetes - A Comprehensive Overview(Draft) Kubernetes - A Comprehensive Overview
(Draft) Kubernetes - A Comprehensive Overview
 
Planes, Raft, and Pods: A Tour of Distributed Systems Within Kubernetes
Planes, Raft, and Pods: A Tour of Distributed Systems Within KubernetesPlanes, Raft, and Pods: A Tour of Distributed Systems Within Kubernetes
Planes, Raft, and Pods: A Tour of Distributed Systems Within Kubernetes
 
Docker SF Meetup January 2016
Docker SF Meetup January 2016Docker SF Meetup January 2016
Docker SF Meetup January 2016
 
Secrets in Kubernetes
Secrets in KubernetesSecrets in Kubernetes
Secrets in Kubernetes
 
Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs...
Orchestration tool roundup   kubernetes vs. docker vs. heat vs. terra form vs...Orchestration tool roundup   kubernetes vs. docker vs. heat vs. terra form vs...
Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs...
 
The Operator Pattern - Managing Stateful Services in Kubernetes
The Operator Pattern - Managing Stateful Services in KubernetesThe Operator Pattern - Managing Stateful Services in Kubernetes
The Operator Pattern - Managing Stateful Services in Kubernetes
 
Scaling Development Environments with Docker
Scaling Development Environments with DockerScaling Development Environments with Docker
Scaling Development Environments with Docker
 
Orchestrating Linux Containers while tolerating failures
Orchestrating Linux Containers while tolerating failuresOrchestrating Linux Containers while tolerating failures
Orchestrating Linux Containers while tolerating failures
 
Clocker - The Docker Cloud Maker
Clocker - The Docker Cloud MakerClocker - The Docker Cloud Maker
Clocker - The Docker Cloud Maker
 
Service Discovery In Kubernetes
Service Discovery In KubernetesService Discovery In Kubernetes
Service Discovery In Kubernetes
 
Adf with docker
Adf with dockerAdf with docker
Adf with docker
 
Dockerizing Windows Server Applications by Ender Barillas and Taylor Brown
Dockerizing Windows Server Applications by Ender Barillas and Taylor BrownDockerizing Windows Server Applications by Ender Barillas and Taylor Brown
Dockerizing Windows Server Applications by Ender Barillas and Taylor Brown
 
Kubernetes 101 for Developers
Kubernetes 101 for DevelopersKubernetes 101 for Developers
Kubernetes 101 for Developers
 
Microservices with containers in the cloud
Microservices with containers in the cloudMicroservices with containers in the cloud
Microservices with containers in the cloud
 
Openstack Overview
Openstack OverviewOpenstack Overview
Openstack Overview
 
Serverless forwardjs
Serverless forwardjsServerless forwardjs
Serverless forwardjs
 

Viewers also liked

Cloud Computing Fundamental
Cloud Computing FundamentalCloud Computing Fundamental
Cloud Computing Fundamental
Dony Riyanto
 
Docker Meetup - Melbourne 2015 - Kubernetes Deep Dive
Docker Meetup - Melbourne 2015 - Kubernetes Deep DiveDocker Meetup - Melbourne 2015 - Kubernetes Deep Dive
Docker Meetup - Melbourne 2015 - Kubernetes Deep Dive
Ken Thompson
 
Scalable Python with Docker, Kubernetes, OpenShift
Scalable Python with Docker, Kubernetes, OpenShiftScalable Python with Docker, Kubernetes, OpenShift
Scalable Python with Docker, Kubernetes, OpenShift
Aarno Aukia
 
Cloud computing stack
Cloud computing stackCloud computing stack
Cloud computing stack
Pedro Alexander Romero Tortosa
 
Achieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes
Achieving Cost and Resource Efficiency through Docker, OpenShift and KubernetesAchieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes
Achieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes
Dean Delamont
 
Serverless on Kubernetes
Serverless on KubernetesServerless on Kubernetes
Serverless on Kubernetes
Sebastien Goasguen
 
OpenShift Enterprise 3.1 vs kubernetes
OpenShift Enterprise 3.1 vs kubernetesOpenShift Enterprise 3.1 vs kubernetes
OpenShift Enterprise 3.1 vs kubernetes
Samuel Terburg
 
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...
Kai Wähner
 
Feature Engineering
Feature EngineeringFeature Engineering
Feature Engineering
HJ van Veen
 

Viewers also liked (9)

Cloud Computing Fundamental
Cloud Computing FundamentalCloud Computing Fundamental
Cloud Computing Fundamental
 
Docker Meetup - Melbourne 2015 - Kubernetes Deep Dive
Docker Meetup - Melbourne 2015 - Kubernetes Deep DiveDocker Meetup - Melbourne 2015 - Kubernetes Deep Dive
Docker Meetup - Melbourne 2015 - Kubernetes Deep Dive
 
Scalable Python with Docker, Kubernetes, OpenShift
Scalable Python with Docker, Kubernetes, OpenShiftScalable Python with Docker, Kubernetes, OpenShift
Scalable Python with Docker, Kubernetes, OpenShift
 
Cloud computing stack
Cloud computing stackCloud computing stack
Cloud computing stack
 
Achieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes
Achieving Cost and Resource Efficiency through Docker, OpenShift and KubernetesAchieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes
Achieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes
 
Serverless on Kubernetes
Serverless on KubernetesServerless on Kubernetes
Serverless on Kubernetes
 
OpenShift Enterprise 3.1 vs kubernetes
OpenShift Enterprise 3.1 vs kubernetesOpenShift Enterprise 3.1 vs kubernetes
OpenShift Enterprise 3.1 vs kubernetes
 
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...
 
Feature Engineering
Feature EngineeringFeature Engineering
Feature Engineering
 

Similar to fabric8 ... and Docker, Kubernetes & OpenShift

2 Linux Container and Docker
2 Linux Container and Docker2 Linux Container and Docker
2 Linux Container and Docker
Fabio Fumarola
 
Develop with linux containers and docker
Develop with linux containers and dockerDevelop with linux containers and docker
Develop with linux containers and docker
Fabio Fumarola
 
Linux containers and docker
Linux containers and dockerLinux containers and docker
Linux containers and docker
Fabio Fumarola
 
Oscon 2017: Build your own container-based system with the Moby project
Oscon 2017: Build your own container-based system with the Moby projectOscon 2017: Build your own container-based system with the Moby project
Oscon 2017: Build your own container-based system with the Moby project
Patrick Chanezon
 
Building Distributed Systems without Docker, Using Docker Plumbing Projects -...
Building Distributed Systems without Docker, Using Docker Plumbing Projects -...Building Distributed Systems without Docker, Using Docker Plumbing Projects -...
Building Distributed Systems without Docker, Using Docker Plumbing Projects -...
Patrick Chanezon
 
Containers, Serverless and Functions in a nutshell
Containers, Serverless and Functions in a nutshellContainers, Serverless and Functions in a nutshell
Containers, Serverless and Functions in a nutshell
Eugene Fedorenko
 
Containerize! Between Docker and Jube.
Containerize! Between Docker and Jube.Containerize! Between Docker and Jube.
Containerize! Between Docker and Jube.
Henryk Konsek
 
Azure deployments and ARM templates
Azure deployments and ARM templatesAzure deployments and ARM templates
Azure deployments and ARM templates
gjuljo
 
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
Etsuji Nakai
 
Understanding the container landscape and it associated projects
Understanding the container landscape and it associated projectsUnderstanding the container landscape and it associated projects
Understanding the container landscape and it associated projects
Anthony Chow
 
Microservices and containers for the unitiated
Microservices and containers for the unitiatedMicroservices and containers for the unitiated
Microservices and containers for the unitiated
Kevin Lee
 
Erik Skytthe - Monitoring Mesos, Docker, Containers with Zabbix | ZabConf2016
Erik Skytthe - Monitoring Mesos, Docker, Containers with Zabbix | ZabConf2016Erik Skytthe - Monitoring Mesos, Docker, Containers with Zabbix | ZabConf2016
Erik Skytthe - Monitoring Mesos, Docker, Containers with Zabbix | ZabConf2016
Zabbix
 
LAMP Stack (Reloaded) - Infrastructure as Code with Terraform & Packer
LAMP Stack (Reloaded) - Infrastructure as Code with Terraform & PackerLAMP Stack (Reloaded) - Infrastructure as Code with Terraform & Packer
LAMP Stack (Reloaded) - Infrastructure as Code with Terraform & Packer
Jan-Christoph Küster
 
Infrastructure as Code: Manage your Architecture with Git
Infrastructure as Code: Manage your Architecture with GitInfrastructure as Code: Manage your Architecture with Git
Infrastructure as Code: Manage your Architecture with Git
Danilo Poccia
 
[FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów
[FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów[FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów
[FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów
Future Processing
 
Vert.x devoxx london 2013
Vert.x devoxx london 2013Vert.x devoxx london 2013
Vert.x devoxx london 2013
Stuart (Pid) Williams
 
Microservices, Containers and Docker
Microservices, Containers and DockerMicroservices, Containers and Docker
Microservices, Containers and Docker
Ioannis Papapanagiotou
 
Kubernetes for the PHP developer
Kubernetes for the PHP developerKubernetes for the PHP developer
Kubernetes for the PHP developer
Paul Czarkowski
 
Evolution of containers to kubernetes
Evolution of containers to kubernetesEvolution of containers to kubernetes
Evolution of containers to kubernetes
Krishna-Kumar
 
Techdays SE 2016 - Micros.. err Microcosmos
Techdays SE 2016 - Micros.. err MicrocosmosTechdays SE 2016 - Micros.. err Microcosmos
Techdays SE 2016 - Micros.. err Microcosmos
Mike Martin
 

Similar to fabric8 ... and Docker, Kubernetes & OpenShift (20)

2 Linux Container and Docker
2 Linux Container and Docker2 Linux Container and Docker
2 Linux Container and Docker
 
Develop with linux containers and docker
Develop with linux containers and dockerDevelop with linux containers and docker
Develop with linux containers and docker
 
Linux containers and docker
Linux containers and dockerLinux containers and docker
Linux containers and docker
 
Oscon 2017: Build your own container-based system with the Moby project
Oscon 2017: Build your own container-based system with the Moby projectOscon 2017: Build your own container-based system with the Moby project
Oscon 2017: Build your own container-based system with the Moby project
 
Building Distributed Systems without Docker, Using Docker Plumbing Projects -...
Building Distributed Systems without Docker, Using Docker Plumbing Projects -...Building Distributed Systems without Docker, Using Docker Plumbing Projects -...
Building Distributed Systems without Docker, Using Docker Plumbing Projects -...
 
Containers, Serverless and Functions in a nutshell
Containers, Serverless and Functions in a nutshellContainers, Serverless and Functions in a nutshell
Containers, Serverless and Functions in a nutshell
 
Containerize! Between Docker and Jube.
Containerize! Between Docker and Jube.Containerize! Between Docker and Jube.
Containerize! Between Docker and Jube.
 
Azure deployments and ARM templates
Azure deployments and ARM templatesAzure deployments and ARM templates
Azure deployments and ARM templates
 
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
Architecture Overview: Kubernetes with Red Hat Enterprise Linux 7.1
 
Understanding the container landscape and it associated projects
Understanding the container landscape and it associated projectsUnderstanding the container landscape and it associated projects
Understanding the container landscape and it associated projects
 
Microservices and containers for the unitiated
Microservices and containers for the unitiatedMicroservices and containers for the unitiated
Microservices and containers for the unitiated
 
Erik Skytthe - Monitoring Mesos, Docker, Containers with Zabbix | ZabConf2016
Erik Skytthe - Monitoring Mesos, Docker, Containers with Zabbix | ZabConf2016Erik Skytthe - Monitoring Mesos, Docker, Containers with Zabbix | ZabConf2016
Erik Skytthe - Monitoring Mesos, Docker, Containers with Zabbix | ZabConf2016
 
LAMP Stack (Reloaded) - Infrastructure as Code with Terraform & Packer
LAMP Stack (Reloaded) - Infrastructure as Code with Terraform & PackerLAMP Stack (Reloaded) - Infrastructure as Code with Terraform & Packer
LAMP Stack (Reloaded) - Infrastructure as Code with Terraform & Packer
 
Infrastructure as Code: Manage your Architecture with Git
Infrastructure as Code: Manage your Architecture with GitInfrastructure as Code: Manage your Architecture with Git
Infrastructure as Code: Manage your Architecture with Git
 
[FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów
[FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów[FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów
[FDD 2016] Marek Śledziński - Microsoft Windows a sprawa kontenerów
 
Vert.x devoxx london 2013
Vert.x devoxx london 2013Vert.x devoxx london 2013
Vert.x devoxx london 2013
 
Microservices, Containers and Docker
Microservices, Containers and DockerMicroservices, Containers and Docker
Microservices, Containers and Docker
 
Kubernetes for the PHP developer
Kubernetes for the PHP developerKubernetes for the PHP developer
Kubernetes for the PHP developer
 
Evolution of containers to kubernetes
Evolution of containers to kubernetesEvolution of containers to kubernetes
Evolution of containers to kubernetes
 
Techdays SE 2016 - Micros.. err Microcosmos
Techdays SE 2016 - Micros.. err MicrocosmosTechdays SE 2016 - Micros.. err Microcosmos
Techdays SE 2016 - Micros.. err Microcosmos
 

Recently uploaded

Independence Day Hasn’t Always Been a U.S. Holiday.pdf
Independence Day Hasn’t Always Been a U.S. Holiday.pdfIndependence Day Hasn’t Always Been a U.S. Holiday.pdf
Independence Day Hasn’t Always Been a U.S. Holiday.pdf
Livetecs LLC
 
Leading Project Management Tool Taskruop.pptx
Leading Project Management Tool Taskruop.pptxLeading Project Management Tool Taskruop.pptx
Leading Project Management Tool Taskruop.pptx
taskroupseo
 
Wired_2.0_Create_AmsterdamJUG_09072024.pptx
Wired_2.0_Create_AmsterdamJUG_09072024.pptxWired_2.0_Create_AmsterdamJUG_09072024.pptx
Wired_2.0_Create_AmsterdamJUG_09072024.pptx
SimonedeGijt
 
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
avufu
 
How we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hoursHow we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hours
Ortus Solutions, Corp
 
WEBINAR SLIDES: CCX for Cloud Service Providers
WEBINAR SLIDES: CCX for Cloud Service ProvidersWEBINAR SLIDES: CCX for Cloud Service Providers
WEBINAR SLIDES: CCX for Cloud Service Providers
Severalnines
 
FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)
FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)
FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)
Roshan Dwivedi
 
ThaiPy meetup - Indexes and Django
ThaiPy meetup - Indexes and DjangoThaiPy meetup - Indexes and Django
ThaiPy meetup - Indexes and Django
akshesh doshi
 
COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...
COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...
COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...
Hironori Washizaki
 
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTIONBITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
ssuser2b426d1
 
NYC 26-Jun-2024 Combined Presentations.pdf
NYC 26-Jun-2024 Combined Presentations.pdfNYC 26-Jun-2024 Combined Presentations.pdf
NYC 26-Jun-2024 Combined Presentations.pdf
AUGNYC
 
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
karim wahed
 
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
ThousandEyes
 
ENISA Threat Landscape 2023 documentation
ENISA Threat Landscape 2023 documentationENISA Threat Landscape 2023 documentation
ENISA Threat Landscape 2023 documentation
sofiafernandezon
 
CViewSurvey Digitech Pvt Ltd that works on a proven C.A.A.G. model.
CViewSurvey Digitech Pvt Ltd that  works on a proven C.A.A.G. model.CViewSurvey Digitech Pvt Ltd that  works on a proven C.A.A.G. model.
CViewSurvey Digitech Pvt Ltd that works on a proven C.A.A.G. model.
bhatinidhi2001
 
Overview of ERP - Mechlin Technologies.pptx
Overview of ERP - Mechlin Technologies.pptxOverview of ERP - Mechlin Technologies.pptx
Overview of ERP - Mechlin Technologies.pptx
Mitchell Marsh
 
Folding Cheat Sheet #7 - seventh in a series
Folding Cheat Sheet #7 - seventh in a seriesFolding Cheat Sheet #7 - seventh in a series
Folding Cheat Sheet #7 - seventh in a series
Philip Schwarz
 
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple StepsSeamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Estuary Flow
 
Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...
Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...
Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...
Asher Sterkin
 
NBFC Software: Optimize Your Non-Banking Financial Company
NBFC Software: Optimize Your Non-Banking Financial CompanyNBFC Software: Optimize Your Non-Banking Financial Company
NBFC Software: Optimize Your Non-Banking Financial Company
NBFC Softwares
 

Recently uploaded (20)

Independence Day Hasn’t Always Been a U.S. Holiday.pdf
Independence Day Hasn’t Always Been a U.S. Holiday.pdfIndependence Day Hasn’t Always Been a U.S. Holiday.pdf
Independence Day Hasn’t Always Been a U.S. Holiday.pdf
 
Leading Project Management Tool Taskruop.pptx
Leading Project Management Tool Taskruop.pptxLeading Project Management Tool Taskruop.pptx
Leading Project Management Tool Taskruop.pptx
 
Wired_2.0_Create_AmsterdamJUG_09072024.pptx
Wired_2.0_Create_AmsterdamJUG_09072024.pptxWired_2.0_Create_AmsterdamJUG_09072024.pptx
Wired_2.0_Create_AmsterdamJUG_09072024.pptx
 
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
一比一原版英国牛津大学毕业证(oxon毕业证书)如何办理
 
How we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hoursHow we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hours
 
WEBINAR SLIDES: CCX for Cloud Service Providers
WEBINAR SLIDES: CCX for Cloud Service ProvidersWEBINAR SLIDES: CCX for Cloud Service Providers
WEBINAR SLIDES: CCX for Cloud Service Providers
 
FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)
FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)
FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)
 
ThaiPy meetup - Indexes and Django
ThaiPy meetup - Indexes and DjangoThaiPy meetup - Indexes and Django
ThaiPy meetup - Indexes and Django
 
COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...
COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...
COMPSAC 2024 D&I Panel: Charting a Course for Equity: Strategies for Overcomi...
 
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTIONBITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
 
NYC 26-Jun-2024 Combined Presentations.pdf
NYC 26-Jun-2024 Combined Presentations.pdfNYC 26-Jun-2024 Combined Presentations.pdf
NYC 26-Jun-2024 Combined Presentations.pdf
 
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
AWS Cloud Practitioner Essentials (Second Edition) (Arabic) Course Introducti...
 
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
 
ENISA Threat Landscape 2023 documentation
ENISA Threat Landscape 2023 documentationENISA Threat Landscape 2023 documentation
ENISA Threat Landscape 2023 documentation
 
CViewSurvey Digitech Pvt Ltd that works on a proven C.A.A.G. model.
CViewSurvey Digitech Pvt Ltd that  works on a proven C.A.A.G. model.CViewSurvey Digitech Pvt Ltd that  works on a proven C.A.A.G. model.
CViewSurvey Digitech Pvt Ltd that works on a proven C.A.A.G. model.
 
Overview of ERP - Mechlin Technologies.pptx
Overview of ERP - Mechlin Technologies.pptxOverview of ERP - Mechlin Technologies.pptx
Overview of ERP - Mechlin Technologies.pptx
 
Folding Cheat Sheet #7 - seventh in a series
Folding Cheat Sheet #7 - seventh in a seriesFolding Cheat Sheet #7 - seventh in a series
Folding Cheat Sheet #7 - seventh in a series
 
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple StepsSeamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
 
Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...
Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...
Ported to Cloud with Wing_ Blue ZnZone app from _Hexagonal Architecture Expla...
 
NBFC Software: Optimize Your Non-Banking Financial Company
NBFC Software: Optimize Your Non-Banking Financial CompanyNBFC Software: Optimize Your Non-Banking Financial Company
NBFC Software: Optimize Your Non-Banking Financial Company
 

fabric8 ... and Docker, Kubernetes & OpenShift

  • 1. Dr. Roland Huß | Red Hat fabric8 … and Docker, Kubernetes, OpenShift
  • 4. ?
  • 6. Me » Developer (mostly Java) » Open Source – Jolokia: JMX-HTTP Bridge – docker-maven-plugin » Software Engineer @ Red Hat – (since May) » Contact: – Blog: https://ro14nd.de – Twitter: @ro14nd
  • 7. OS Level Virtualisation Docker Orchestration PaaS Platform on top of Kubernetes Services and Tools for Kubernetes and OpenShift
  • 9. Facts » OS level virtualisation tool suite » Client-Server architecture – Server communicates via Unix- or INET- Sockets with a REST API » Docker commands via CLI » Written in Go » Current version: 1.6
  • 10. Lightweight Container vs. VM Containers are isolated, but sharing the kernel and (some) files ➜ faster & lighter
  • 11. Concepts » Image – Read-only filesystem layer – Deploy & Share – Blueprint for a container » Container – Read-write filesystem layer (copy-on-write) – Instance of an image – Has a lifecycle (start & stop)
  • 12. Concepts » Repository – Collection of layered images – often synonym for “Image” – Has a name: registry/user/repository:tag » Registry – Storage for repositories – Default: docker.io (public docker hub)
  • 13. docker » CLI for managing Docker – docker <sub-command> … ps Show all containers images Show all images run Create and run a container search Seaarch for images on a registry pull Dowmload of images rm Remove container rmi Remove image
  • 15. Facts » Open Source orchestration platform for Docker containers – Rewrite of Google’s internal framework “Borg” » Declarative specification of a desired state » Self-healing » Service discovery » Scheduling across hosts » Simple replication
  • 17. Concepts » Pods – Collection of one or more Docker containers » Replication Controller – Creates and takes care of Pods » Services – Proxy for a collection of Pods » Labels – Grouping and organisation of Objects
  • 18. Pod » Collection of Docker containers running on the same host. » Pods have a unique IP » Containers in a Pod …. – …. share the same IP – …. can reach each other via local ports – …. can share data via volumes » Pods can have one or more Labels
  • 19. Replication Controller » Controls Pods selected by Labels » Ensures that a specified number of Pod replicas is running » Holds Pod Templates for creating new Pods » Autoscaling » Rolling Updates
  • 21. Service » View on a set of Pods with single IP address and port » Pods are selected by Label » Services are referenced by environment variables » Service addresses stay stable – Pods come and go (with different IPs)
  • 23. kubectl » CLI for managing Kubernetes – kubectl <sub-command> … get pods get services get rc Show pods/service/replication controllers create Create objects update Update objects delete Delete objects resize New size for a RC
  • 25. History » 2011: Platform-as-a-Service (PaaS) from Red Hat » Three variants: – Online - Public PaaS – Enterprise - Private PaaS – Origin - Community PaaS » OpenShift V3: Complete rewrite on basis of Kubernetes
  • 26. Features » Adds the “Build” aspect to Kubernetes » Developer and Operation Tools » Application Component Libraries » Infrastructure Services – Registry, Router, OAuth2 Security » Team and user isolation (multi-tenancy) » Management UI
  • 27. Builds » Extension for building images » Docker Builds – Build images get access to enclosing Docker daemon. » Source-To-Image – Assembly of new image from a builder image and source code – Often combined with a Webhook for automatic builds
  • 28. Templates » Templates allow the specifications of replication controller, services, … » Parameter slots can be filled in … – from the CLI wit osc process – from the User Interface » might become a Kubernetes feature in the future
  • 29. Templates { "apiVersion": "v1beta1", "kind": "Template", "metadata": { "name": "Template_Name", "annotations": { "description": "Description" } }, "parameters": [{ "name": "username" "value": "admin" "description": "administrative user" }], "labels": { "custom_label": "Label_Name" }, "items": [{ ... }] }
  • 30. Deployments » Update of a replication controller’s pod template – based on triggers ‣ image change ‣ configuration change – custom deployment strategies – rollback support – replication scaling
  • 31. Registry » OpenShift provides an own Docker registry as service » OpenShift projects are mapped to registry user – e.g. for an image “fabric8/console” to be pushed there must exist a OpenShift project “fabric8”
  • 32. Router » External DNS mapping to services – based on HAProxy » Different types of TLS termination – edge : TLS terminates at the router – passthrough: TLS stream is handle through to the service – re-encryption: TLS terminates at the router and is re-encrypted for the service
  • 34. osc » OpenShift CLI » Extension to kubectl process Process Templates project Change namespace/project get routes Show created routes port-forward Port forwarding into pod exec Execute process in running pod
  • 36. fabric8 » Tools and Services for value add to Kubernetes and OpenShift – Management: console, logging, metrics, … – Continous Delivery Workflow – iPaaS: Camel route visualisation, API registry, Messaging as a Service, … – Tools: Kubernetes/OpenShift build integration, Kubernetes component test support, CDI extensions
  • 37. History » Fuse ESB: Open Source integration platform by FuseSource » Fabric: Extension for managing many ESBs » Red Hat acquired FuseSource in 2012 – Fuse ESB JBoss Fuse – Fabric (closed) fabric8 (open source)
  • 38. » fabric8 1.x is based on Zookeeper as central view of the system – JBoss Fuse 6.1: fabric8 1.0 – JBoss Fuse 6.2: fabric8 1.2.x » fabric8 2.x sits on top of Kubernetes – fabric8 1.x functionality became Jube, a pure Java implementation of the Kubernetes API
  • 39. Management » Web console for Kubernetes – Starting/Stopping of pods – Changing Replicas – Individual management of pods – based on hawt.io
  • 42. iPaas » Console for visualising and working with integration services – e.g. showing the Camel routes » API registry for a global view of all RESTful and WebServices » MQ provides Messaging as a Service – based on ActiveMQ – allows autoscaling
  • 43. Tools » fabric8-maven-plugin – Creates and apply Kubernetes descriptors out of build informations – Creates OpenShift routes – Deploys kubernetes.json as Maven artefacts
  • 44. Tools » Arquillian extension for testing – Provision containers to Kubernetes – Separate namespace per test (isolation) – Annotations for injecting Kubernetes objects – Assertions on Kubernetes objects » Java Libraries – Access to Kubernetes API – CDI injections of Kubernetes Services – ….
  • 45. Summary » Docker is the perfect foundation for a container based infrastructure » Kubernetes is a powerful Docker orchestration platform backed with great momentum » OpenShift as a PaaS adds the “Build” dimension to Kubernetes » Fabric8 adds services and Java tooling to Docker, Kubernetes and OpenShift