14
Container Camp SF; April 2015 Andrew Kennedy @grkvlt Docker Networking Using Clocker and Project Calico

Docker Networking with Project Calico

Embed Size (px)

Citation preview

Container  Camp  SF;  April  2015Andrew  Kennedy  @grkvlt

Docker  NetworkingUsing  Clocker  and  Project  Calico

@grkvlt

What  does  it  do?

1. Spins  up  and  Manages  Docker  Clouds

2. Serves  up  Containers  on  Demand3. Manages  Composite  Application  

Deployments  on  Docker

@grkvlt

What  does  it  provide?• Multi  Host  and  Multi  Container  Applications• Seamless  Networking– Communication  Between  Services

• Orchestration  and  Clustering– Control  of  Containers– Container  Management

@grkvlt

Apache  Brooklyn• Application  Management  Platform• Deploy,  Manage  and  Monitor  Blueprints• Provisioning,  Installation  and  Customization• Management– AutoScaling,  Resilience,  Performance,  Security

@grkvlt

Apache  jclouds• Java  Cloud  Library• API  Agnostic• Create  Virtual  Machines• Docker  Driver  by  @turlinux• Virtual  Container

@grkvlt

Docker• Popular• Containers– Isolation– Performance– Composable– Complex– The  Future...

@grkvlt

Software-­‐defined  Networking

• Pluggable  providers• Weave• Project  Calico• New  in  0.8.x

• DOVE• Write  your  own!

@grkvlt

Clocker  Orchestration

Docker  Engine

Virtual  Machine

ContainerClocker

Network  SegmentSDN

Cloud

@grkvlt

Software-­‐Defined  Networking• Needed  for  Seamless  Provisioning• Host  to  Host  Communication– Same  LAN  Segment– No  Port  Forwarding– Natural  Application  Configuration

• Initial  Driver  was  EPMD  Applications

@grkvlt

Networking  Providers• Implementation  Agnostic– L2  over  L3  over  L2  over  L8  over  whatever  etc.– Similar  to  Hypervisor  in  Clouds

• Generic  Interfaces– Host  Component– Service  Component  (or  Endpoint)

@grkvlt

Metaswitch  Project  Calico• SDN  for  Bare  Metal,  VMs  and  Containers– Layer  3  (with  adorable  kittens)– Uses  OS  IP  routing  and  forwarding

• Configuration  in  an  etcd Cluster• Version  0.3.2  now  available– Uses  profiles  for  container  ACL– Supported  in  Clocker  0.8.1

@grkvlt

Networking  Capabilities• Provide  Multiple  Networks– Single  Application  or  Shared– Private  Addresses– Segmented  by  CIDR

• Docker  Port  Forwarding  Access– Debug  Mechanism

@grkvlt

Web  Resourceshttp://clocker.io/

http://brooklyn.io/

http://docker.io/

http://projectcalico.org/

http://weave.works/

http://abstractvisitorpattern.co.uk/