14
Networking with Docker Pioneers.Paris Adrien Blind, Laurent Grangeau

PioneersIO - Networking with Docker

Embed Size (px)

Citation preview

Page 1: PioneersIO - Networking with Docker

Networking with DockerPioneers.Paris

Adrien Blind, Laurent Grangeau

Page 2: PioneersIO - Networking with Docker

Who are we ?

Adrien BlindDevOps coach, Banking Industry

@adrienblind [email protected]

Laurent GrangeauDevOps coach, Finaxys

@laurentgrangeau [email protected]

Page 3: PioneersIO - Networking with Docker
Page 4: PioneersIO - Networking with Docker
Page 5: PioneersIO - Networking with Docker

The container paradigm « A technology which standardize packaging

and facilitates operations of applications »

Page 6: PioneersIO - Networking with Docker

IsolationVirtualisation

VM VMVM

Hypervisor

Hardware

App.

MDW

App.

MDW

App.

MDW

Kernel Kernel Kernel

OSbase

OSbase

OSbase

Kernel

Hardware or VM

Container

App.

OSbase

MDW

Container

App.

OSbase

MDW

Container

App.

MDW

OSbase

Page 7: PioneersIO - Networking with Docker

PO DI LI SORTABLE SPOSABLE VE CIAL

Docker’s observable properties

Page 8: PioneersIO - Networking with Docker

Spreading docker on multiple host

You will probably not leverage on a single host...

Creating a docker hosting capability will generate additionnal challenges Topology Orchestration Networking : clustering, multi-tenancy, etc.

Let’s now focus on the networking challenges

Page 9: PioneersIO - Networking with Docker

Overlay networks Virtual networks ‘floating’ on top of the base network

Host

Physical network

Host

Tenant #1 networkApp server App server App server DB

Tenant #2 networkDB App server

Page 10: PioneersIO - Networking with Docker

Major competitors

OpenVSwitch & pipework… SocketPlane Weave

Page 11: PioneersIO - Networking with Docker

Laptop

Demo using Weave

Virtual host Virtual Host

Tenant #110.0.100.0/24

App server10.0.100.2

eth0

DB server10.0.100.1

Tenant #210.0.200.0/24

DB server10.0.200.1

Appserver10.0.200.2

#1 Vagrant delivers virtual hosts having

Docker Engine installed

#3 Containers are popped through

weave run command (wrap docker run)

#2 Weave launches a special container used

as a network router

Weave Weave

eth0 eth0

Virtual network

Page 12: PioneersIO - Networking with Docker

Cloud DevOps

Opportunities

Conclusion

Page 13: PioneersIO - Networking with Docker

Appendix

• Launch Weave– host1:~$ sudo weave launch– host2:~$ sudo weave launch 172.17.8.101

• Create DB containers– host1:~$ sudo weave run 10.0.100.1/24 -itd -e

MYSQL_ROOT_PASSWORD=mysecretpassword mariadb– host2:~$ sudo weave run 10.0.200.1/24 -itd -e

MYSQL_ROOT_PASSWORD=mysecretpassword mariadb

Page 14: PioneersIO - Networking with Docker

Appendix

• Link APP containers to DB containers– host1:~$ sudo weave run 10.0.200.2/24 -itd -e

WORDPRESS_DB_HOST=10.0.200.1 -e WORDPRESS_DB_PASSWORD=mysecretpassword -p 8080:80 wordpress

– host2:~$ sudo weave run 10.0.100.2/24 -itd -e WORDPRESS_DB_HOST=10.0.100.1 -e WORDPRESS_DB_PASSWORD=mysecretpassword -p 8080:80 wordpress