weave net
play

Weave Net Five years with no central control. FOSDEM 2020 Bryan - PowerPoint PPT Presentation

Weave Net Five years with no central control. FOSDEM 2020 Bryan Boreham @bboreham https://weave.works @weaveworks 1 Bryan Boreham Lead on Weave Net since 2015. Project member of Kubernetes, CNI, Cortex, Scope,


  1. Weave Net Five years with no central control. FOSDEM 2020 Bryan Boreham @bboreham https://weave.works @weaveworks 1

  2. Bryan Boreham Lead on Weave Net since 2015. Project member of Kubernetes, CNI, Cortex, Scope, … Not a networking expert. 2

  3. Weave Net ● Open Source container network ● Easy to install; runs anywhere * ● No “Enterprise Version” 3

  4. What is a “container network”? 4

  5. “There’s 👐 no 👐 such 👐 thing 👐 as 👐 container 👐 networking” https://medium.com/@rothgar/no-sdn-kubernetes-5a0cb32070dd 5

  6. https://twitter.com/rothgar/status/998333265739042816 6

  7. What is a “container network” Containers give you isolation. - Each container runs in its own network namespace. How do these network namespaces talk to each other? - That’s a container network. 7

  8. Let’s look at how it works 8

  9. Container network model 9

  10. Matthew Sackman Ex-RabbitMQ, Erlang expert. Wrote the first version of Weave Net. 3,400 lines of Go 10

  11. Containers with bridges 11

  12. Weave Net 1.0 veth veth pcap pcap UDP 12

  13. Distributed Ethernet Switch * Weave Net daemon learns where MACs come from - when it sees the first packet from that MAC. Thus, it knows where to send each packet ** . If it doesn’t know where a MAC comes from? - send it everywhere! 13

  14. “Weave is kinda slow” 14

  15. Weave Net 1.2 “Fast Data Path” veth veth UDP OVS OVS Datapath Datapath VXLAN 15

  16. David Wragg Ex-Pivotal Implementer of the “fast data path” Now at Cloudflare https://github.com/weaveworks/go-odp/ 16

  17. How to set up all the devices? veth 17

  18. Jérôme Petazzoni 18

  19. The weave script 19

  20. Encryption UDP OVS mark xfrm Datapath ESP https://github.com/weaveworks/weave/blob/master/docs/fastdp-crypto.md 20

  21. Martynas Pumputis Implementer of Weave Net XFRM encryption. Kernel fixes for conntrack race conditions, etc. Now at Isovalent (Cillium) https://www.weave.works/blog/racy-conntrack-and-dns-lookup-timeouts 21

  22. Multicast Weave Net handles multicast - via the “send the packet everywhere” logic. 22

  23. Peers and Topology 23

  24. Peers and topology Gossip 24

  25. IP Address Management Gossip 25

  26. Community 26

  27. Weave Net installs per week 27

  28. Lots of requests, very few PRs 28

  29. Mostly paid contributors 29

  30. Kubernetes 30

  31. Kubernetes Mandates NAT-free network between “pods”. 3rd-party pod networks. Rkt, from CoreOS, has a simple ‘exec’ model to add a network. 31

  32. CNI - the Container Network Interface Runtime (kubelet) Interface { "cniVersion": "0.3.0", "name": "mynet", "type": "my-plugin", Network "ipam": { "type": "host-local", "subnet":"10.4.0.0/24", Manager } } Plugin JSON Config Network 32

  33. Installing via DaemonSet Pod mounts host directory and copies plugin at startup DaemonSet runs on every node 33

  34. End of main content 34

  35. Things I didn’t cover Kubernetes Network Policy Launch modes Scalability Service Management / Service Discovery Bug bounty programme 35

  36. Questions? Bryan Boreham @bboreham https://weave.works @weaveworks 36

Recommend


More recommend