Slide 1

Slide 1 text

weaveworks- Kubernetes Anywhere Coherent, platform-agnostic provisioning

Slide 2

Slide 2 text

weaveworks- @mfdii

Slide 3

Slide 3 text

weaveworks- @mfdii

Slide 4

Slide 4 text

weaveworks- kube-apiserver

Slide 5

Slide 5 text

weaveworks- kube-apiserver etcd

Slide 6

Slide 6 text

weaveworks- kube-controller-manager kube-apiserver etcd

Slide 7

Slide 7 text

weaveworks- kube-controller-manager kube-scheduler kube-apiserver etcd

Slide 8

Slide 8 text

weaveworks- kube-controller-manager kube-scheduler kube-apiserver kube-proxy kubelet etcd

Slide 9

Slide 9 text

weaveworks- kube-controller-manager kube-scheduler kube-apiserver kube-proxy kubelet etcd

Slide 10

Slide 10 text

weaveworks- kube-controller-manager kube-scheduler kube-apiserver kube-proxy kubelet etcd

Slide 11

Slide 11 text

weaveworks- kubelet kube-proxy kube-controller-manager kube-scheduler kube-apiserver kube-proxy kubelet etcd

Slide 12

Slide 12 text

weaveworks- kubelet kube-proxy kube-controller-manager kube-scheduler kube-apiserver kube-proxy kubelet etcd

Slide 13

Slide 13 text

weaveworks- etcd etcd kubelet kube-proxy kube-controller-manager kube-scheduler kube-apiserver kube-proxy kubelet etcd

Slide 14

Slide 14 text

weaveworks- etcd etcd kubelet kube-proxy kube-controller-manager kube-scheduler kube-apiserver kube-proxy kubelet etcd etcdN.cluster.internal k0.cluster.internal kN.cluster.internal

Slide 15

Slide 15 text

weaveworks- Deployment choices • Bare metal? • Cloud provider — DigitalOcean, Linode? • Cloud platform — AWS, GCE, Azure? • Fully hosted — GKE, Deis?

Slide 16

Slide 16 text

weaveworks- Deployment choices • Container OS — CoreOS, Atomic, Snappy? • Automation tools — Puppet, Chef, Salt, Ansible?

Slide 17

Slide 17 text

weaveworks- Deployment choices • Network — base, overlay, IPVLAN? L2, L3? • Storage — platform-provided, NFS, Ceph, Flocker, Quobyte? • Monitoring — host-only, exception tracking, instrumenting?

Slide 18

Slide 18 text

weaveworks- Deployment choices • Databases — hosted, containerized, separate deployment? • Cluster management — live upgrades, rebuild? • Access control?

Slide 19

Slide 19 text

weaveworks- Deployment choices • Artifact repository — fileserver, internal registry, hosted registry? • Integration testing — none, Jenkins, Circle? • Deployment — ad-hoc, version-tracked, CD pipeline?

Slide 20

Slide 20 text

weaveworks- @mfdii

Slide 21

Slide 21 text

weaveworks- Kubernetes interacts with it all • Some is lightweight e.g. monitoring (cAdvisor, Prometheus) • Some is deeply coupled e.g. networking (Flannel, Weave, Calico) • Some sits in between e.g. container runtime (Docker, rkt)

Slide 22

Slide 22 text

weaveworks- All choices are valid • Choices are driven by • Legacy systems • Institutional experience and knowledge • Individual opinions

Slide 23

Slide 23 text

weaveworks- Wouldn't it be nice • Solve the problems • Make as few choices as possible • No opaque magic to hide a bunch of complexity

Slide 24

Slide 24 text

weaveworks-

Slide 25

Slide 25 text

weaveworks-

Slide 26

Slide 26 text

weaveworks- Weave Net • Start with the network and everything falls into place • Weave as bootstrap/management network (& network for pods) • Fully self-contained, no external requirements e.g. etcd • Comes with DNS • ‛ Each Kubernetes component gets its own DNS name

Slide 27

Slide 27 text

weaveworks- Kubernetes Anywhere • 100% containerized Kubernetes (including TLS!! if you want it) • Zero config scale-out & in-place upgrades • Almost no opinions baked in • Weave Net + bare metal = ✓ • Weave Net + Terraform + EC2 = ✓ • Weave Net + docker-machine + DigitalOcean = ✓

Slide 28

Slide 28 text

weaveworks- Kubernetes Anywhere

Slide 29

Slide 29 text

weaveworks- Kubernetes Anywhere

Slide 30

Slide 30 text

weaveworks- Kubernetes Anywhere

Slide 31

Slide 31 text

weaveworks- Kubernetes Anywhere

Slide 32

Slide 32 text

weaveworks- Kubernetes Anywhere

Slide 33

Slide 33 text

weaveworks- Kubernetes Anywhere

Slide 34

Slide 34 text

weaveworks- Kubernetes Anywhere

Slide 35

Slide 35 text

weaveworks- Kubernetes Anywhere

Slide 36

Slide 36 text

weaveworks- Kubernetes Anywhere

Slide 37

Slide 37 text

weaveworks- kubectl Kubernetes Anywhere

Slide 38

Slide 38 text

weaveworks- Demo

Slide 39

Slide 39 text

weaveworks- ABCDEs of cloud-native apps • Write the App, to your own requirements • Build and test it • Provision a Cluster to run the app • Deploy to the cluster • Execute the app e.g. move traffic to it

Slide 40

Slide 40 text

weaveworks- Thanks! github.com/weaveworks/kubernetes-anywhere