docker networking with clocker and weave
DESCRIPTION
Talk given at Edinburgh Docker Meetup, November 2014.TRANSCRIPT
![Page 1: Docker Networking with Clocker and Weave](https://reader034.vdocuments.us/reader034/viewer/2022042715/559668511a28ab84128b464e/html5/thumbnails/1.jpg)
Docker Networking with Clocker and Weave
Andrew Kennedy @grkvlt Edinburgh Docker Meetup, November 2014
![Page 2: Docker Networking with Clocker and Weave](https://reader034.vdocuments.us/reader034/viewer/2022042715/559668511a28ab84128b464e/html5/thumbnails/2.jpg)
Introduc)on • Andrew Kennedy – So1ware Engineer – Open Source – github.com/grkvlt
• Cloudso1 Corpora)on – Local (CodeBase) Company – We’re Hiring…
![Page 3: Docker Networking with Clocker and Weave](https://reader034.vdocuments.us/reader034/viewer/2022042715/559668511a28ab84128b464e/html5/thumbnails/3.jpg)
Introduc)on • Moving Parts • Docker • Weave • Clocker • Brooklyn
• Demonstra)on
![Page 4: Docker Networking with Clocker and Weave](https://reader034.vdocuments.us/reader034/viewer/2022042715/559668511a28ab84128b464e/html5/thumbnails/4.jpg)
Clocker Project • What does it do? – Manages Docker Infrastructure – Deploys Blueprints to Docker
• What is it? – Brooklyn Applica)on – Brooklyn Loca)on
![Page 5: Docker Networking with Clocker and Weave](https://reader034.vdocuments.us/reader034/viewer/2022042715/559668511a28ab84128b464e/html5/thumbnails/5.jpg)
Docker • Popular – Huge Ecosystem – Growing – Complex
• Containers – Isola)on – Performance – Composable
![Page 6: Docker Networking with Clocker and Weave](https://reader034.vdocuments.us/reader034/viewer/2022042715/559668511a28ab84128b464e/html5/thumbnails/6.jpg)
Docker
![Page 7: Docker Networking with Clocker and Weave](https://reader034.vdocuments.us/reader034/viewer/2022042715/559668511a28ab84128b464e/html5/thumbnails/7.jpg)
LimitaEons…
Docker LimitaEons…
![Page 8: Docker Networking with Clocker and Weave](https://reader034.vdocuments.us/reader034/viewer/2022042715/559668511a28ab84128b464e/html5/thumbnails/8.jpg)
Docker Limita)ons • Mul)ple Hosts • Networking – Same Issue – Communica)on Between Services
• Orchestra)on and Clustering – Control of Containers – Container Management
![Page 9: Docker Networking with Clocker and Weave](https://reader034.vdocuments.us/reader034/viewer/2022042715/559668511a28ab84128b464e/html5/thumbnails/9.jpg)
Docker Limita)ons • Plugin API will Help • Not standardized yet • Working on it…
• Need to avoid lock-‐in • One size fits all is never good enough
![Page 10: Docker Networking with Clocker and Weave](https://reader034.vdocuments.us/reader034/viewer/2022042715/559668511a28ab84128b464e/html5/thumbnails/10.jpg)
Docker Networking • Separate Container Network • RFC 1918 Private Addresses • Non Routable
• Bridged to Host • Port Forwarding • Mul)ple Endpoints for Services
![Page 11: Docker Networking with Clocker and Weave](https://reader034.vdocuments.us/reader034/viewer/2022042715/559668511a28ab84128b464e/html5/thumbnails/11.jpg)
Docker Topology
![Page 12: Docker Networking with Clocker and Weave](https://reader034.vdocuments.us/reader034/viewer/2022042715/559668511a28ab84128b464e/html5/thumbnails/12.jpg)
So1ware Defined Networking • Overlay Networks • Kernel or User Space • Many Op)ons
– Pipework – SocketPlane – Flannel – Open vSwitch – Weave
![Page 13: Docker Networking with Clocker and Weave](https://reader034.vdocuments.us/reader034/viewer/2022042715/559668511a28ab84128b464e/html5/thumbnails/13.jpg)
Weave • Ethernet Switch – User Space – Docker Container
• Mesh Topology • Routes TCP Traffic – Sniffs on Host – Forwards over TCP
![Page 14: Docker Networking with Clocker and Weave](https://reader034.vdocuments.us/reader034/viewer/2022042715/559668511a28ab84128b464e/html5/thumbnails/14.jpg)
Weave
![Page 15: Docker Networking with Clocker and Weave](https://reader034.vdocuments.us/reader034/viewer/2022042715/559668511a28ab84128b464e/html5/thumbnails/15.jpg)
Clocker Project
![Page 16: Docker Networking with Clocker and Weave](https://reader034.vdocuments.us/reader034/viewer/2022042715/559668511a28ab84128b464e/html5/thumbnails/16.jpg)
Clocker Project • Open Source • GitHub • Apache 2.0 Licensed • Java
• Recently Developed • S)ll Beta Status • 0.7.0-‐SNAPSHOT
![Page 17: Docker Networking with Clocker and Weave](https://reader034.vdocuments.us/reader034/viewer/2022042715/559668511a28ab84128b464e/html5/thumbnails/17.jpg)
Why Clocker • Docker Popularity – Solve Some Limita)ons
• Best of Breed – Configura)on – Components
• Brooklyn Integra)on – Container to En)ty Mapping
![Page 18: Docker Networking with Clocker and Weave](https://reader034.vdocuments.us/reader034/viewer/2022042715/559668511a28ab84128b464e/html5/thumbnails/18.jpg)
Apache Brooklyn • Apache Brooklyn – Cloudso1 Product – Open Source Java – Donated to the ASF – Incubator Status
![Page 19: Docker Networking with Clocker and Weave](https://reader034.vdocuments.us/reader034/viewer/2022042715/559668511a28ab84128b464e/html5/thumbnails/19.jpg)
Apache Brooklyn • Applica)on Management Placorm • Deploy, Manage and Monitor Blueprints • Provisioning, Installa)on and Customiza)on • Management • AutoScaling, Resilience, Performance, Access
![Page 20: Docker Networking with Clocker and Weave](https://reader034.vdocuments.us/reader034/viewer/2022042715/559668511a28ab84128b464e/html5/thumbnails/20.jpg)
Apache Jclouds • Java Cloud Library • API Agnos)c – CloudStack, OpenStack, AWS EC2, GCE…
• Create Virtual Machines – Return SSH Endpoint – Manage Proper)es
![Page 21: Docker Networking with Clocker and Weave](https://reader034.vdocuments.us/reader034/viewer/2022042715/559668511a28ab84128b464e/html5/thumbnails/21.jpg)
Apache Jclouds • Drivers for REST APIs • Docker Driver – Wrifen by @turlinux
• Virtual Container – Using SSH Daemon – Same Endpoint Type as VM – Composi)on on any Image or Dockerfile
![Page 22: Docker Networking with Clocker and Weave](https://reader034.vdocuments.us/reader034/viewer/2022042715/559668511a28ab84128b464e/html5/thumbnails/22.jpg)
Clocker Features • Applica)on Deployment – Oasis CAMP YAML Blueprint – TOSCA in Development – Same as Core Brooklyn
• Mixed Des)na)ons – Some Virtual Machines – Some Bare Metal – Some Containers
![Page 23: Docker Networking with Clocker and Weave](https://reader034.vdocuments.us/reader034/viewer/2022042715/559668511a28ab84128b464e/html5/thumbnails/23.jpg)
Container Management • Sources – Docker Image Defini)on – Docker Hub – Dockerfile – Brooklyn En)ty Defini)on
• Create Image Automa)cally – Commit or Push for Reuse
![Page 24: Docker Networking with Clocker and Weave](https://reader034.vdocuments.us/reader034/viewer/2022042715/559668511a28ab84128b464e/html5/thumbnails/24.jpg)
Container Placement • Placement Strategies – Random, Depth or Breadth First – CPU or Memory Usage – Memory, CPU or Container Limits – Geographic Constraints
• User Defined – Java Predicate
![Page 25: Docker Networking with Clocker and Weave](https://reader034.vdocuments.us/reader034/viewer/2022042715/559668511a28ab84128b464e/html5/thumbnails/25.jpg)
Networking • Shared Weave LAN – Common to All Containers – Private (Link Local) Addresses
• Clocker Controls IP Alloca)on – Applica)ons Segmented by CIDR
• Docker Port Forwarding Access
![Page 26: Docker Networking with Clocker and Weave](https://reader034.vdocuments.us/reader034/viewer/2022042715/559668511a28ab84128b464e/html5/thumbnails/26.jpg)
Networking • S)ll First Steps… • Name Resolu)on – BIND and DNSmasq – Needed for JMX et al
• Enables Many More En))es • But Needs Tested!
![Page 27: Docker Networking with Clocker and Weave](https://reader034.vdocuments.us/reader034/viewer/2022042715/559668511a28ab84128b464e/html5/thumbnails/27.jpg)
DemonstraEon
![Page 28: Docker Networking with Clocker and Weave](https://reader034.vdocuments.us/reader034/viewer/2022042715/559668511a28ab84128b464e/html5/thumbnails/28.jpg)
![Page 29: Docker Networking with Clocker and Weave](https://reader034.vdocuments.us/reader034/viewer/2022042715/559668511a28ab84128b464e/html5/thumbnails/29.jpg)
![Page 30: Docker Networking with Clocker and Weave](https://reader034.vdocuments.us/reader034/viewer/2022042715/559668511a28ab84128b464e/html5/thumbnails/30.jpg)
![Page 31: Docker Networking with Clocker and Weave](https://reader034.vdocuments.us/reader034/viewer/2022042715/559668511a28ab84128b464e/html5/thumbnails/31.jpg)
Roadmap • Networking – DNS and DNSmasq Integra)on – Rancher Integra)on – Open vSwictch Integra)on
• Gelng Started – Clocker Dockerfile
![Page 32: Docker Networking with Clocker and Weave](https://reader034.vdocuments.us/reader034/viewer/2022042715/559668511a28ab84128b464e/html5/thumbnails/32.jpg)
Roadmap • Repositories – Docker Repository – Bintray, Ar)factory, Quay.io – Private Repositories
• Applica)on Defini)on – TOSCA
![Page 33: Docker Networking with Clocker and Weave](https://reader034.vdocuments.us/reader034/viewer/2022042715/559668511a28ab84128b464e/html5/thumbnails/33.jpg)
Summary • Clocker – Brooklyn + Docker + Jclouds + Weave
• Solves – Docker Networking – Container Placement – Applica)on Defini)on
![Page 34: Docker Networking with Clocker and Weave](https://reader034.vdocuments.us/reader034/viewer/2022042715/559668511a28ab84128b464e/html5/thumbnails/34.jpg)
Audience Ques)ons?
1. Typical Docker use cases? 2. What networking features would
make these easier? 3. What other features would be most
useful to enhance Docker usability?
![Page 35: Docker Networking with Clocker and Weave](https://reader034.vdocuments.us/reader034/viewer/2022042715/559668511a28ab84128b464e/html5/thumbnails/35.jpg)
Thanks! Ques)ons?
![Page 36: Docker Networking with Clocker and Weave](https://reader034.vdocuments.us/reader034/viewer/2022042715/559668511a28ab84128b464e/html5/thumbnails/36.jpg)
Web Resources
http://clocker.io/
http://brooklyn.io/
http://docker.io/
http://github.com/zettio/weave/
http://abstractvisitorpattern.co.uk/