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

The road to Kubernetes

GDG SPb
October 23, 2017

The road to Kubernetes

Come and learn about the history of Kubernetes from Google, and a little about the future of the platform

GDG SPb

October 23, 2017
Tweet

More Decks by GDG SPb

Other Decks in Programming

Transcript

  1. DevOps Procure Deploy Secure Monitor Schedule Isolate Control access Update

    Roll back Remediate Troubleshoot Scale Write code
  2. "As a developer, I considered Operations skills akin to superpowers.

    Writing code that worked on my laptop was easy — getting it to work across a cluster of machines was orders of magnitudes harder." Cindy Sridharan, imgix “ “
  3. • A set of tasks • Relating to one or

    more applications • Continuously delivered • On one machine? • On many machines? • On one remote provider/cloud? • On many clouds? Operations
  4. • Size teams correctly • Scale independently • Decouple applications

    too • "Breaking up the monolith" Hardware Specialisation Network SRE Storage SRE Cluster SRE App SRE Developers
  5. Number of running containers Core Ops Team Enabled Google to

    grow our fleet over 10x faster than we grew our ops team
  6. What is a container? An application bundle A process group

    with some restrictions VM: Starting an OS Booting phone: ~60 seconds Changeable data: mixed with image Container: Starting a process Tap an app: ~0.2 seconds Changeable data: stored elsewhere
  7. Service Controller Pod Kubernetes components A loop that drives current

    state towards desired state Example: ReplicaSet A small group of tightly coupled containers Example: Static site generator & web server A set of running pods that work together Example: Load-balanced backends
  8. Description of what you want to run You don't say

    where you want it to run: Kubernetes figures that out for you Manifests apiVersion: v1 kind: Pod metadata: name: redis-django labels: app: webapp spec: containers: - name: key-value-store image: redis ports: - containerPort: 6379 - name: frontend image: django ports: - containerPort: 8000
  9. • Scheduling • Lifecycle and health • Scaling • Naming

    and discovery • Load balancing • Storage volumes • Logging and monitoring • Debugging and introspection • Identity and authorization • Piranha proof infrastructure Kubernetes provides
  10. Developer time is at a premium. Kubernetes ease of deployment

    accelerates everything. Developers go from commit to deploy in production in less than 10 minutes allowing us to deploy 30-50 times a day Tyler Davis, DevOps “ ”
  11. While Kubernetes did nudge us in the direction of GCP,

    we’re more cloud agnostic than ever because Kubernetes can live anywhere. Bas Moeys, co-founder & Head of Technology “ ”
  12. Container packaged Predictable deployment Efficient resource isolation Dynamically scheduled Higher

    QoS and efficiency Lower ops cost Microservices oriented Domain driven Independently upgradeable Cloud Native
  13. Google manages your control plane Container Engine Kubernetes Master API

    Server Controller Manager Scheduler etcd • Backups • Monitoring • Restarts • Resizing for larger clusters • 99.5% SLA
  14. ...and system components on your nodes Container Engine Kubernetes Master

    API Server Controller Manager Scheduler etcd Container Engine Kubernetes Nodes Logging Monitoring Ingress backend Runtimes
  15. Node management features Node upgrade: • Update Kubernetes version •

    Update node OS Node repair: • Automatically repair broken nodes Container Engine Kubernetes Nodes Logging Monitoring Ingress backend Runtimes
  16. Full audit trail List operations Describe an operation to get

    more details $ gcloud container operations list NAME TYPE .. STATUS operation-15-0a UPGRADE_MASTER .. DONE operation-11-78 AUTO_UPGRADE_NODES .. DONE $ gcloud container operations describe <op> name: operation-15-0a operationType: UPGRADE_MASTER selfLink: ... status: DONE targetLink: ... zone: us-west1-b
  17. The shift to a modern distributed architecture has left enterprises

    unable to monitor, manage or secure their services in a consistent way.
  18. What is a service mesh? A network for services, not

    bytes • Visibility • Resiliency & Efficiency • Traffic Control • Security • Policy Enforcement
  19. HTTP/1.1, HTTP/2, gRPC, TCP with or without TLS HTTP/1.1, HTTP/2,

    gRPC, TCP with or without TLS Internet A service mesh
  20. The Istio service mesh • A complete framework for connecting,

    securing, managing and monitoring services • Secure and monitor traffic for microservices and legacy services • An open platform with key contributions from Google, IBM, Lyft and others • Multi-environment and multi-platform
  21. • Connect Resiliency, discovery, load balancing • Manage Traffic control,

    policy enforcement • Monitor Metrics, Logging, Tracing • Secure End-to-end Authentication and Authorization The Istio service mesh