SlideShare a Scribd company logo
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Inserting CoreOS DNA for
Creating Docker Clusters.
Advanced Technology Group
September 16th, 2015
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Inserting CoreOS DNA for
Creating Docker Clusters.
Why? What’s the goal of this presentation?
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
About the speaker
● Patrick Galbraith
● HP Advanced Technology Group
● Has worked at Blue Gecko, MySQL AB, Classmates,
Slashdot, Cobalt Group, US Navy, K-mart
● MySQL projects: memcached UDFs, DBD::mysql,
Ansible HP switch drivers
● federated storage engine
● Family
● Outdoors
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.4
Enterprise workloads are migrating towards
Docker
Server
Host OS
Docker
bins+libs
Workload
B
Workload
A
bins+libs
Docker
Server
Host OS
Hypervisor
Guest OSGuest OS
bins+libs
Workload
B
Workload
A
bins+libs
Virtual
Machine
Docker is Great
• Lightweight “container” technology.
• Intelligent Packaging – Docker Images
• Intelligent Deployment – Docker
Containers
• Rapidly evolving ecosystem.
• Linux IS the API.
Docker has some gaps
• Scalability: Docker is a host application.
• Not Multi-Tenant.
• No comprehensive Host-to-Host
networking.
• Host OS maintenance is not included.
• No workload (Docker Container)
distribution.
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.5
Clustering Docker – What’s Important
Coordination
Configuration + discovery for the base cluster, and
applications.
Deployment Deploy a Docker Image to some node in the cluster.
Scheduler Place containers efficiently on to the cluster.
Network Inter-Host networking is obscured in the default Docker model.
The default model uses an internal only bridge.
Maintenance
Install & update the base system in a scalable and effective
way.
Note: Docker provides its own system: Images & Containers.
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.6
Existing Approaches to Clustering Docker
• Coreos
• Kubernetes
• Swarm
• Docker Machine
• Project Atomic
• Apache Mesos
• RancherOS
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
CoreOS DNA
The Clustered
Docker Proof of
Concept
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.8
Use Cases:
• In Cloud
• Moonshot
• Bare metal
Single Node – CoreOS DNA
Linux Kernel
etcd
fleetd
Base System
CoreOS DNA Node
dockerd
Docker Containers
systemd
App Container
1
App Container
…
Port: 4001
Fleetctl interacts with
fleetd by directly
changing values in
etcd.
etcdctl
Client(s)
fleetctl
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.9
CoreOS DNA Cluster
Cluster Configuration – CoreOS DNA
CoreOS DNA Node
Docker
Containers etcd
fleetd
dockerd
systemd
CoreOS DNA Node
Docker
Containers etcd
fleetd
dockerd
systemd
CoreOS DNA Node
Docker
Containers etcd
fleetd
dockerd
systemd…
etcd Discovery
Server
etcd
http://discovery.etcd.io
Docker
Registry
Images
Discovery
Control Node
(jump box)
etcdctl
fleetctl
ssh
1
2
3
1. Cluster Start
(etcd
discovery)
2. Container Start
( fleetctl )
3. Docker
Download
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.10
Networking as deployed – CoreOS DNA
eth0
Linux Kernel
etcd
fleetd
CoreOS DNA Node
dockerd
Docker Containers
Container
Container
Container
Container
docker0
172.x.x.x
iptables
port
mapping
Netfilter
CoreOS
DNA Node
CoreOS
DNA Node
CoreOS
DNA Node
Neutron Router
10.x.x.
x
Public
Internet
15.x.x.
x
NA
T
172.x.x.x - Docker Internal
10.x.x.x - Host (private) Network
15.x.x.x - Public (NAT’ed)
Addresses
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.11
ELK Stack + Sinatra Worker Agents (ELK - Elasticsearch, Logstash, Kibana)
Example Application – CoreOS DNA
CoreOS DNA Cluster
CoreOS DNA Node
Docker
Containers etcd
fleetd
dockerd
systemd
CoreOS DNA Node
Docker
Containers etcd
fleetd
dockerd
systemd
CoreOS DNA Node
Docker
Containers etcd
fleetd
dockerd
systemd…
Agent “@5001”
Agent “@5003”
Agent “@5002”
Agent “@5000”
Nginx Logstash
Elasticsearch
+ Kabanna Docker
Images
Fleet Mapped
(scheduled into)
Docker
Containers
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Building the POC
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.13
Building the cluster Using Ansible
Ansible Modules
• Nova_compute – to launch instances
• Nova_facts – used to build inventory files for launched instances
• Docker and docker_facts – used to run containers outside of fleet (testing) and
verification
• Docker_pull – pre-pull images on instances for faster launch by systemd (via fleet)
Using Ansible to provision etcd and build clusters
• query discovery URL
• write URL to local file ad set as a variable
• render etcd service file with the variable
• Build, configure, and run etcd
• Build, configure and run Fleet
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.14
The Special Sauce
Etcd
• Integral to cluster functioning.
• Fleet communicates with etcd to obtain key/values from etcd.
• Etcd also used by the sample ELK app to store key/value pairs used by confd to render
config files upon running containers (boot).
Confd
• Stored in each Docker container.
• Keeps an eye on files rendered.
• Can use etcd key/value pairs to interpolate what it rendered.
• Automatically keeps config files up to date with etcd information.
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.15
Sample App unit files
Systemd unit files
• Unit file directives
– ExecStartPre – pull image
– ExecStart – run container
– ExecStartPost– set IP of the container in etcd
– ExecStopPost – remove IP in etcd upon container stop
• ElasticSearch – sets its own public and private IPs in etcd for discovery by logstash
• Logstash – sets its own IP in etcd for discovery by logstash agents
• Sinatra app – sets title of app in etcd as well as IP addresses for discovery by nginx to
generate nginx conf using confd
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.16
Sample App container Dockerfiles
Docker file functionality
• ElasticSearch – install confd, install and configure elasticsearch, install kopf and kibana
plugins,expose port 9200, launch
• Logstash – Install confd, Install and configure logstash, run boot script
• Sinatra – Install sinatra, confd, place logstash agent, expose port 5000, run boot.sh
• Nginx – Install nginx, confd, run boot.sh
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.17
Sample App container CMD scripts
Boot Script
• Logstash – render logstash config (confd –onetime), generate SSL private key and cert,
stores in etcd, then run logstash
• Sinatra – render app.rb, SSL cert and keys, logstash forwarder config, start logstash
forwarder, start sinatra app (foreman)
• Nginx – render nginx.conf (-onetime) and start confd to check and update conf every 10
minutes, start nginx, tail nginx logs
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.18
Confd – resource file (nginx)
[template]
keys = [ "app/server", "elasticsearch/host" ]
owner = "nginx"
mode = "0644"
src = "nginx.conf.tmpl"
dest = "/etc/nginx/sites-enabled/docker_dns.conf"
check_cmd = "/usr/sbin/nginx -t -c /etc/nginx/nginx.conf"
reload_cmd = "/usr/sbin/service nginx reload"
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.19
Confd – template (nginx)
upstream app {
{{ range $server := .app_server }}
server {{ $server.Value }};
{{ end }}
}
…
upstream elasticsearch {
server {{ .elasticsearch_host }}:9200;
keepalive 15;
}
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.20
Looking at etcd
ubuntu@dod-01:~$ etcdctl ls --recursive
/elasticsearch
/elasticsearch/host
/elasticsearch/hostpublic
/logstash
/logstash/ssl_certificate
/logstash/ssl_private_key
/logstash/host
/app
/app/title
/app/server
/app/server/5000
/app/server/5001
/app/server/5002
/app/server/5003
ubuntu@dod-01:~$ etcdctl get /app/server/5000
10.0.0.58:5000
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.21
The CoreOS DNA Cluster + ELK Stack
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.22
ELK Stack + Sinatra Worker Agents (ELK - Elasticsearch, Logstash, Kibana)
Example Application – Application Architecture
HTT
P
Logstash
Service
HTT
P
Nginx
Port: 80
Key
Docker
Container
HTTP
Logstas
hPublic
Internet
Worker “@5001”
Worker “@5002”
Worker “@5003”
…
Worker
“@5000”Sinatra Service:
“Hello World”
Logstash
Agent
H
T
T
P
etcd
/logstash
/logstash/host
…
/app/server/5000
/app/server/5001
…
/elasticsearch/host
…
etcd
(federated)
Elasticsearc
hKibana
Kopf
Plugins:
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Demohttps://youtu.be/pRtQ0AXYe6M
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Questions, Comments &
Feedback?
Dod Ansible Repository https://github.com/HPATG/DeCore
Sample app code https://github.com/HPATG/sample_a
pp
Marcel De Graaf’s blog post http://marceldegraaf.net/2014/05/05/
coreos-follow-up-sinatra-logstash-
elasticsearch-kibana.html
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Thank You
Advanced Technology Group
Eric Gustafson gustafson@hp.com
Yazz Atlas yazz.atlas@hp.com
Patrick Galbraith patg@hp.com
Special Thanks
Marcel De Graaf http://marceldegraaf.net/
Kelsey Hightower https://github.com/kelseyhightower

More Related Content

What's hot (20)

Open shift enterprise 3.1 paas on kubernetes
Open shift enterprise 3.1   paas on kubernetesOpen shift enterprise 3.1   paas on kubernetes
Open shift enterprise 3.1 paas on kubernetes
Samuel Terburg
 
Docker meetup-20-apr-17-openshit
Docker meetup-20-apr-17-openshitDocker meetup-20-apr-17-openshit
Docker meetup-20-apr-17-openshit
Yusuf Hadiwinata Sutandar
 
Build a PaaS with OpenShift Origin
Build a PaaS with OpenShift OriginBuild a PaaS with OpenShift Origin
Build a PaaS with OpenShift Origin
Steven Pousty
 
Run it like Google - Story of Devops and Kubernetes Evolution - Past, Present...
Run it like Google - Story of Devops and Kubernetes Evolution - Past, Present...Run it like Google - Story of Devops and Kubernetes Evolution - Past, Present...
Run it like Google - Story of Devops and Kubernetes Evolution - Past, Present...
Initcron Systems Private Limited
 
Build Your Own PaaS, Just like Red Hat's OpenShift from LinuxCon 2013 New Orl...
Build Your Own PaaS, Just like Red Hat's OpenShift from LinuxCon 2013 New Orl...Build Your Own PaaS, Just like Red Hat's OpenShift from LinuxCon 2013 New Orl...
Build Your Own PaaS, Just like Red Hat's OpenShift from LinuxCon 2013 New Orl...
OpenShift Origin
 
Open shift and docker - october,2014
Open shift and docker - october,2014Open shift and docker - october,2014
Open shift and docker - october,2014
Hojoong Kim
 
Dayta AI Seminar - Kubernetes, Docker and AI on Cloud
Dayta AI Seminar - Kubernetes, Docker and AI on CloudDayta AI Seminar - Kubernetes, Docker and AI on Cloud
Dayta AI Seminar - Kubernetes, Docker and AI on Cloud
Jung-Hong Kim
 
Putting The PaaS in OpenStack with Diane Mueller @RedHat
Putting The PaaS in OpenStack with Diane Mueller @RedHat Putting The PaaS in OpenStack with Diane Mueller @RedHat
Putting The PaaS in OpenStack with Diane Mueller @RedHat
OpenShift Origin
 
Containers without docker
Containers without dockerContainers without docker
Containers without docker
Ben Hall
 
John Engates Keynote at Dockercon 14
John Engates Keynote at Dockercon 14John Engates Keynote at Dockercon 14
John Engates Keynote at Dockercon 14
dotCloud
 
SCALE 2011 Deploying OpenStack with Chef
SCALE 2011 Deploying OpenStack with ChefSCALE 2011 Deploying OpenStack with Chef
SCALE 2011 Deploying OpenStack with Chef
Matt Ray
 
DevOps, PaaS and the Modern Enterprise CloudExpo Europe presentation by Diane...
DevOps, PaaS and the Modern Enterprise CloudExpo Europe presentation by Diane...DevOps, PaaS and the Modern Enterprise CloudExpo Europe presentation by Diane...
DevOps, PaaS and the Modern Enterprise CloudExpo Europe presentation by Diane...
OpenShift Origin
 
Docker 101 @KACST Saudi HPC 2016
Docker 101  @KACST Saudi HPC 2016Docker 101  @KACST Saudi HPC 2016
Docker 101 @KACST Saudi HPC 2016
Walid Shaari
 
Pluggable Infrastructure with CI/CD and Docker
Pluggable Infrastructure with CI/CD and DockerPluggable Infrastructure with CI/CD and Docker
Pluggable Infrastructure with CI/CD and Docker
Bob Killen
 
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
Alessandro Arrichiello
 
Cloud Computing Fundamental
Cloud Computing FundamentalCloud Computing Fundamental
Cloud Computing Fundamental
Dony Riyanto
 
[DockerCon 2019] Hardening Docker daemon with Rootless mode
[DockerCon 2019] Hardening Docker daemon with Rootless mode[DockerCon 2019] Hardening Docker daemon with Rootless mode
[DockerCon 2019] Hardening Docker daemon with Rootless mode
Akihiro Suda
 
Are VM Passé?
Are VM Passé? Are VM Passé?
Are VM Passé?
dotCloud
 
Oscon London 2016 - Docker from Development to Production
Oscon London 2016 - Docker from Development to ProductionOscon London 2016 - Docker from Development to Production
Oscon London 2016 - Docker from Development to Production
Patrick Chanezon
 
Docker engine - Indroduc
Docker engine - IndroducDocker engine - Indroduc
Docker engine - Indroduc
Al Gifari
 
Open shift enterprise 3.1 paas on kubernetes
Open shift enterprise 3.1   paas on kubernetesOpen shift enterprise 3.1   paas on kubernetes
Open shift enterprise 3.1 paas on kubernetes
Samuel Terburg
 
Build a PaaS with OpenShift Origin
Build a PaaS with OpenShift OriginBuild a PaaS with OpenShift Origin
Build a PaaS with OpenShift Origin
Steven Pousty
 
Run it like Google - Story of Devops and Kubernetes Evolution - Past, Present...
Run it like Google - Story of Devops and Kubernetes Evolution - Past, Present...Run it like Google - Story of Devops and Kubernetes Evolution - Past, Present...
Run it like Google - Story of Devops and Kubernetes Evolution - Past, Present...
Initcron Systems Private Limited
 
Build Your Own PaaS, Just like Red Hat's OpenShift from LinuxCon 2013 New Orl...
Build Your Own PaaS, Just like Red Hat's OpenShift from LinuxCon 2013 New Orl...Build Your Own PaaS, Just like Red Hat's OpenShift from LinuxCon 2013 New Orl...
Build Your Own PaaS, Just like Red Hat's OpenShift from LinuxCon 2013 New Orl...
OpenShift Origin
 
Open shift and docker - october,2014
Open shift and docker - october,2014Open shift and docker - october,2014
Open shift and docker - october,2014
Hojoong Kim
 
Dayta AI Seminar - Kubernetes, Docker and AI on Cloud
Dayta AI Seminar - Kubernetes, Docker and AI on CloudDayta AI Seminar - Kubernetes, Docker and AI on Cloud
Dayta AI Seminar - Kubernetes, Docker and AI on Cloud
Jung-Hong Kim
 
Putting The PaaS in OpenStack with Diane Mueller @RedHat
Putting The PaaS in OpenStack with Diane Mueller @RedHat Putting The PaaS in OpenStack with Diane Mueller @RedHat
Putting The PaaS in OpenStack with Diane Mueller @RedHat
OpenShift Origin
 
Containers without docker
Containers without dockerContainers without docker
Containers without docker
Ben Hall
 
John Engates Keynote at Dockercon 14
John Engates Keynote at Dockercon 14John Engates Keynote at Dockercon 14
John Engates Keynote at Dockercon 14
dotCloud
 
SCALE 2011 Deploying OpenStack with Chef
SCALE 2011 Deploying OpenStack with ChefSCALE 2011 Deploying OpenStack with Chef
SCALE 2011 Deploying OpenStack with Chef
Matt Ray
 
DevOps, PaaS and the Modern Enterprise CloudExpo Europe presentation by Diane...
DevOps, PaaS and the Modern Enterprise CloudExpo Europe presentation by Diane...DevOps, PaaS and the Modern Enterprise CloudExpo Europe presentation by Diane...
DevOps, PaaS and the Modern Enterprise CloudExpo Europe presentation by Diane...
OpenShift Origin
 
Docker 101 @KACST Saudi HPC 2016
Docker 101  @KACST Saudi HPC 2016Docker 101  @KACST Saudi HPC 2016
Docker 101 @KACST Saudi HPC 2016
Walid Shaari
 
Pluggable Infrastructure with CI/CD and Docker
Pluggable Infrastructure with CI/CD and DockerPluggable Infrastructure with CI/CD and Docker
Pluggable Infrastructure with CI/CD and Docker
Bob Killen
 
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
[Devconf.cz][2017] Understanding OpenShift Security Context Constraints
Alessandro Arrichiello
 
Cloud Computing Fundamental
Cloud Computing FundamentalCloud Computing Fundamental
Cloud Computing Fundamental
Dony Riyanto
 
[DockerCon 2019] Hardening Docker daemon with Rootless mode
[DockerCon 2019] Hardening Docker daemon with Rootless mode[DockerCon 2019] Hardening Docker daemon with Rootless mode
[DockerCon 2019] Hardening Docker daemon with Rootless mode
Akihiro Suda
 
Are VM Passé?
Are VM Passé? Are VM Passé?
Are VM Passé?
dotCloud
 
Oscon London 2016 - Docker from Development to Production
Oscon London 2016 - Docker from Development to ProductionOscon London 2016 - Docker from Development to Production
Oscon London 2016 - Docker from Development to Production
Patrick Chanezon
 
Docker engine - Indroduc
Docker engine - IndroducDocker engine - Indroduc
Docker engine - Indroduc
Al Gifari
 

Viewers also liked (10)

A Dive Into Containers and Docker
A Dive Into Containers and DockerA Dive Into Containers and Docker
A Dive Into Containers and Docker
Matthew Farina
 
Тарас Кирилюк — Docker basics. How-to for Drupal developers
Тарас Кирилюк — Docker basics. How-to for Drupal developersТарас Кирилюк — Docker basics. How-to for Drupal developers
Тарас Кирилюк — Docker basics. How-to for Drupal developers
LEDC 2016
 
Introduction to Docker and Linux Containers @ Cloud Computing Rhein Main
Introduction to Docker and Linux Containers @ Cloud Computing Rhein MainIntroduction to Docker and Linux Containers @ Cloud Computing Rhein Main
Introduction to Docker and Linux Containers @ Cloud Computing Rhein Main
Puja Abbassi
 
Docker networking Tutorial 101
Docker networking Tutorial 101Docker networking Tutorial 101
Docker networking Tutorial 101
LorisPack Project
 
Docker Networking Deep Dive
Docker Networking Deep DiveDocker Networking Deep Dive
Docker Networking Deep Dive
Docker, Inc.
 
Docker networking basics & coupling with Software Defined Networks
Docker networking basics & coupling with Software Defined NetworksDocker networking basics & coupling with Software Defined Networks
Docker networking basics & coupling with Software Defined Networks
Adrien Blind
 
Docker Networking: Control plane and Data plane
Docker Networking: Control plane and Data planeDocker Networking: Control plane and Data plane
Docker Networking: Control plane and Data plane
Docker, Inc.
 
Docker by Example - Basics
Docker by Example - Basics Docker by Example - Basics
Docker by Example - Basics
Ganesh Samarthyam
 
Docker 101 - Nov 2016
Docker 101 - Nov 2016Docker 101 - Nov 2016
Docker 101 - Nov 2016
Docker, Inc.
 
Docker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to Docker
Docker, Inc.
 
A Dive Into Containers and Docker
A Dive Into Containers and DockerA Dive Into Containers and Docker
A Dive Into Containers and Docker
Matthew Farina
 
Тарас Кирилюк — Docker basics. How-to for Drupal developers
Тарас Кирилюк — Docker basics. How-to for Drupal developersТарас Кирилюк — Docker basics. How-to for Drupal developers
Тарас Кирилюк — Docker basics. How-to for Drupal developers
LEDC 2016
 
Introduction to Docker and Linux Containers @ Cloud Computing Rhein Main
Introduction to Docker and Linux Containers @ Cloud Computing Rhein MainIntroduction to Docker and Linux Containers @ Cloud Computing Rhein Main
Introduction to Docker and Linux Containers @ Cloud Computing Rhein Main
Puja Abbassi
 
Docker networking Tutorial 101
Docker networking Tutorial 101Docker networking Tutorial 101
Docker networking Tutorial 101
LorisPack Project
 
Docker Networking Deep Dive
Docker Networking Deep DiveDocker Networking Deep Dive
Docker Networking Deep Dive
Docker, Inc.
 
Docker networking basics & coupling with Software Defined Networks
Docker networking basics & coupling with Software Defined NetworksDocker networking basics & coupling with Software Defined Networks
Docker networking basics & coupling with Software Defined Networks
Adrien Blind
 
Docker Networking: Control plane and Data plane
Docker Networking: Control plane and Data planeDocker Networking: Control plane and Data plane
Docker Networking: Control plane and Data plane
Docker, Inc.
 
Docker 101 - Nov 2016
Docker 101 - Nov 2016Docker 101 - Nov 2016
Docker 101 - Nov 2016
Docker, Inc.
 
Docker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to Docker
Docker, Inc.
 

Similar to Core os dna_automacon (20)

Extending Build to the Client: A Maven User's Guide to Grunt.js
Extending Build to the Client: A Maven User's Guide to Grunt.jsExtending Build to the Client: A Maven User's Guide to Grunt.js
Extending Build to the Client: A Maven User's Guide to Grunt.js
Petr Jiricka
 
Docker module 1
Docker module 1Docker module 1
Docker module 1
Liang Bo
 
Node.js und die Oracle-Datenbank
Node.js und die Oracle-DatenbankNode.js und die Oracle-Datenbank
Node.js und die Oracle-Datenbank
Carsten Czarski
 
Docker Overview - Rise of the Containers
Docker Overview - Rise of the ContainersDocker Overview - Rise of the Containers
Docker Overview - Rise of the Containers
Ryan Hodgin
 
ContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small business
Docker-Hanoi
 
Dockerizing Oracle Database
Dockerizing Oracle Database Dockerizing Oracle Database
Dockerizing Oracle Database
gvenzl
 
Killer Docker Workflows for Development
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for Development
Chris Tankersley
 
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Patrick Chanezon
 
Ceph Day Shanghai - Hyper Converged PLCloud with Ceph
Ceph Day Shanghai - Hyper Converged PLCloud with Ceph Ceph Day Shanghai - Hyper Converged PLCloud with Ceph
Ceph Day Shanghai - Hyper Converged PLCloud with Ceph
Ceph Community
 
Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment
Arun prasath
 
CoreOS @Codetalks Hamburg
CoreOS @Codetalks HamburgCoreOS @Codetalks Hamburg
CoreOS @Codetalks Hamburg
Timo Derstappen
 
Accelerate your development with Docker
Accelerate your development with DockerAccelerate your development with Docker
Accelerate your development with Docker
Andrey Hristov
 
Accelerate your software development with Docker
Accelerate your software development with DockerAccelerate your software development with Docker
Accelerate your software development with Docker
Andrey Hristov
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetes
Dongwon Kim
 
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
Patrick Chanezon
 
Best Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker ContainersBest Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker Containers
BlueData, Inc.
 
OpenStack in 10 minutes with Devstack
OpenStack in 10 minutes with DevstackOpenStack in 10 minutes with Devstack
OpenStack in 10 minutes with Devstack
Sean Dague
 
20150425 experimenting with openstack sahara on docker
20150425 experimenting with openstack sahara on docker20150425 experimenting with openstack sahara on docker
20150425 experimenting with openstack sahara on docker
Wei Ting Chen
 
WSO2Con USA 2015: Revolutionizing WSO2 PaaS with Kubernetes & App Factory
WSO2Con USA 2015: Revolutionizing WSO2 PaaS with Kubernetes & App FactoryWSO2Con USA 2015: Revolutionizing WSO2 PaaS with Kubernetes & App Factory
WSO2Con USA 2015: Revolutionizing WSO2 PaaS with Kubernetes & App Factory
WSO2
 
Laravel, docker, kubernetes
Laravel, docker, kubernetesLaravel, docker, kubernetes
Laravel, docker, kubernetes
Peter Mein
 
Extending Build to the Client: A Maven User's Guide to Grunt.js
Extending Build to the Client: A Maven User's Guide to Grunt.jsExtending Build to the Client: A Maven User's Guide to Grunt.js
Extending Build to the Client: A Maven User's Guide to Grunt.js
Petr Jiricka
 
Docker module 1
Docker module 1Docker module 1
Docker module 1
Liang Bo
 
Node.js und die Oracle-Datenbank
Node.js und die Oracle-DatenbankNode.js und die Oracle-Datenbank
Node.js und die Oracle-Datenbank
Carsten Czarski
 
Docker Overview - Rise of the Containers
Docker Overview - Rise of the ContainersDocker Overview - Rise of the Containers
Docker Overview - Rise of the Containers
Ryan Hodgin
 
ContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small businessContainerDayVietnam2016: Dockerize a small business
ContainerDayVietnam2016: Dockerize a small business
Docker-Hanoi
 
Dockerizing Oracle Database
Dockerizing Oracle Database Dockerizing Oracle Database
Dockerizing Oracle Database
gvenzl
 
Killer Docker Workflows for Development
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for Development
Chris Tankersley
 
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Patrick Chanezon
 
Ceph Day Shanghai - Hyper Converged PLCloud with Ceph
Ceph Day Shanghai - Hyper Converged PLCloud with Ceph Ceph Day Shanghai - Hyper Converged PLCloud with Ceph
Ceph Day Shanghai - Hyper Converged PLCloud with Ceph
Ceph Community
 
Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment
Arun prasath
 
CoreOS @Codetalks Hamburg
CoreOS @Codetalks HamburgCoreOS @Codetalks Hamburg
CoreOS @Codetalks Hamburg
Timo Derstappen
 
Accelerate your development with Docker
Accelerate your development with DockerAccelerate your development with Docker
Accelerate your development with Docker
Andrey Hristov
 
Accelerate your software development with Docker
Accelerate your software development with DockerAccelerate your software development with Docker
Accelerate your software development with Docker
Andrey Hristov
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetes
Dongwon Kim
 
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
Patrick Chanezon
 
Best Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker ContainersBest Practices for Running Kafka on Docker Containers
Best Practices for Running Kafka on Docker Containers
BlueData, Inc.
 
OpenStack in 10 minutes with Devstack
OpenStack in 10 minutes with DevstackOpenStack in 10 minutes with Devstack
OpenStack in 10 minutes with Devstack
Sean Dague
 
20150425 experimenting with openstack sahara on docker
20150425 experimenting with openstack sahara on docker20150425 experimenting with openstack sahara on docker
20150425 experimenting with openstack sahara on docker
Wei Ting Chen
 
WSO2Con USA 2015: Revolutionizing WSO2 PaaS with Kubernetes & App Factory
WSO2Con USA 2015: Revolutionizing WSO2 PaaS with Kubernetes & App FactoryWSO2Con USA 2015: Revolutionizing WSO2 PaaS with Kubernetes & App Factory
WSO2Con USA 2015: Revolutionizing WSO2 PaaS with Kubernetes & App Factory
WSO2
 
Laravel, docker, kubernetes
Laravel, docker, kubernetesLaravel, docker, kubernetes
Laravel, docker, kubernetes
Peter Mein
 

Recently uploaded (20)

Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025
mu394968
 
Download Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With LatestDownload Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With Latest
tahirabibi60507
 
Expand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchangeExpand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchange
Fexle Services Pvt. Ltd.
 
Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025
kashifyounis067
 
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& ConsiderationsDesigning AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Dinusha Kumarasiri
 
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRYLEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
NidaFarooq10
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
Solidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license codeSolidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license code
aneelaramzan63
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
University of Hawai‘i at Mānoa
 
PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Andre Hora
 
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
steaveroggers
 
Top 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docxTop 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docx
Portli
 
The Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdfThe Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdf
drewplanas10
 
Pixologic ZBrush Crack Plus Activation Key [Latest 2025] New Version
Pixologic ZBrush Crack Plus Activation Key [Latest 2025] New VersionPixologic ZBrush Crack Plus Activation Key [Latest 2025] New Version
Pixologic ZBrush Crack Plus Activation Key [Latest 2025] New Version
saimabibi60507
 
Maxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINKMaxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINK
younisnoman75
 
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Orangescrum
 
Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025
mu394968
 
Download Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With LatestDownload Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With Latest
tahirabibi60507
 
Expand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchangeExpand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchange
Fexle Services Pvt. Ltd.
 
Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025
kashifyounis067
 
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& ConsiderationsDesigning AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Dinusha Kumarasiri
 
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRYLEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
NidaFarooq10
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
Solidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license codeSolidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license code
aneelaramzan63
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
University of Hawai‘i at Mānoa
 
PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Andre Hora
 
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
steaveroggers
 
Top 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docxTop 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docx
Portli
 
The Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdfThe Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdf
drewplanas10
 
Pixologic ZBrush Crack Plus Activation Key [Latest 2025] New Version
Pixologic ZBrush Crack Plus Activation Key [Latest 2025] New VersionPixologic ZBrush Crack Plus Activation Key [Latest 2025] New Version
Pixologic ZBrush Crack Plus Activation Key [Latest 2025] New Version
saimabibi60507
 
Maxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINKMaxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINK
younisnoman75
 
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Orangescrum
 

Core os dna_automacon

  • 1. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. Inserting CoreOS DNA for Creating Docker Clusters. Advanced Technology Group September 16th, 2015
  • 2. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. Inserting CoreOS DNA for Creating Docker Clusters. Why? What’s the goal of this presentation?
  • 3. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. About the speaker ● Patrick Galbraith ● HP Advanced Technology Group ● Has worked at Blue Gecko, MySQL AB, Classmates, Slashdot, Cobalt Group, US Navy, K-mart ● MySQL projects: memcached UDFs, DBD::mysql, Ansible HP switch drivers ● federated storage engine ● Family ● Outdoors
  • 4. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.4 Enterprise workloads are migrating towards Docker Server Host OS Docker bins+libs Workload B Workload A bins+libs Docker Server Host OS Hypervisor Guest OSGuest OS bins+libs Workload B Workload A bins+libs Virtual Machine Docker is Great • Lightweight “container” technology. • Intelligent Packaging – Docker Images • Intelligent Deployment – Docker Containers • Rapidly evolving ecosystem. • Linux IS the API. Docker has some gaps • Scalability: Docker is a host application. • Not Multi-Tenant. • No comprehensive Host-to-Host networking. • Host OS maintenance is not included. • No workload (Docker Container) distribution.
  • 5. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.5 Clustering Docker – What’s Important Coordination Configuration + discovery for the base cluster, and applications. Deployment Deploy a Docker Image to some node in the cluster. Scheduler Place containers efficiently on to the cluster. Network Inter-Host networking is obscured in the default Docker model. The default model uses an internal only bridge. Maintenance Install & update the base system in a scalable and effective way. Note: Docker provides its own system: Images & Containers.
  • 6. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.6 Existing Approaches to Clustering Docker • Coreos • Kubernetes • Swarm • Docker Machine • Project Atomic • Apache Mesos • RancherOS
  • 7. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. CoreOS DNA The Clustered Docker Proof of Concept
  • 8. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.8 Use Cases: • In Cloud • Moonshot • Bare metal Single Node – CoreOS DNA Linux Kernel etcd fleetd Base System CoreOS DNA Node dockerd Docker Containers systemd App Container 1 App Container … Port: 4001 Fleetctl interacts with fleetd by directly changing values in etcd. etcdctl Client(s) fleetctl
  • 9. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.9 CoreOS DNA Cluster Cluster Configuration – CoreOS DNA CoreOS DNA Node Docker Containers etcd fleetd dockerd systemd CoreOS DNA Node Docker Containers etcd fleetd dockerd systemd CoreOS DNA Node Docker Containers etcd fleetd dockerd systemd… etcd Discovery Server etcd http://discovery.etcd.io Docker Registry Images Discovery Control Node (jump box) etcdctl fleetctl ssh 1 2 3 1. Cluster Start (etcd discovery) 2. Container Start ( fleetctl ) 3. Docker Download
  • 10. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.10 Networking as deployed – CoreOS DNA eth0 Linux Kernel etcd fleetd CoreOS DNA Node dockerd Docker Containers Container Container Container Container docker0 172.x.x.x iptables port mapping Netfilter CoreOS DNA Node CoreOS DNA Node CoreOS DNA Node Neutron Router 10.x.x. x Public Internet 15.x.x. x NA T 172.x.x.x - Docker Internal 10.x.x.x - Host (private) Network 15.x.x.x - Public (NAT’ed) Addresses
  • 11. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.11 ELK Stack + Sinatra Worker Agents (ELK - Elasticsearch, Logstash, Kibana) Example Application – CoreOS DNA CoreOS DNA Cluster CoreOS DNA Node Docker Containers etcd fleetd dockerd systemd CoreOS DNA Node Docker Containers etcd fleetd dockerd systemd CoreOS DNA Node Docker Containers etcd fleetd dockerd systemd… Agent “@5001” Agent “@5003” Agent “@5002” Agent “@5000” Nginx Logstash Elasticsearch + Kabanna Docker Images Fleet Mapped (scheduled into) Docker Containers
  • 12. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. Building the POC
  • 13. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.13 Building the cluster Using Ansible Ansible Modules • Nova_compute – to launch instances • Nova_facts – used to build inventory files for launched instances • Docker and docker_facts – used to run containers outside of fleet (testing) and verification • Docker_pull – pre-pull images on instances for faster launch by systemd (via fleet) Using Ansible to provision etcd and build clusters • query discovery URL • write URL to local file ad set as a variable • render etcd service file with the variable • Build, configure, and run etcd • Build, configure and run Fleet
  • 14. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.14 The Special Sauce Etcd • Integral to cluster functioning. • Fleet communicates with etcd to obtain key/values from etcd. • Etcd also used by the sample ELK app to store key/value pairs used by confd to render config files upon running containers (boot). Confd • Stored in each Docker container. • Keeps an eye on files rendered. • Can use etcd key/value pairs to interpolate what it rendered. • Automatically keeps config files up to date with etcd information.
  • 15. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.15 Sample App unit files Systemd unit files • Unit file directives – ExecStartPre – pull image – ExecStart – run container – ExecStartPost– set IP of the container in etcd – ExecStopPost – remove IP in etcd upon container stop • ElasticSearch – sets its own public and private IPs in etcd for discovery by logstash • Logstash – sets its own IP in etcd for discovery by logstash agents • Sinatra app – sets title of app in etcd as well as IP addresses for discovery by nginx to generate nginx conf using confd
  • 16. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.16 Sample App container Dockerfiles Docker file functionality • ElasticSearch – install confd, install and configure elasticsearch, install kopf and kibana plugins,expose port 9200, launch • Logstash – Install confd, Install and configure logstash, run boot script • Sinatra – Install sinatra, confd, place logstash agent, expose port 5000, run boot.sh • Nginx – Install nginx, confd, run boot.sh
  • 17. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.17 Sample App container CMD scripts Boot Script • Logstash – render logstash config (confd –onetime), generate SSL private key and cert, stores in etcd, then run logstash • Sinatra – render app.rb, SSL cert and keys, logstash forwarder config, start logstash forwarder, start sinatra app (foreman) • Nginx – render nginx.conf (-onetime) and start confd to check and update conf every 10 minutes, start nginx, tail nginx logs
  • 18. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.18 Confd – resource file (nginx) [template] keys = [ "app/server", "elasticsearch/host" ] owner = "nginx" mode = "0644" src = "nginx.conf.tmpl" dest = "/etc/nginx/sites-enabled/docker_dns.conf" check_cmd = "/usr/sbin/nginx -t -c /etc/nginx/nginx.conf" reload_cmd = "/usr/sbin/service nginx reload"
  • 19. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.19 Confd – template (nginx) upstream app { {{ range $server := .app_server }} server {{ $server.Value }}; {{ end }} } … upstream elasticsearch { server {{ .elasticsearch_host }}:9200; keepalive 15; }
  • 20. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.20 Looking at etcd ubuntu@dod-01:~$ etcdctl ls --recursive /elasticsearch /elasticsearch/host /elasticsearch/hostpublic /logstash /logstash/ssl_certificate /logstash/ssl_private_key /logstash/host /app /app/title /app/server /app/server/5000 /app/server/5001 /app/server/5002 /app/server/5003 ubuntu@dod-01:~$ etcdctl get /app/server/5000 10.0.0.58:5000
  • 21. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.21 The CoreOS DNA Cluster + ELK Stack
  • 22. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.22 ELK Stack + Sinatra Worker Agents (ELK - Elasticsearch, Logstash, Kibana) Example Application – Application Architecture HTT P Logstash Service HTT P Nginx Port: 80 Key Docker Container HTTP Logstas hPublic Internet Worker “@5001” Worker “@5002” Worker “@5003” … Worker “@5000”Sinatra Service: “Hello World” Logstash Agent H T T P etcd /logstash /logstash/host … /app/server/5000 /app/server/5001 … /elasticsearch/host … etcd (federated) Elasticsearc hKibana Kopf Plugins:
  • 23. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. Demohttps://youtu.be/pRtQ0AXYe6M
  • 24. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. Questions, Comments & Feedback? Dod Ansible Repository https://github.com/HPATG/DeCore Sample app code https://github.com/HPATG/sample_a pp Marcel De Graaf’s blog post http://marceldegraaf.net/2014/05/05/ coreos-follow-up-sinatra-logstash- elasticsearch-kibana.html
  • 25. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. Thank You Advanced Technology Group Eric Gustafson [email protected] Yazz Atlas [email protected] Patrick Galbraith [email protected] Special Thanks Marcel De Graaf http://marceldegraaf.net/ Kelsey Hightower https://github.com/kelseyhightower

Editor's Notes

  • #3: Our goal is to begin a conversation across a set of Helion teams. The topic is deeply technical  involving engineering early, (and not just PM). History: ATG was asked to form an opinion regarding CoreOS Conclusion: neither CoreOS, nor Project Atomic were ideal. #1 – Create a proof-of-concept in the form of a reusable prototype + demo as a means of discovery. #2 – Present the results to the appropriate audience(s). The discoveries do not fit neatly into existing team(s). It is unclear which product management team(s) could be responsible. The issues are sufficiently technical to require both eng & pm engagement. This presentation is the beginning of the discussion. A note about the code name: CoreOS DNA It is intentionally a code name. The term is NOT intended to be a product name. The “product” may not even be a single Helion product.
  • #6: Flannel solves this by giving us networking between containers on that bridged network
  • #10: Cluster Start (etcd discovery) Container Start (fleetctl) Docker Image download.
  • #11: This diagram depicts “as deployed” networking. * Homogeneous – all the same The “demo” environment depicts todays typical configuration and is instructional. Terminology, today, can be ambiguous. Use the subnet prefix when reading this presentation and the demo to disambiguate. Docker-Networking projects are rapidly evolving. It is not clear if the proof-of-concept’s architecture will remain. The proof-of-concept is flexible to major changes in the Docker-Networking best practices.