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

Automating Kubernetes Cluster Operations with O...

Automating Kubernetes Cluster Operations with Operators

AWS Community Tech Summit Cologne

At Giant Swarm, we manage Kubernetes clusters for customers 24/7, both on-premises and in the cloud. That means we do not just set something up and hand it over, but we actually take care that it’s operational and up-to-date at all times.
In this talk Timo explains how Giant Swarm are using Operators to codify all operational tasks of managing Kubernetes cluster and distributed applications on top. The operators manage PKI infrastructures, networks, VMs and storage both on-premises and in the cloud. There have been a lots of challenges and learnings in the past year and Timo would like to share them with you.

Timo Derstappen

September 28, 2017
Tweet

More Decks by Timo Derstappen

Other Decks in Technology

Transcript

  1. Kubernetes as a Service (KaaS) Deployment within our own AWS

    account. Get a cluster within a few minutes! Full root access to clusters
  2. On-premises KaaS Current focus is to manage Kubernetes in the

    DCs or AWS accounts of the customers itself.
  3. Open Source Our tooling is open-source and we are working

    with the community to improve kubernetes operations.
  4. Multiple Clusters "Soft" multi-tenancy not enough in enterprise context PCI-compliance,

    privacy laws, etc. Different environments: separation of dev, test, prod Test new K8s versions
  5. People must come to things in their own time, in

    their own way, for their own reasons, or they never truly come at all. - Dee Hock
  6. RBAC, NetworkPolicies FTW We encourage people to use these features.

    Small clusters make little sense Support while processes need to be adapted Kubernetes matures - trust over time
  7. Motivation Rather obvious. If you provide others with Kubernetes because

    you think the building blocks are right, you just want to have it too.
  8. Reproducable builds and deployments at any point in time Architect

    ( ) Draughtsman ( ) https://github.com/giantswarm/architect https://github.com/giantswarm/draughtsman
  9. Networking Separate VPC for each cluster Peered with the VPC

    of the control plane Calico between containers Network policy controller
  10. Why are we doing this again? Fully automate deployment of

    kubernetes Continuously manage desired state of the clusters
  11. Iterations of the platform 1. K8s clusters via systemd units

    over fleet 2. K8s manifests to create K8s clusters used as templates 3. Operators manage a clusters lifecycle continuously
  12. Operatorkit Our services are based upon microkit. We've also created

    operatorkit to reduce boilerplate in our operators and collect them in a library. https://github.com/giantswarm/operatorkit
  13. Self-hosted Having the control plane and all tenant clusters running

    self-hosted will further ease the lifecycle management of the clusters.