SlideShare una empresa de Scribd logo
1 de 53
Descargar para leer sin conexión
copyright 2015
Container networks
Chris Swan
@cpswan
copyright 2015
Syllabus
2
• Default Docker Network
• Multi container apps
• Networking modes
• Pipework
• Connecting containers across VMs using
Open vSwitch.
• Using containers for application network services such
as proxies, load balancers and for TLS termination
copyright 2015
Go at your own pace
3
Detailed instructions (and these slides) are available at:
https://github.com/cpswan/container-networking-tutorial
is.gd/onugcn
copyright 2015
The default Docker network
copyright 2015 5
Let’s start with a regular host
eth0
10.0.1.1
copyright 2015 6
Launch an instance
1) console.aws.amazon.com
2)
3)
4)
copyright 2015 7
Launch an instance cont.
5)
6)
7) Go ahead and launch it, then go to the instances view
to see private and public IP addresses
copyright 2015 8
Connect on SSH and inspect network
Connect:
ssh -i my_key.pem ubuntu@public_ip
Show IPs
ip addr
Look at NAT rules
sudo iptables -t nat -L -n
copyright 2015 9
Install Docker
eth0
10.0.1.1
docker0
172.17.42.1
copyright 2015 10
Install Docker and inspect network
Install Docker
wget -qO- https://get.docker.com/ | sh
Show IPs
ip addr
Look at NAT rules
sudo iptables -t nat -L -n
copyright 2015 11
Start a container
eth0
10.0.1.1
docker0
172.17.42.1
eth0
172.17.0.1
veth67ab
copyright 2015 12
Start a container and inspect network
Start container
CON1=$(sudo docker run -d cpswan/hello_onug)
Get IP
CON1IP=$(sudo docker inspect 
--format='{{.NetworkSettings.IPAddress}}' $CON1)
Show IP and use it
echo $CON1IP && curl $CON1IP:8080
copyright 2015 13
Start another container
eth0
10.0.1.1
docker0
172.17.42.1
eth0
172.17.0.1
veth67ab
eth0
172.17.0.2
veth9c5d
copyright 2015 14
Start 2nd container and use it
Start container
CON2=$(sudo docker run -d -p 8080:8080 cpswan/hello_onug)
Connect to the container
curl localhost:8080
copyright 2015 15
Take another look at the host network
Show IPs
ip addr
Look at NAT rules
sudo iptables -t nat -L -n
copyright 2015
Multi container apps
copyright 2015 17
A typical 3 tier app
HTTPS (tcp:443)
Web Server
(tcp:4567)
App Server
(tcp:3306)
DB Server
copyright 2015 18
Launch a 3 tier app with links
Create the directory for persistent data
sudo mkdir -p /data/mysql
Start the database
sudo docker run -d -p 3306:3306 --name todomvc_db 
-v /data/mysql:/var/lib/mysql cpswan/todomvc.mysql
Start the app server
sudo docker run -d -p 4567:4567 --name todomvc_app 
--link todomvc_db:db cpswan/todomvc.sinatra
Start the web server
sudo docker run -d -p 443:443 --name todomvc_ssl 
--link todomvc_app:app cpswan/todomvc.ssl
copyright 2015 19
Look at how the links work
Get a shell in the app container
sudo docker exec -it $(sudo docker ps | 
grep sinatra | cut -c1-12) bash
Take a look at the app using ENV variable
head /opt/sinatra-ToDoMVC-docker/app.rb
exit
Source is at:
https://github.com/cpswan/sinatra-ToDoMVC/blob/docker/app.rb
copyright 2015 20
Look at how the links work pt.2
Get a shell in the ssl container
sudo docker exec -it $(sudo docker ps | 
grep ssl | cut -c1-12) bash
ENV variable has been hard coded into config
tail /etc/nginx/nginx.conf
The launch script uses a template to fetch ENV vars
cat /etc/nginx/upstream.template
exit
Source is at:
https://github.com/cpswan/dockerToDoMVC/blob/master/NginxSSL/start_nginx.sh
copyright 2015 21
Another quick look at iptables
Look at NAT rules
sudo iptables -t nat -L -n
Look at DOCKER chain
sudo iptables -L
copyright 2015 22
Docker Compose
Install Docker Compose
sudo apt-get install -y python-pip
sudo pip install -U docker-compose
Download and view example file
wget http://is.gd/onugdc -O docker-compose.yml
cat docker-compose.yml
copyright 2015 23
Bring up the demo app again
Restart Docker to clear out containers
sudo service docker restart
Invoke Docker compose (in background)
sudo docker-compose up &
List Docker processes
sudo docker ps
copyright 2015
Docker networking modes
copyright 2015 25
--net=host
eth0
10.0.1.1
docker0
172.17.42.1
eth0
172.17.0.1
veth67ab
eth0
172.17.0.2
veth9c5d
copyright 2015 26
--net=host example
Start a container
sudo docker run -d --net=host cpswan/hello_onug
Use it
curl localhost:8080
copyright 2015 27
--net=container
eth0
10.0.1.1
docker0
172.17.42.1
eth0
172.17.0.1
veth67ab
eth0
172.17.0.2
veth9c5d
copyright 2015 28
--net=container example
Start containers
CON1=$(sudo docker run -d cpswan/todomvc.mysql)
sudo docker run --net=container:$CON1 –d cpswan/hello_onug
Get IP, show IP and use it
CON1IP=$(sudo docker inspect 
--format='{{.NetworkSettings.IPAddress}}' $CON1)
echo $CON1IP && curl $CON1IP:8080
copyright 2015 29
--net=none
eth0
10.0.1.1
docker0
172.17.42.1
eth0
172.17.0.1
veth67ab
eth0
172.17.0.2
veth9c5d
copyright 2015 30
--net=none example
Clear up
sudo service docker restart
Start container
CON2=$(sudo docker run --net=none -d cpswan/hello_onug)
No IP!
sudo docker inspect 
--format='{{.NetworkSettings.IPAddress}}' $CON2
copyright 2015
Pipework
copyright 2015 32
Get Pipework
Install Pipework
sudo wget http://is.gd/onugpw -O /usr/bin/pipework
sudo chmod +x /usr/bin/pipework
copyright 2015 33
Connect together some containers
Start another container
CON1=$(sudo docker run --net=none -d cpswan/todomvc.mysql)
Add first container to a bridge
sudo pipework br1 $CON1 192.168.1.1/24
Add second container to a bridge
sudo pipework br1 $CON2 192.168.1.2/24
copyright 2015 34
Test connectivity
Shell into first container
sudo docker exec -it $CON1 bash
Show address
ip addr
Connect to second container for Hello World
curl 192.168.1.2:8080
exit
copyright 2015
Connecting containers across VMs using
Open vSwitch
copyright 2015 36
Implement ODCA SDN UM #4
http://www.opendatacenteralliance.org/docs/software_defined_networking_master_usage_model_rev2.pdf
copyright 2015 37
Launch another instance
1) Return to console.aws.amazon.com
2) Right click on existing instance and Launch More Like This
3) Launch
4) View Instances and get IP addresses
copyright 2015 38
Install Docker and Pipework on 2nd instance
Connect:
ssh -i my_key.pem ubuntu@public_ip
Install Docker
wget -qO- https://get.docker.com/ | sh
Install Pipework
sudo wget http://is.gd/onugpw -O /usr/bin/pipework
sudo chmod +x /usr/bin/pipework
copyright 2015 39
Install OVS on both instances
Install OVS
sudo apt-get install -y openvswitch-switch
copyright 2015 40
Connect instances together via OVS
On first instance
sudo ovs-vsctl add-br ovsbr0
sudo ovs-vsctl add-port ovsbr0 gre1 -- set interface 
gre1 type=gre options:remote_ip=private_IP_instance2
On second instance
sudo ovs-vsctl add-br ovsbr0
sudo ovs-vsctl add-port ovsbr0 gre2 -- set interface 
gre2 type=gre options:remote_ip=private_IP_instance1
copyright 2015 41
Test connectivity between VMs
On second instance
sudo pipework ovsbr0 $(sudo docker run --net=none 
-d cpswan/hello_onug) 192.168.2.2/24
On first instance
CON1=$(sudo docker run --net=none -d cpswan/todomvc.mysql)
sudo pipework ovsbr0 $CON1 192.168.2.1/24
sudo docker exec -it $CON1 bash
curl 192.168.2.2:8080
exit
copyright 2015
Containerised network
application services
copyright 2015 43
Run Network App Svcs
Run container with HAProxy and Nginx:
NAS=$(sudo docker run -d -p 80:80 -p 443:443 
-p 4433:4433 cpswan/net-app-svcs)
Add another HelloWorld for it to load balance over
sudo pipework ovsbr0 $(sudo docker run --net=none 
-d cpswan/hello_onug) 192.168.2.3/24
Add the NAS container to the OVS bridge
sudo pipework ovsbr0 $NAS 192.168.2.4/24
copyright 2015 44
Open up AWS Security Groups
1) Return to console.aws.amazon.com
2) Click on Security Groups, launch-wizard-1, inbound, Edit
3) Add HTTP, HTTPS and Custom TCP Rule for 4433
4) Save
copyright 2015 45
Load balancer in action
Browse to http://public_ip
Browse to http://public_ip/haproxy?stats and sign
in with:
Username: us3r
Password: pa55Word
copyright 2015 46
TLS termination in action
Browse to https://public_ip
Accept browser security warnings
Bring up certificate information
copyright 2015 47
WAF in action
Browse to https://public_ip:4433
Accept browser security warnings
Browse to https://public_dns_address:4433
copyright 2015 48
Take a look at config
Get a shell on the NAS container
sudo docker exec -it $NAS bash
Inspect HAProxy config
more /etc/haproxy/haproxy.cfg
Inspect Nginx config
more /etc/nginx/nginx.conf
Source code is at http://is.gd/onugnas
copyright 2015
Review
copyright 2015
Review
50
• Default Docker Network
• Multi container apps
• Networking modes
• Pipework
• Connecting containers across VMs using
Open vSwitch.
• Using containers for application network services such
as proxies, load balancers and for TLS termination
copyright 2015
Further reading
copyright 2015
Take a look at
52
• Docker Network Configuration
https://docs.docker.com/articles/networking/
• Weave
https://github.com/weaveworks/weave
• Flocker
https://github.com/ClusterHQ/flocker
• Socketplane
https://github.com/socketplane/socketplane
• Tenus
https://github.com/milosgajdos83/tenus
• Project Calico
https://github.com/Metaswitch/calico
copyright 2015
Don’t forget to shut down AWS instances!

Más contenido relacionado

La actualidad más candente

Ryan Koop's Docker Chicago Meetup Demo March 12 2014
Ryan Koop's Docker Chicago Meetup Demo March 12 2014Ryan Koop's Docker Chicago Meetup Demo March 12 2014
Ryan Koop's Docker Chicago Meetup Demo March 12 2014Cohesive Networks
 
Kubernetes Networking
Kubernetes NetworkingKubernetes Networking
Kubernetes NetworkingCJ Cullen
 
Docker Networking - Current Status and goals of Experimental Networking
Docker Networking - Current Status and goals of Experimental NetworkingDocker Networking - Current Status and goals of Experimental Networking
Docker Networking - Current Status and goals of Experimental NetworkingSreenivas Makam
 
What should be PID 1 in a container ? by Ranjith Rajaram for #rootConf 2017
What should be PID 1 in a container ? by Ranjith Rajaram for #rootConf 2017What should be PID 1 in a container ? by Ranjith Rajaram for #rootConf 2017
What should be PID 1 in a container ? by Ranjith Rajaram for #rootConf 2017Ranjith Rajaram
 
Docker Networking in OpenStack: What you need to know now
Docker Networking in OpenStack: What you need to know nowDocker Networking in OpenStack: What you need to know now
Docker Networking in OpenStack: What you need to know nowPLUMgrid
 
LinuxKit Deep Dive
LinuxKit Deep DiveLinuxKit Deep Dive
LinuxKit Deep DiveDocker, Inc.
 
Deep dive in container service discovery
Deep dive in container service discoveryDeep dive in container service discovery
Deep dive in container service discoveryDocker, Inc.
 
Automatically Renew Certificated In Your Kubernetes Cluster
Automatically Renew Certificated In Your Kubernetes ClusterAutomatically Renew Certificated In Your Kubernetes Cluster
Automatically Renew Certificated In Your Kubernetes ClusterHungWei Chiu
 
Octo talk : docker multi-host networking
Octo talk : docker multi-host networking Octo talk : docker multi-host networking
Octo talk : docker multi-host networking Hervé Leclerc
 
Containerd: Building a Container Supervisor by Michael Crosby
Containerd: Building a Container Supervisor by Michael CrosbyContainerd: Building a Container Supervisor by Michael Crosby
Containerd: Building a Container Supervisor by Michael CrosbyDocker, Inc.
 
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker EcosystemDocker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker EcosystemVan Phuc
 
DockerDay2015: Docker Networking
DockerDay2015: Docker NetworkingDockerDay2015: Docker Networking
DockerDay2015: Docker NetworkingDocker-Hanoi
 
Application-Based Routing
Application-Based RoutingApplication-Based Routing
Application-Based RoutingHungWei Chiu
 
Introduction to CircleCI
Introduction to CircleCIIntroduction to CircleCI
Introduction to CircleCIHungWei Chiu
 
On-Demand Image Resizing from Part of the monolith to Containerized Microserv...
On-Demand Image Resizing from Part of the monolith to Containerized Microserv...On-Demand Image Resizing from Part of the monolith to Containerized Microserv...
On-Demand Image Resizing from Part of the monolith to Containerized Microserv...Docker, Inc.
 
When Docker Engine 1.12 features unleashes software architecture
When Docker Engine 1.12 features unleashes software architectureWhen Docker Engine 1.12 features unleashes software architecture
When Docker Engine 1.12 features unleashes software architecture Adrien Blind
 
Docker Networking – Running multi-host applications
Docker Networking – Running multi-host applicationsDocker Networking – Running multi-host applications
Docker Networking – Running multi-host applicationsChristina Rasimus
 
Packet Walk(s) In Kubernetes
Packet Walk(s) In KubernetesPacket Walk(s) In Kubernetes
Packet Walk(s) In KubernetesDon Jayakody
 
Docker network performance in the public cloud
Docker network performance in the public cloudDocker network performance in the public cloud
Docker network performance in the public cloudArjan Schaaf
 

La actualidad más candente (20)

Ryan Koop's Docker Chicago Meetup Demo March 12 2014
Ryan Koop's Docker Chicago Meetup Demo March 12 2014Ryan Koop's Docker Chicago Meetup Demo March 12 2014
Ryan Koop's Docker Chicago Meetup Demo March 12 2014
 
Kubernetes Networking
Kubernetes NetworkingKubernetes Networking
Kubernetes Networking
 
Docker Networking - Current Status and goals of Experimental Networking
Docker Networking - Current Status and goals of Experimental NetworkingDocker Networking - Current Status and goals of Experimental Networking
Docker Networking - Current Status and goals of Experimental Networking
 
What should be PID 1 in a container ? by Ranjith Rajaram for #rootConf 2017
What should be PID 1 in a container ? by Ranjith Rajaram for #rootConf 2017What should be PID 1 in a container ? by Ranjith Rajaram for #rootConf 2017
What should be PID 1 in a container ? by Ranjith Rajaram for #rootConf 2017
 
Docker Networking in OpenStack: What you need to know now
Docker Networking in OpenStack: What you need to know nowDocker Networking in OpenStack: What you need to know now
Docker Networking in OpenStack: What you need to know now
 
LinuxKit Deep Dive
LinuxKit Deep DiveLinuxKit Deep Dive
LinuxKit Deep Dive
 
Kubernetes 1001
Kubernetes 1001Kubernetes 1001
Kubernetes 1001
 
Deep dive in container service discovery
Deep dive in container service discoveryDeep dive in container service discovery
Deep dive in container service discovery
 
Automatically Renew Certificated In Your Kubernetes Cluster
Automatically Renew Certificated In Your Kubernetes ClusterAutomatically Renew Certificated In Your Kubernetes Cluster
Automatically Renew Certificated In Your Kubernetes Cluster
 
Octo talk : docker multi-host networking
Octo talk : docker multi-host networking Octo talk : docker multi-host networking
Octo talk : docker multi-host networking
 
Containerd: Building a Container Supervisor by Michael Crosby
Containerd: Building a Container Supervisor by Michael CrosbyContainerd: Building a Container Supervisor by Michael Crosby
Containerd: Building a Container Supervisor by Michael Crosby
 
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker EcosystemDocker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
 
DockerDay2015: Docker Networking
DockerDay2015: Docker NetworkingDockerDay2015: Docker Networking
DockerDay2015: Docker Networking
 
Application-Based Routing
Application-Based RoutingApplication-Based Routing
Application-Based Routing
 
Introduction to CircleCI
Introduction to CircleCIIntroduction to CircleCI
Introduction to CircleCI
 
On-Demand Image Resizing from Part of the monolith to Containerized Microserv...
On-Demand Image Resizing from Part of the monolith to Containerized Microserv...On-Demand Image Resizing from Part of the monolith to Containerized Microserv...
On-Demand Image Resizing from Part of the monolith to Containerized Microserv...
 
When Docker Engine 1.12 features unleashes software architecture
When Docker Engine 1.12 features unleashes software architectureWhen Docker Engine 1.12 features unleashes software architecture
When Docker Engine 1.12 features unleashes software architecture
 
Docker Networking – Running multi-host applications
Docker Networking – Running multi-host applicationsDocker Networking – Running multi-host applications
Docker Networking – Running multi-host applications
 
Packet Walk(s) In Kubernetes
Packet Walk(s) In KubernetesPacket Walk(s) In Kubernetes
Packet Walk(s) In Kubernetes
 
Docker network performance in the public cloud
Docker network performance in the public cloudDocker network performance in the public cloud
Docker network performance in the public cloud
 

Destacado

Forecast 2014: Software Defined Networking - What's New?
Forecast 2014: Software Defined Networking - What's New? Forecast 2014: Software Defined Networking - What's New?
Forecast 2014: Software Defined Networking - What's New? Open Data Center Alliance
 
CloudCamp London 15 Sep 2016 - WebVR
CloudCamp London 15 Sep 2016 - WebVRCloudCamp London 15 Sep 2016 - WebVR
CloudCamp London 15 Sep 2016 - WebVRChris Swan
 
Deploying Security at Scale
Deploying Security at ScaleDeploying Security at Scale
Deploying Security at ScaleChris Swan
 
Security protocols in constrained environments
Security protocols in constrained environments Security protocols in constrained environments
Security protocols in constrained environments Chris Swan
 
IPexpo - What is DevOps, and why should infrastructure operations care?
IPexpo - What is DevOps, and why should infrastructure operations care?IPexpo - What is DevOps, and why should infrastructure operations care?
IPexpo - What is DevOps, and why should infrastructure operations care?Chris Swan
 
Docker Chicago Meetup - July 2014
Docker Chicago Meetup - July 2014Docker Chicago Meetup - July 2014
Docker Chicago Meetup - July 2014Cohesive Networks
 
Nodejs - Building a RESTful API
Nodejs - Building a RESTful APINodejs - Building a RESTful API
Nodejs - Building a RESTful APISang Cù
 
Docker Container Security - A Network View
Docker Container Security - A Network ViewDocker Container Security - A Network View
Docker Container Security - A Network ViewNeuVector
 
Devoxx 2016: A Developer's Guide to OCI and runC
Devoxx 2016: A Developer's Guide to OCI and runCDevoxx 2016: A Developer's Guide to OCI and runC
Devoxx 2016: A Developer's Guide to OCI and runCPhil Estes
 
Complete MVC on NodeJS
Complete MVC on NodeJSComplete MVC on NodeJS
Complete MVC on NodeJSHüseyin BABAL
 
Docker Networking (Libnetwork) - Lakshman Kumar
Docker Networking (Libnetwork) - Lakshman KumarDocker Networking (Libnetwork) - Lakshman Kumar
Docker Networking (Libnetwork) - Lakshman KumarNeependra Khare
 
Microservices Network Architecture 101
Microservices Network Architecture 101Microservices Network Architecture 101
Microservices Network Architecture 101Cumulus Networks
 
Erlang User Conference 2016: Container Networking: A Field Report
Erlang User Conference 2016: Container Networking: A Field ReportErlang User Conference 2016: Container Networking: A Field Report
Erlang User Conference 2016: Container Networking: A Field ReportSargun Dhillon
 
Container Network Interface: Network Plugins for Kubernetes and beyond
Container Network Interface: Network Plugins for Kubernetes and beyondContainer Network Interface: Network Plugins for Kubernetes and beyond
Container Network Interface: Network Plugins for Kubernetes and beyondKubeAcademy
 
Docker Networking in Swarm, Mesos and Kubernetes [Docker Meetup Santa Clara |...
Docker Networking in Swarm, Mesos and Kubernetes [Docker Meetup Santa Clara |...Docker Networking in Swarm, Mesos and Kubernetes [Docker Meetup Santa Clara |...
Docker Networking in Swarm, Mesos and Kubernetes [Docker Meetup Santa Clara |...PLUMgrid
 
Diving Through The Layers: Investigating runc, containerd, and the Docker eng...
Diving Through The Layers: Investigating runc, containerd, and the Docker eng...Diving Through The Layers: Investigating runc, containerd, and the Docker eng...
Diving Through The Layers: Investigating runc, containerd, and the Docker eng...Phil Estes
 
DockerCon EU 2015: Docker Networking Deep Dive
DockerCon EU 2015: Docker Networking Deep DiveDockerCon EU 2015: Docker Networking Deep Dive
DockerCon EU 2015: Docker Networking Deep DiveDocker, Inc.
 
Docker Networking Deep Dive
Docker Networking Deep DiveDocker Networking Deep Dive
Docker Networking Deep DiveDocker, 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 NetworksAdrien Blind
 

Destacado (20)

Forecast 2014: Software Defined Networking - What's New?
Forecast 2014: Software Defined Networking - What's New? Forecast 2014: Software Defined Networking - What's New?
Forecast 2014: Software Defined Networking - What's New?
 
CloudCamp London 15 Sep 2016 - WebVR
CloudCamp London 15 Sep 2016 - WebVRCloudCamp London 15 Sep 2016 - WebVR
CloudCamp London 15 Sep 2016 - WebVR
 
Deploying Security at Scale
Deploying Security at ScaleDeploying Security at Scale
Deploying Security at Scale
 
Security protocols in constrained environments
Security protocols in constrained environments Security protocols in constrained environments
Security protocols in constrained environments
 
IPexpo - What is DevOps, and why should infrastructure operations care?
IPexpo - What is DevOps, and why should infrastructure operations care?IPexpo - What is DevOps, and why should infrastructure operations care?
IPexpo - What is DevOps, and why should infrastructure operations care?
 
Docker Chicago Meetup - July 2014
Docker Chicago Meetup - July 2014Docker Chicago Meetup - July 2014
Docker Chicago Meetup - July 2014
 
Nodejs - Building a RESTful API
Nodejs - Building a RESTful APINodejs - Building a RESTful API
Nodejs - Building a RESTful API
 
Docker Container Security - A Network View
Docker Container Security - A Network ViewDocker Container Security - A Network View
Docker Container Security - A Network View
 
Devoxx 2016: A Developer's Guide to OCI and runC
Devoxx 2016: A Developer's Guide to OCI and runCDevoxx 2016: A Developer's Guide to OCI and runC
Devoxx 2016: A Developer's Guide to OCI and runC
 
Complete MVC on NodeJS
Complete MVC on NodeJSComplete MVC on NodeJS
Complete MVC on NodeJS
 
Docker Networking (Libnetwork) - Lakshman Kumar
Docker Networking (Libnetwork) - Lakshman KumarDocker Networking (Libnetwork) - Lakshman Kumar
Docker Networking (Libnetwork) - Lakshman Kumar
 
Microservices Network Architecture 101
Microservices Network Architecture 101Microservices Network Architecture 101
Microservices Network Architecture 101
 
Docker Networking
Docker NetworkingDocker Networking
Docker Networking
 
Erlang User Conference 2016: Container Networking: A Field Report
Erlang User Conference 2016: Container Networking: A Field ReportErlang User Conference 2016: Container Networking: A Field Report
Erlang User Conference 2016: Container Networking: A Field Report
 
Container Network Interface: Network Plugins for Kubernetes and beyond
Container Network Interface: Network Plugins for Kubernetes and beyondContainer Network Interface: Network Plugins for Kubernetes and beyond
Container Network Interface: Network Plugins for Kubernetes and beyond
 
Docker Networking in Swarm, Mesos and Kubernetes [Docker Meetup Santa Clara |...
Docker Networking in Swarm, Mesos and Kubernetes [Docker Meetup Santa Clara |...Docker Networking in Swarm, Mesos and Kubernetes [Docker Meetup Santa Clara |...
Docker Networking in Swarm, Mesos and Kubernetes [Docker Meetup Santa Clara |...
 
Diving Through The Layers: Investigating runc, containerd, and the Docker eng...
Diving Through The Layers: Investigating runc, containerd, and the Docker eng...Diving Through The Layers: Investigating runc, containerd, and the Docker eng...
Diving Through The Layers: Investigating runc, containerd, and the Docker eng...
 
DockerCon EU 2015: Docker Networking Deep Dive
DockerCon EU 2015: Docker Networking Deep DiveDockerCon EU 2015: Docker Networking Deep Dive
DockerCon EU 2015: Docker Networking Deep Dive
 
Docker Networking Deep Dive
Docker Networking Deep DiveDocker Networking Deep Dive
Docker Networking Deep Dive
 
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
 

Similar a Chris Swan ONUG Academy - Container Networks Tutorial

Running Docker in Development & Production (#ndcoslo 2015)
Running Docker in Development & Production (#ndcoslo 2015)Running Docker in Development & Production (#ndcoslo 2015)
Running Docker in Development & Production (#ndcoslo 2015)Ben Hall
 
Running Docker in Development & Production (DevSum 2015)
Running Docker in Development & Production (DevSum 2015)Running Docker in Development & Production (DevSum 2015)
Running Docker in Development & Production (DevSum 2015)Ben Hall
 
Docker Networking with New Ipvlan and Macvlan Drivers
Docker Networking with New Ipvlan and Macvlan DriversDocker Networking with New Ipvlan and Macvlan Drivers
Docker Networking with New Ipvlan and Macvlan DriversBrent Salisbury
 
DPDK in Containers Hands-on Lab
DPDK in Containers Hands-on LabDPDK in Containers Hands-on Lab
DPDK in Containers Hands-on LabMichelle Holley
 
Docker, Kubernetes, and Google Cloud
Docker, Kubernetes, and Google CloudDocker, Kubernetes, and Google Cloud
Docker, Kubernetes, and Google CloudSamuel Chow
 
Introction to docker swarm
Introction to docker swarmIntroction to docker swarm
Introction to docker swarmHsi-Kai Wang
 
JDO 2019: Tips and Tricks from Docker Captain - Łukasz Lach
JDO 2019: Tips and Tricks from Docker Captain - Łukasz LachJDO 2019: Tips and Tricks from Docker Captain - Łukasz Lach
JDO 2019: Tips and Tricks from Docker Captain - Łukasz LachPROIDEA
 
9 creating cent_os 7_mages_for_dpdk_training
9 creating cent_os 7_mages_for_dpdk_training9 creating cent_os 7_mages_for_dpdk_training
9 creating cent_os 7_mages_for_dpdk_trainingvideos
 
Docker Security workshop slides
Docker Security workshop slidesDocker Security workshop slides
Docker Security workshop slidesDocker, Inc.
 
How to create your own hack environment
How to create your own hack environmentHow to create your own hack environment
How to create your own hack environmentSumedt Jitpukdebodin
 
Workshop Consul .- Service Discovery & Failure Detection
Workshop Consul .- Service Discovery & Failure DetectionWorkshop Consul .- Service Discovery & Failure Detection
Workshop Consul .- Service Discovery & Failure DetectionVincent Composieux
 
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境謝 宗穎
 
Academy PRO: Docker. Lecture 3
Academy PRO: Docker. Lecture 3Academy PRO: Docker. Lecture 3
Academy PRO: Docker. Lecture 3Binary Studio
 
Containerizing Web Application with Docker
Containerizing Web Application with DockerContainerizing Web Application with Docker
Containerizing Web Application with Dockermsyukor
 
The How and Why of Windows containers
The How and Why of Windows containersThe How and Why of Windows containers
The How and Why of Windows containersBen Hall
 
DeveloperWeek 2015: A Practical Introduction to Docker
DeveloperWeek 2015: A Practical Introduction to DockerDeveloperWeek 2015: A Practical Introduction to Docker
DeveloperWeek 2015: A Practical Introduction to DockerSteve Smith
 

Similar a Chris Swan ONUG Academy - Container Networks Tutorial (20)

Running Docker in Development & Production (#ndcoslo 2015)
Running Docker in Development & Production (#ndcoslo 2015)Running Docker in Development & Production (#ndcoslo 2015)
Running Docker in Development & Production (#ndcoslo 2015)
 
Simple docker hosting in FIWARE Lab
Simple docker hosting in FIWARE LabSimple docker hosting in FIWARE Lab
Simple docker hosting in FIWARE Lab
 
Docker
DockerDocker
Docker
 
Running Docker in Development & Production (DevSum 2015)
Running Docker in Development & Production (DevSum 2015)Running Docker in Development & Production (DevSum 2015)
Running Docker in Development & Production (DevSum 2015)
 
Docker Networking with New Ipvlan and Macvlan Drivers
Docker Networking with New Ipvlan and Macvlan DriversDocker Networking with New Ipvlan and Macvlan Drivers
Docker Networking with New Ipvlan and Macvlan Drivers
 
DPDK in Containers Hands-on Lab
DPDK in Containers Hands-on LabDPDK in Containers Hands-on Lab
DPDK in Containers Hands-on Lab
 
Docker, Kubernetes, and Google Cloud
Docker, Kubernetes, and Google CloudDocker, Kubernetes, and Google Cloud
Docker, Kubernetes, and Google Cloud
 
Introction to docker swarm
Introction to docker swarmIntroction to docker swarm
Introction to docker swarm
 
JDO 2019: Tips and Tricks from Docker Captain - Łukasz Lach
JDO 2019: Tips and Tricks from Docker Captain - Łukasz LachJDO 2019: Tips and Tricks from Docker Captain - Łukasz Lach
JDO 2019: Tips and Tricks from Docker Captain - Łukasz Lach
 
9 creating cent_os 7_mages_for_dpdk_training
9 creating cent_os 7_mages_for_dpdk_training9 creating cent_os 7_mages_for_dpdk_training
9 creating cent_os 7_mages_for_dpdk_training
 
Docker Security workshop slides
Docker Security workshop slidesDocker Security workshop slides
Docker Security workshop slides
 
How to create your own hack environment
How to create your own hack environmentHow to create your own hack environment
How to create your own hack environment
 
Workshop Consul .- Service Discovery & Failure Detection
Workshop Consul .- Service Discovery & Failure DetectionWorkshop Consul .- Service Discovery & Failure Detection
Workshop Consul .- Service Discovery & Failure Detection
 
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
 
Academy PRO: Docker. Lecture 3
Academy PRO: Docker. Lecture 3Academy PRO: Docker. Lecture 3
Academy PRO: Docker. Lecture 3
 
Containerizing Web Application with Docker
Containerizing Web Application with DockerContainerizing Web Application with Docker
Containerizing Web Application with Docker
 
Docker Starter Pack
Docker Starter PackDocker Starter Pack
Docker Starter Pack
 
The How and Why of Windows containers
The How and Why of Windows containersThe How and Why of Windows containers
The How and Why of Windows containers
 
moscmy2016: Extending Docker
moscmy2016: Extending Dockermoscmy2016: Extending Docker
moscmy2016: Extending Docker
 
DeveloperWeek 2015: A Practical Introduction to Docker
DeveloperWeek 2015: A Practical Introduction to DockerDeveloperWeek 2015: A Practical Introduction to Docker
DeveloperWeek 2015: A Practical Introduction to Docker
 

Más de Cohesive Networks

CircleCity Con 2017 - Dwight Koop's talk Cybersecurity for real life: Using t...
CircleCity Con 2017 - Dwight Koop's talk Cybersecurity for real life: Using t...CircleCity Con 2017 - Dwight Koop's talk Cybersecurity for real life: Using t...
CircleCity Con 2017 - Dwight Koop's talk Cybersecurity for real life: Using t...Cohesive Networks
 
Chris Purrington's talk from CLOUDSEC 2016 "Defense in depth: practical steps...
Chris Purrington's talk from CLOUDSEC 2016 "Defense in depth: practical steps...Chris Purrington's talk from CLOUDSEC 2016 "Defense in depth: practical steps...
Chris Purrington's talk from CLOUDSEC 2016 "Defense in depth: practical steps...Cohesive Networks
 
Protecting Vital Data With NIST Framework - Patrick Kerpan's Secure260 presen...
Protecting Vital Data With NIST Framework - Patrick Kerpan's Secure260 presen...Protecting Vital Data With NIST Framework - Patrick Kerpan's Secure260 presen...
Protecting Vital Data With NIST Framework - Patrick Kerpan's Secure260 presen...Cohesive Networks
 
Let’s rethink cloud application security in 2016 - Patrick Kerpan's Secure360...
Let’s rethink cloud application security in 2016 - Patrick Kerpan's Secure360...Let’s rethink cloud application security in 2016 - Patrick Kerpan's Secure360...
Let’s rethink cloud application security in 2016 - Patrick Kerpan's Secure360...Cohesive Networks
 
Lessons Learned in Deploying the ELK Stack (Elasticsearch, Logstash, and Kibana)
Lessons Learned in Deploying the ELK Stack (Elasticsearch, Logstash, and Kibana)Lessons Learned in Deploying the ELK Stack (Elasticsearch, Logstash, and Kibana)
Lessons Learned in Deploying the ELK Stack (Elasticsearch, Logstash, and Kibana)Cohesive Networks
 
The Chicago School of Cybersecurity: A Pragmatic Look at the NIST Cybersecuri...
The Chicago School of Cybersecurity: A Pragmatic Look at the NIST Cybersecuri...The Chicago School of Cybersecurity: A Pragmatic Look at the NIST Cybersecuri...
The Chicago School of Cybersecurity: A Pragmatic Look at the NIST Cybersecuri...Cohesive Networks
 
Comparison: VNS3 and Openswan
Comparison: VNS3 and OpenswanComparison: VNS3 and Openswan
Comparison: VNS3 and OpenswanCohesive Networks
 
Cohesive Networks Support Docs: VNS3 Administration
Cohesive Networks Support Docs: VNS3 AdministrationCohesive Networks Support Docs: VNS3 Administration
Cohesive Networks Support Docs: VNS3 AdministrationCohesive Networks
 
Cohesive Networks Support Docs: VNS3 Configuration Guide
Cohesive Networks Support Docs: VNS3 Configuration Guide Cohesive Networks Support Docs: VNS3 Configuration Guide
Cohesive Networks Support Docs: VNS3 Configuration Guide Cohesive Networks
 
Cohesive Networks Support Docs: VNS3 Configuration for AWS EC2 Classic
Cohesive Networks Support Docs: VNS3 Configuration for AWS EC2 ClassicCohesive Networks Support Docs: VNS3 Configuration for AWS EC2 Classic
Cohesive Networks Support Docs: VNS3 Configuration for AWS EC2 ClassicCohesive Networks
 
Cohesive Networks Support Docs: VNS3 Configuration for Amazon VPC
Cohesive Networks Support Docs: VNS3 Configuration for Amazon VPC Cohesive Networks Support Docs: VNS3 Configuration for Amazon VPC
Cohesive Networks Support Docs: VNS3 Configuration for Amazon VPC Cohesive Networks
 
Cohesive Networks Support Docs: VNS3 Configuration in Azure
Cohesive Networks Support Docs: VNS3 Configuration in Azure Cohesive Networks Support Docs: VNS3 Configuration in Azure
Cohesive Networks Support Docs: VNS3 Configuration in Azure Cohesive Networks
 
Cohesive Networks Support Docs: VNS3 Configuration for CenturyLink Cloud
Cohesive Networks Support Docs: VNS3 Configuration for CenturyLink Cloud Cohesive Networks Support Docs: VNS3 Configuration for CenturyLink Cloud
Cohesive Networks Support Docs: VNS3 Configuration for CenturyLink Cloud Cohesive Networks
 
Cohesive Networks Support Docs: VNS3 Configuration for IBM Softlayer
Cohesive Networks Support Docs: VNS3 Configuration for IBM SoftlayerCohesive Networks Support Docs: VNS3 Configuration for IBM Softlayer
Cohesive Networks Support Docs: VNS3 Configuration for IBM SoftlayerCohesive Networks
 
Cohesive Networks Support Docs: VNS3 Configuration for ElasticHosts
Cohesive Networks Support Docs: VNS3 Configuration for ElasticHosts Cohesive Networks Support Docs: VNS3 Configuration for ElasticHosts
Cohesive Networks Support Docs: VNS3 Configuration for ElasticHosts Cohesive Networks
 
Cohesive Networks Support Docs: VNS3 Configuration for GCE
Cohesive Networks Support Docs: VNS3 Configuration for GCE Cohesive Networks Support Docs: VNS3 Configuration for GCE
Cohesive Networks Support Docs: VNS3 Configuration for GCE Cohesive Networks
 
Cohesive Networks Support Docs: Welcome to VNS3 3.5
Cohesive Networks Support Docs: Welcome to VNS3 3.5 Cohesive Networks Support Docs: Welcome to VNS3 3.5
Cohesive Networks Support Docs: Welcome to VNS3 3.5 Cohesive Networks
 
Cohesive Networks Support Docs: VNS3 Side by Side IPsec Tunnel Guide
Cohesive Networks Support Docs: VNS3 Side by Side IPsec Tunnel Guide Cohesive Networks Support Docs: VNS3 Side by Side IPsec Tunnel Guide
Cohesive Networks Support Docs: VNS3 Side by Side IPsec Tunnel Guide Cohesive Networks
 
Cohesive networks Support Docs: VNS3 3.5 Upgrade Guide
Cohesive networks Support Docs: VNS3 3.5 Upgrade GuideCohesive networks Support Docs: VNS3 3.5 Upgrade Guide
Cohesive networks Support Docs: VNS3 3.5 Upgrade GuideCohesive Networks
 

Más de Cohesive Networks (20)

CircleCity Con 2017 - Dwight Koop's talk Cybersecurity for real life: Using t...
CircleCity Con 2017 - Dwight Koop's talk Cybersecurity for real life: Using t...CircleCity Con 2017 - Dwight Koop's talk Cybersecurity for real life: Using t...
CircleCity Con 2017 - Dwight Koop's talk Cybersecurity for real life: Using t...
 
Chris Purrington's talk from CLOUDSEC 2016 "Defense in depth: practical steps...
Chris Purrington's talk from CLOUDSEC 2016 "Defense in depth: practical steps...Chris Purrington's talk from CLOUDSEC 2016 "Defense in depth: practical steps...
Chris Purrington's talk from CLOUDSEC 2016 "Defense in depth: practical steps...
 
Protecting Vital Data With NIST Framework - Patrick Kerpan's Secure260 presen...
Protecting Vital Data With NIST Framework - Patrick Kerpan's Secure260 presen...Protecting Vital Data With NIST Framework - Patrick Kerpan's Secure260 presen...
Protecting Vital Data With NIST Framework - Patrick Kerpan's Secure260 presen...
 
Let’s rethink cloud application security in 2016 - Patrick Kerpan's Secure360...
Let’s rethink cloud application security in 2016 - Patrick Kerpan's Secure360...Let’s rethink cloud application security in 2016 - Patrick Kerpan's Secure360...
Let’s rethink cloud application security in 2016 - Patrick Kerpan's Secure360...
 
Lessons Learned in Deploying the ELK Stack (Elasticsearch, Logstash, and Kibana)
Lessons Learned in Deploying the ELK Stack (Elasticsearch, Logstash, and Kibana)Lessons Learned in Deploying the ELK Stack (Elasticsearch, Logstash, and Kibana)
Lessons Learned in Deploying the ELK Stack (Elasticsearch, Logstash, and Kibana)
 
The Chicago School of Cybersecurity: A Pragmatic Look at the NIST Cybersecuri...
The Chicago School of Cybersecurity: A Pragmatic Look at the NIST Cybersecuri...The Chicago School of Cybersecurity: A Pragmatic Look at the NIST Cybersecuri...
The Chicago School of Cybersecurity: A Pragmatic Look at the NIST Cybersecuri...
 
Comparison: VNS3 vs Vyatta
Comparison: VNS3 vs VyattaComparison: VNS3 vs Vyatta
Comparison: VNS3 vs Vyatta
 
Comparison: VNS3 and Openswan
Comparison: VNS3 and OpenswanComparison: VNS3 and Openswan
Comparison: VNS3 and Openswan
 
Cohesive Networks Support Docs: VNS3 Administration
Cohesive Networks Support Docs: VNS3 AdministrationCohesive Networks Support Docs: VNS3 Administration
Cohesive Networks Support Docs: VNS3 Administration
 
Cohesive Networks Support Docs: VNS3 Configuration Guide
Cohesive Networks Support Docs: VNS3 Configuration Guide Cohesive Networks Support Docs: VNS3 Configuration Guide
Cohesive Networks Support Docs: VNS3 Configuration Guide
 
Cohesive Networks Support Docs: VNS3 Configuration for AWS EC2 Classic
Cohesive Networks Support Docs: VNS3 Configuration for AWS EC2 ClassicCohesive Networks Support Docs: VNS3 Configuration for AWS EC2 Classic
Cohesive Networks Support Docs: VNS3 Configuration for AWS EC2 Classic
 
Cohesive Networks Support Docs: VNS3 Configuration for Amazon VPC
Cohesive Networks Support Docs: VNS3 Configuration for Amazon VPC Cohesive Networks Support Docs: VNS3 Configuration for Amazon VPC
Cohesive Networks Support Docs: VNS3 Configuration for Amazon VPC
 
Cohesive Networks Support Docs: VNS3 Configuration in Azure
Cohesive Networks Support Docs: VNS3 Configuration in Azure Cohesive Networks Support Docs: VNS3 Configuration in Azure
Cohesive Networks Support Docs: VNS3 Configuration in Azure
 
Cohesive Networks Support Docs: VNS3 Configuration for CenturyLink Cloud
Cohesive Networks Support Docs: VNS3 Configuration for CenturyLink Cloud Cohesive Networks Support Docs: VNS3 Configuration for CenturyLink Cloud
Cohesive Networks Support Docs: VNS3 Configuration for CenturyLink Cloud
 
Cohesive Networks Support Docs: VNS3 Configuration for IBM Softlayer
Cohesive Networks Support Docs: VNS3 Configuration for IBM SoftlayerCohesive Networks Support Docs: VNS3 Configuration for IBM Softlayer
Cohesive Networks Support Docs: VNS3 Configuration for IBM Softlayer
 
Cohesive Networks Support Docs: VNS3 Configuration for ElasticHosts
Cohesive Networks Support Docs: VNS3 Configuration for ElasticHosts Cohesive Networks Support Docs: VNS3 Configuration for ElasticHosts
Cohesive Networks Support Docs: VNS3 Configuration for ElasticHosts
 
Cohesive Networks Support Docs: VNS3 Configuration for GCE
Cohesive Networks Support Docs: VNS3 Configuration for GCE Cohesive Networks Support Docs: VNS3 Configuration for GCE
Cohesive Networks Support Docs: VNS3 Configuration for GCE
 
Cohesive Networks Support Docs: Welcome to VNS3 3.5
Cohesive Networks Support Docs: Welcome to VNS3 3.5 Cohesive Networks Support Docs: Welcome to VNS3 3.5
Cohesive Networks Support Docs: Welcome to VNS3 3.5
 
Cohesive Networks Support Docs: VNS3 Side by Side IPsec Tunnel Guide
Cohesive Networks Support Docs: VNS3 Side by Side IPsec Tunnel Guide Cohesive Networks Support Docs: VNS3 Side by Side IPsec Tunnel Guide
Cohesive Networks Support Docs: VNS3 Side by Side IPsec Tunnel Guide
 
Cohesive networks Support Docs: VNS3 3.5 Upgrade Guide
Cohesive networks Support Docs: VNS3 3.5 Upgrade GuideCohesive networks Support Docs: VNS3 3.5 Upgrade Guide
Cohesive networks Support Docs: VNS3 3.5 Upgrade Guide
 

Último

#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 

Último (20)

#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

Chris Swan ONUG Academy - Container Networks Tutorial

  • 2. copyright 2015 Syllabus 2 • Default Docker Network • Multi container apps • Networking modes • Pipework • Connecting containers across VMs using Open vSwitch. • Using containers for application network services such as proxies, load balancers and for TLS termination
  • 3. copyright 2015 Go at your own pace 3 Detailed instructions (and these slides) are available at: https://github.com/cpswan/container-networking-tutorial is.gd/onugcn
  • 4. copyright 2015 The default Docker network
  • 5. copyright 2015 5 Let’s start with a regular host eth0 10.0.1.1
  • 6. copyright 2015 6 Launch an instance 1) console.aws.amazon.com 2) 3) 4)
  • 7. copyright 2015 7 Launch an instance cont. 5) 6) 7) Go ahead and launch it, then go to the instances view to see private and public IP addresses
  • 8. copyright 2015 8 Connect on SSH and inspect network Connect: ssh -i my_key.pem ubuntu@public_ip Show IPs ip addr Look at NAT rules sudo iptables -t nat -L -n
  • 9. copyright 2015 9 Install Docker eth0 10.0.1.1 docker0 172.17.42.1
  • 10. copyright 2015 10 Install Docker and inspect network Install Docker wget -qO- https://get.docker.com/ | sh Show IPs ip addr Look at NAT rules sudo iptables -t nat -L -n
  • 11. copyright 2015 11 Start a container eth0 10.0.1.1 docker0 172.17.42.1 eth0 172.17.0.1 veth67ab
  • 12. copyright 2015 12 Start a container and inspect network Start container CON1=$(sudo docker run -d cpswan/hello_onug) Get IP CON1IP=$(sudo docker inspect --format='{{.NetworkSettings.IPAddress}}' $CON1) Show IP and use it echo $CON1IP && curl $CON1IP:8080
  • 13. copyright 2015 13 Start another container eth0 10.0.1.1 docker0 172.17.42.1 eth0 172.17.0.1 veth67ab eth0 172.17.0.2 veth9c5d
  • 14. copyright 2015 14 Start 2nd container and use it Start container CON2=$(sudo docker run -d -p 8080:8080 cpswan/hello_onug) Connect to the container curl localhost:8080
  • 15. copyright 2015 15 Take another look at the host network Show IPs ip addr Look at NAT rules sudo iptables -t nat -L -n
  • 17. copyright 2015 17 A typical 3 tier app HTTPS (tcp:443) Web Server (tcp:4567) App Server (tcp:3306) DB Server
  • 18. copyright 2015 18 Launch a 3 tier app with links Create the directory for persistent data sudo mkdir -p /data/mysql Start the database sudo docker run -d -p 3306:3306 --name todomvc_db -v /data/mysql:/var/lib/mysql cpswan/todomvc.mysql Start the app server sudo docker run -d -p 4567:4567 --name todomvc_app --link todomvc_db:db cpswan/todomvc.sinatra Start the web server sudo docker run -d -p 443:443 --name todomvc_ssl --link todomvc_app:app cpswan/todomvc.ssl
  • 19. copyright 2015 19 Look at how the links work Get a shell in the app container sudo docker exec -it $(sudo docker ps | grep sinatra | cut -c1-12) bash Take a look at the app using ENV variable head /opt/sinatra-ToDoMVC-docker/app.rb exit Source is at: https://github.com/cpswan/sinatra-ToDoMVC/blob/docker/app.rb
  • 20. copyright 2015 20 Look at how the links work pt.2 Get a shell in the ssl container sudo docker exec -it $(sudo docker ps | grep ssl | cut -c1-12) bash ENV variable has been hard coded into config tail /etc/nginx/nginx.conf The launch script uses a template to fetch ENV vars cat /etc/nginx/upstream.template exit Source is at: https://github.com/cpswan/dockerToDoMVC/blob/master/NginxSSL/start_nginx.sh
  • 21. copyright 2015 21 Another quick look at iptables Look at NAT rules sudo iptables -t nat -L -n Look at DOCKER chain sudo iptables -L
  • 22. copyright 2015 22 Docker Compose Install Docker Compose sudo apt-get install -y python-pip sudo pip install -U docker-compose Download and view example file wget http://is.gd/onugdc -O docker-compose.yml cat docker-compose.yml
  • 23. copyright 2015 23 Bring up the demo app again Restart Docker to clear out containers sudo service docker restart Invoke Docker compose (in background) sudo docker-compose up & List Docker processes sudo docker ps
  • 26. copyright 2015 26 --net=host example Start a container sudo docker run -d --net=host cpswan/hello_onug Use it curl localhost:8080
  • 28. copyright 2015 28 --net=container example Start containers CON1=$(sudo docker run -d cpswan/todomvc.mysql) sudo docker run --net=container:$CON1 –d cpswan/hello_onug Get IP, show IP and use it CON1IP=$(sudo docker inspect --format='{{.NetworkSettings.IPAddress}}' $CON1) echo $CON1IP && curl $CON1IP:8080
  • 30. copyright 2015 30 --net=none example Clear up sudo service docker restart Start container CON2=$(sudo docker run --net=none -d cpswan/hello_onug) No IP! sudo docker inspect --format='{{.NetworkSettings.IPAddress}}' $CON2
  • 32. copyright 2015 32 Get Pipework Install Pipework sudo wget http://is.gd/onugpw -O /usr/bin/pipework sudo chmod +x /usr/bin/pipework
  • 33. copyright 2015 33 Connect together some containers Start another container CON1=$(sudo docker run --net=none -d cpswan/todomvc.mysql) Add first container to a bridge sudo pipework br1 $CON1 192.168.1.1/24 Add second container to a bridge sudo pipework br1 $CON2 192.168.1.2/24
  • 34. copyright 2015 34 Test connectivity Shell into first container sudo docker exec -it $CON1 bash Show address ip addr Connect to second container for Hello World curl 192.168.1.2:8080 exit
  • 35. copyright 2015 Connecting containers across VMs using Open vSwitch
  • 36. copyright 2015 36 Implement ODCA SDN UM #4 http://www.opendatacenteralliance.org/docs/software_defined_networking_master_usage_model_rev2.pdf
  • 37. copyright 2015 37 Launch another instance 1) Return to console.aws.amazon.com 2) Right click on existing instance and Launch More Like This 3) Launch 4) View Instances and get IP addresses
  • 38. copyright 2015 38 Install Docker and Pipework on 2nd instance Connect: ssh -i my_key.pem ubuntu@public_ip Install Docker wget -qO- https://get.docker.com/ | sh Install Pipework sudo wget http://is.gd/onugpw -O /usr/bin/pipework sudo chmod +x /usr/bin/pipework
  • 39. copyright 2015 39 Install OVS on both instances Install OVS sudo apt-get install -y openvswitch-switch
  • 40. copyright 2015 40 Connect instances together via OVS On first instance sudo ovs-vsctl add-br ovsbr0 sudo ovs-vsctl add-port ovsbr0 gre1 -- set interface gre1 type=gre options:remote_ip=private_IP_instance2 On second instance sudo ovs-vsctl add-br ovsbr0 sudo ovs-vsctl add-port ovsbr0 gre2 -- set interface gre2 type=gre options:remote_ip=private_IP_instance1
  • 41. copyright 2015 41 Test connectivity between VMs On second instance sudo pipework ovsbr0 $(sudo docker run --net=none -d cpswan/hello_onug) 192.168.2.2/24 On first instance CON1=$(sudo docker run --net=none -d cpswan/todomvc.mysql) sudo pipework ovsbr0 $CON1 192.168.2.1/24 sudo docker exec -it $CON1 bash curl 192.168.2.2:8080 exit
  • 43. copyright 2015 43 Run Network App Svcs Run container with HAProxy and Nginx: NAS=$(sudo docker run -d -p 80:80 -p 443:443 -p 4433:4433 cpswan/net-app-svcs) Add another HelloWorld for it to load balance over sudo pipework ovsbr0 $(sudo docker run --net=none -d cpswan/hello_onug) 192.168.2.3/24 Add the NAS container to the OVS bridge sudo pipework ovsbr0 $NAS 192.168.2.4/24
  • 44. copyright 2015 44 Open up AWS Security Groups 1) Return to console.aws.amazon.com 2) Click on Security Groups, launch-wizard-1, inbound, Edit 3) Add HTTP, HTTPS and Custom TCP Rule for 4433 4) Save
  • 45. copyright 2015 45 Load balancer in action Browse to http://public_ip Browse to http://public_ip/haproxy?stats and sign in with: Username: us3r Password: pa55Word
  • 46. copyright 2015 46 TLS termination in action Browse to https://public_ip Accept browser security warnings Bring up certificate information
  • 47. copyright 2015 47 WAF in action Browse to https://public_ip:4433 Accept browser security warnings Browse to https://public_dns_address:4433
  • 48. copyright 2015 48 Take a look at config Get a shell on the NAS container sudo docker exec -it $NAS bash Inspect HAProxy config more /etc/haproxy/haproxy.cfg Inspect Nginx config more /etc/nginx/nginx.conf Source code is at http://is.gd/onugnas
  • 50. copyright 2015 Review 50 • Default Docker Network • Multi container apps • Networking modes • Pipework • Connecting containers across VMs using Open vSwitch. • Using containers for application network services such as proxies, load balancers and for TLS termination
  • 52. copyright 2015 Take a look at 52 • Docker Network Configuration https://docs.docker.com/articles/networking/ • Weave https://github.com/weaveworks/weave • Flocker https://github.com/ClusterHQ/flocker • Socketplane https://github.com/socketplane/socketplane • Tenus https://github.com/milosgajdos83/tenus • Project Calico https://github.com/Metaswitch/calico
  • 53. copyright 2015 Don’t forget to shut down AWS instances!