Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Kubernetes Anywhere

Kubernetes Anywhere

Kubernetes Anywhere is a coherent, platform-agnostic way to provision Kubernetes clusters. Presented at the Berlin Kubernetes Meetup, 6 April 2016. https://github.com/weaveworks/kubernetes-anywhere

Peter Bourgon

April 06, 2016
Tweet

More Decks by Peter Bourgon

Other Decks in Technology

Transcript

  1. weaveworks- Deployment choices • Bare metal? • Cloud provider —

    DigitalOcean, Linode? • Cloud platform — AWS, GCE, Azure? • Fully hosted — GKE, Deis?
  2. weaveworks- Deployment choices • Container OS — CoreOS, Atomic, Snappy?

    • Automation tools — Puppet, Chef, Salt, Ansible?
  3. weaveworks- Deployment choices • Network — base, overlay, IPVLAN? L2,

    L3? • Storage — platform-provided, NFS, Ceph, Flocker, Quobyte? • Monitoring — host-only, exception tracking, instrumenting?
  4. weaveworks- Deployment choices • Databases — hosted, containerized, separate deployment?

    • Cluster management — live upgrades, rebuild? • Access control?
  5. weaveworks- Deployment choices • Artifact repository — fileserver, internal registry,

    hosted registry? • Integration testing — none, Jenkins, Circle? • Deployment — ad-hoc, version-tracked, CD pipeline?
  6. 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)
  7. weaveworks- All choices are valid • Choices are driven by

    • Legacy systems • Institutional experience and knowledge • Individual opinions
  8. weaveworks- Wouldn't it be nice • Solve the problems •

    Make as few choices as possible • No opaque magic to hide a bunch of complexity
  9. 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
  10. 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 = ✓
  11. 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