Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Calico at Docker Edinburgh, 20150319
Search
Peter White
March 23, 2015
Programming
1
130
Calico at Docker Edinburgh, 20150319
Talk given by Peter White at Docker Edinburgh, 19/03/2015
Peter White
March 23, 2015
Tweet
Share
Other Decks in Programming
See All in Programming
AI巻き込み型コードレビューのススメ
nealle
2
1.4k
要求定義・仕様記述・設計・検証の手引き - 理論から学ぶ明確で統一された成果物定義
orgachem
PRO
1
230
高速開発のためのコード整理術
sutetotanuki
1
410
AWS re:Invent 2025参加 直前 Seattle-Tacoma Airport(SEA)におけるハードウェア紛失インシデントLT
tetutetu214
2
120
CSC307 Lecture 03
javiergs
PRO
1
490
AIによる高速開発をどう制御するか? ガードレール設置で開発速度と品質を両立させたチームの事例
tonkotsuboy_com
7
2.4k
AI & Enginnering
codelynx
0
120
Oxlint JS plugins
kazupon
1
1k
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
2k
CSC307 Lecture 07
javiergs
PRO
1
560
AI によるインシデント初動調査の自動化を行う AI インシデントコマンダーを作った話
azukiazusa1
1
750
Claude Codeと2つの巻き戻し戦略 / Two Rewind Strategies with Claude Code
fruitriin
0
140
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
エンジニアに許された特別な時間の終わり
watany
106
230k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
380
Testing 201, or: Great Expectations
jmmastey
46
8.1k
Building Adaptive Systems
keathley
44
2.9k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
260
AI: The stuff that nobody shows you
jnunemaker
PRO
2
280
A Tale of Four Properties
chriscoyier
162
24k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
170
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
First, design no harm
axbom
PRO
2
1.1k
Transcript
THE BRAINS OF THE NEW GLOBAL NETWORK CALICO AND CONTAINERS
– SIMPLE IP NETWORKING Peter White 19th March 2015
A bit about Calico what it is
motivation how it works what it does Containers with Calico AGENDA Metaswitch Networks | Proprietary and confidential | © 2014 | 2
Open source (Apache licensed) project Networking of workloads
in a data center / cloud environment Sponsored by Metaswitch WHAT IS CALICO? Metaswitch Networks | Proprietary and confidential | © 2014 | 3 Simple Scale Open Thousands of servers, 100k’s of workloads Don’t demand users to be networking experts Open source and open standards
You shouldn’t need to know or care! (up
to a point) Networking needs to just work and not get in the way But there’s a risk that containers get as hard as VMs and that is very very bad indeed WHY SHOULD I CARE ABOUT NETWORKING? Metaswitch Networks | Proprietary and confidential | © 2014 | 4
Virtual L2 segments, implemented in software by virtual switch TRADITIONAL
VIRTUALISED NETWORKING MODEL Metaswitch Networks | Proprietary and confidential | © 2014 | 5 vSwitch vSwitch vSwitch Linux Linux Linux Encap / de- encap (& flooding!) Outer MAC Outer IP Outer UDP VXLAN VM MAC VM IP VM TCP/UDP VM Data Router service required to hop between tenants NAT required for public Internet access On/off-ramp required to get to NAS, etc. Virtual L2 segments, implemented in software by virtual switch
☹ Complexity ☹ Scale / performance issues ☹ Operational overhead
☹ Inefficient resource utilization ☹ Difficulty troubleshooting ☹ Demands placed on everybody to be networking experts THIS LEADS TO… Metaswitch Networks | Proprietary and confidential | © 2014 | 6 … It doesn’t have to be this way!
Metaswitch Networks | Proprietary and confidential | © 2014 |
7
WHAT IF WE BUILT A DATA CENTER LIKE THE INTERNET?
Metaswitch Networks | Proprietary and confidential | © 2014 | 8 IP App IP App IP App IP App IP App IP App IP App IP App Router Router Router BGP BGP Hosts
WHAT IF WE BUILT A DATA CENTER LIKE THE INTERNET?
Metaswitch Networks | Proprietary and confidential | © 2014 | 9 IP App IP App IP App IP App IP App IP App IP App IP App BGP BGP Compute Node Compute Node VMs / LXCs Router Router Router VMs / LXCs
ADVANTAGES OF THE CALICO MODEL More scalable Based
on proven Internet-style architecture More efficient Simplified data path between VMs and physical network Equal Cost Multi-Path (ECMP) enables full utilization of physical links Easier to troubleshoot Eliminates nested IP stacks needed for overlay-based networking More secure Applies traffic isolation rules at both egress and ingress points More interoperable Supports direct connectivity between VMs, Linux Containers (LXCs) and physical devices Does not require “On/Off ramps” for non-virtualized network elements More robust Load-balancing and resilience easily provided by Anycast More straightforward 1:1 NAT and floating IPs are no longer strict requirements More distributable Supports geographically distributed service chains straightforwardly Metaswitch Networks | Proprietary and confidential | © 2014 | 10
We did it for OpenStack first But the
same problems apply in container-land Complexity Diagnosability Scale Performance Only potentially much worse More containers per host (100s, not 10s) Shorter lifetimes (hours vs. days) CONTAINERS VS. VMS Metaswitch Networks | Proprietary and confidential | © 2014 | 11
Each container gets an IP Each container gets
a veth interface for that IP Routing “just happens” Calico components set up rules in the Linux kernel for the interface BGP replicates those rules around between hosts ACLs are implemented using iptables / ipsets For example, disallowing containers in tenant A to access containers in tenant B For example, allowing incoming traffic based on source, port, protocol CONTAINERS WITH CALICO Metaswitch Networks | Proprietary and confidential | © 2014 | 12
Install some Calico components When you create a
container, assign an IP address We use powerstrip, so ordinary Docker commands just work Containers must be assigned to security groups Simplified security model for now; underlying code supports more WHAT DOES THIS LOOK LIKE TO AN ORCHESTRATOR? Metaswitch Networks | Proprietary and confidential | © 2014 | 13
Your containers each have an IP address All
of your containers can contact one another regardless of whether they are on the same host but not containers of other tenants more complex security models are supported by Calico WHAT DOES THIS LOOK LIKE TO A TENANT? Metaswitch Networks | Proprietary and confidential | © 2014 | 14
Fire up an etcd cluster Download the Calico
Docker binaries from GitHub Set up the hosts under the covers, this fires up some Calico containers to do the work these automatically download the main Calico code Start up containers as usual, with a new “CALICO_IP” argument Use a command line tool (or RESTful API) to configure groups and security WHAT DOES THIS LOOK LIKE TO A DEVELOPER? Metaswitch Networks | Proprietary and confidential | © 2014 | 15
RESOURCES Main project website: www.projectcalico.org Github https://github.com/Metaswitch/
calico-docker https://github.com/Metaswitch/ calico Mailing list: http://lists.projectcalico.org/listi nfo/calico Download and try it out We welcome your feedback and contributions Metaswitch Networks | Proprietary and confidential | © 2014 | 16