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

Managing and upgrading apps on Kubernetes

Managing and upgrading apps on Kubernetes

Ian Lewis

June 06, 2015
Tweet

More Decks by Ian Lewis

Other Decks in Technology

Transcript

  1. kernel libs app app app No isolation No namespacing Common

    libs Highly coupled apps and OS app Shared Machines
  2. Some isolation Expensive and inefficient Still highly coupled to the

    guest OS Hard to manage app libs kernel libs app app kernel app libs libs kernel kernel Virtual Machines
  3. build and deploy vm images • Curated runtimes • Rich

    services • Auto-everything • … just add code • Managed collections • Declarative + Dynamic Compute as a Continuum Platform Cluster • Basic atom • Run anything VM More agility More Flexibility build and deploy containers build and deploy apps
  4. Greek for “Helmsman”; also the root of the word “Governor”

    • Container orchestrator • Runs Docker containers • Supports multiple cloud and bare-metal environments • Inspired and informed by Google’s experiences and internal systems • Open source, written in Go Manage applications, not machines
  5. • 0.18.0 released • 369 contributors • over 8000 github

    stars • CoreOS • HP • IBM • Mesosphere • Microsoft • Pivotal • Red Hat • SaltStack • VMWare • Binary releases • Logging and monitoring • Richer scheduling ◦ Labels based constraints ◦ Smart bin-packing ◦ Run-to-completion • Updated service model ◦ IP per service • DNS integration Project Partners New Introducing Google Container Engine Community
  6. • Group of containers • Settings in a template ➔

    Reuse across environments ➔ Repeatable, manageable Behavior Benefits Pod Web Server Content Management Server Pods more at pod.md
  7. Dashboard show: FE Labels • Metadata with semantic meaning •

    Membership identifier ➔ Allow for intent of many users (e.g. dashboards) ➔ Build higher level systems … Behavior Benefits Pod Pod frontend Pod frontend Pod Pod FE BI, FE v2 Dashboard show: v2 more at labels.md
  8. Replication Controllers Behavior Benefits Replication Controller #Pods → 2 label

    selector: v1 Pod Pod frontend Pod frontend Pod Pod v1 v1 Replication Controller #Pods → 1 label selector: v2 v2 more at rc.md • Keeps Pods running • Gives direct control of Pod #s ➔ Restarts Pods, desired state ➔ Fine-grained control for scaling
  9. Pod Services Behavior Benefits Pod FE FE Pod FE Service

    label selector: Front End more at services.md ➔ Clients shielded from implementation details ➔ Independently control each, build for resiliency • Stable address • Decoupled from Controllers
  10. Google Container Engine - Inspired by a decade within Google

    - Reimagines Cluster computing - Designed for a multi-cloud world Photo by Connie Zhou
  11. Run and manage an optimized cluster Kubernetes Open Source Workload

    API & Tools Google Container Engine (GKE) Google Container Engine Kubernetes • Growing Community • Linux containers support • Open source orchestration create and manage Container Engine • Provisioned cluster in seconds • Optimized cluster environment • Runs and manages Kubernetes GKE Master GKE Nodes Virtual Machines
  12. Google Container Engine New service for cluster-based compute • Provisioned

    cluster in seconds. Fully configured. • Fine-grained control over cluster. Desired state • Designed for multi-cloud. Runs Kubernetes. Releases • Today: Alpha open to the public • Coming soon: SLA, Pricing Resources • Google Container Engine: http://cloud.google.com/container-engine • Kubernetes: http://kubernetes.io