Docker Networking & Swarm Mode Introduction

22
Introduction to Docker Networking & Docker Swarm Mode Phi Huynh

Transcript of Docker Networking & Swarm Mode Introduction

Introduction to Docker Networking& Docker Swarm Mode

Phi Huynh

A bit history

Docker Networking

Docker Swarm Mode (Docker v1.12)

Demo

Q&A

Agenda

Pre-defined Networks Bridge (default) - Containers in local Docker0 bridge Null - Containers has no network interface Host - Containers use host’s network interface

Multi-Host Network (Docker v1.9)

Overlay network

Docker Networking

Bridge Network

Host Machine

vnet-110.10.0.0/16

container 4 container 5

container 1 container 2 container 3

Bridge Network (Continued)

Host Machine

frontend-net10.11.0.0/16

container 2 container 4

container 1 container 3 container 5

backend-net10.12.0.0/16

container 6

Multi-host Networking - Overlay Network (from Docker 1.9)

Host Machine 1

vnet-110.0.0.0/24

container 2 container 4

container 1 container 3 container 5

container 6

Host Machine 2

Reference source

Overlay Network (Continued)

Docker Networking Demo

Docker Networking

Docker Swarm Introduction

Without Swarm

Docker Swarm Introduction

Docker Swarm

Docker Swarm Introduction

Docker Swarm

Virtualize many Docker Engines as one unified Engine

Use the same Standard Docker API High-Availability Resource Management Advance Scheduling Multiple discovery back-ends… TLS ...

Docker Swarm Mode Introduction (Docker v1.12)

Images source: http://blog.nigelpoulton.com/docker-launches-kubernetes-killer/

Swarm Mode Manager

Swarm Mode Worker

Scaling, desired state

Service Discovery

Load Balancing

Blue-print Deployment

Certificate Authority

TLS

Swarm Mode Features

Self-Healing

Manager

aspnet aspnet

aspnet aspnet

aspnet aspnet

aspnet aspnet

aspnet aspnet

aspnet aspnet

Service name: aspnetScale to 10 instancesIf 2 instances were off

=> Create another 2 new instances

node-1 node-2 node-3

node-0

Manager

aspnet aspnet

aspnet aspnet

aspnet aspnet

aspnet

aspnet

Self-Organizing

aspnet

node-1 node-2 node-3

node-0

Blue-print Deployment

Manager

aspnet aspnet

aspnet aspnet

aspnet aspnet

aspnet aspnet

aspnet aspnet

aspnet aspnet

$ docker service update \--update-delay 10s \--update-parallelism 2 \--image trumhemcut/aspnetcore:2.0 aspnet

node-1 node-2 node-3

Waiting for 10s…

node-0

Load Balancer in Swarm Mode (Routing Mesh)

Manager

:5000 :5000 :5000

:5000

aspnet aspnet

aspnet aspnet

aspnet aspnet

aspnet aspnet

aspnet aspnet

aspnet aspnet

node-1 node-2 node-3

Load Balancer in Swarm Mode (Routing Mesh)

Manager

:5000 :5000 :5000

:5000

aspnet aspnet

aspnet aspnet

aspnet aspnet

aspnet aspnet

node-1 node-2 node-3

Load Balancer in Swarm Mode (Routing Mesh)

No more manual setup steps

Load Balancer Service Discovery Registrator Consul Template

Manager

:5000 :5000 :5000

:5000

aspnet aspnet

aspnet aspnet

aspnet aspnet

aspnet aspnet

aspnet aspnet

aspnet aspnet

node-1 node-2 node-3

Questions?

Thank you.

©2016 NashTech – Disclaimer cop to go here.

NashTech – The Power to Innovatewww.nashtechglobal.com