Kubernetes 1.4 Update @ GCPUG Fukuoka #4

01dc8e954957a10b428aa60b28c89d52?s=47 Ian Lewis
October 24, 2016

Kubernetes 1.4 Update @ GCPUG Fukuoka #4

01dc8e954957a10b428aa60b28c89d52?s=128

Ian Lewis

October 24, 2016
Tweet

Transcript

  1. Ian Lewis Developer Advocate, Google Cloud Platform Kubernetes 1.4 Update

  2. Confidential & Proprietary Google Cloud Platform 2 Ian Lewis Developer

    Advocate - Google Cloud Platform Tokyo, Japan +Ian Lewis @IanMLewis
  3. Confidential & Proprietary Google Cloud Platform 3 I made this!

  4. Agenda • Kubernetes Overview • Kubernetes 1.4 Update • GKE

    Update
  5. Agenda • Kubernetes Overview • Kubernetes 1.4 Update • Pokemon

    Goの話
  6. Confidential & Proprietary Google Cloud Platform 6 Kubernetes Overview

  7. http://research.google.com/pubs/pub43438.html

  8. Image by Connie Zhou

  9. job hello_world = { runtime = { cell = 'ic'

    } // Cell (cluster) to run in binary = '.../hello_world_webserver' // Program to run args = { port = '%port%' } // Command line parameters requirements = { // Resource requirements ram = 100M disk = 100M cpu = 0.1 } replicas = 5 // Number of tasks } 10000 Developer View
  10. web browsers BorgMaster link shard UI shard BorgMaster link shard

    UI shard BorgMaster link shard UI shard BorgMaster link shard UI shard Scheduler borgcfg web browsers scheduler Borglet Borglet Borglet Borglet Config file BorgMaster link shard UI shard persistent store (Paxos) Binary Developer View What just happened?
  11. Hello world! Hello world! Hello world! Hello world! Hello world!

    Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Image by Connie Zhou Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Hello world! Hello world!
  12. Enter Kubernetes Greek for “Helmsman”; also the root of the

    word “Governor” • Container orchestrator • Runs 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
  13. Confidential & Proprietary Google Cloud Platform 13 CNCF(Cloud Native Computing

    Foundation)
  14. Confidential & Proprietary Google Cloud Platform 14 Community • Current

    stable version: 1.4 • 930+ contributors • over 17,000 github stars Project Partners
  15. Google Cloud Platform UI CLI API users master nodes etcd

    scheduler controllers master The 10000 Foot View kubelet kubelet kubelet kubelet kubelet kubelet kubelet kubelet kubelet
  16. Google Cloud Platform UI All you really care about API

    Container Cluster
  17. web browsers BorgMaster link shard UI shard BorgMaster link shard

    UI shard BorgMaster link shard UI shard BorgMaster link shard UI shard Scheduler borgcfg web browsers scheduler Borglet Borglet Borglet Borg Kubernetes Borglet Config file BorgMaster link shard UI shard persistent store (Paxos) manifest.yaml Master Kubelet etcd Kubelet Kubelet Binary Docker Image Docker Hub/Private Repo Kubelet kubernetes-dashboard
  18. Google Cloud Platform observe diff act Deployments & ReplicaSets

  19. Google Cloud Platform Deployments ReplicaSet - replicas: 3 - selector:

    - app: MyApp - version: v1 Deployment - name: MyApp kubectl create ...
  20. Google Cloud Platform Deployments ReplicaSet - replicas: 4 - selector:

    - app: MyApp - version: v1 Deployment - name: MyApp kubectl create ...
  21. Google Cloud Platform Deployments ReplicaSet - replicas: 3 - selector:

    - app: MyApp - version: v1 Deployment - name: MyApp kubectl create ...
  22. Google Cloud Platform Deployments ReplicaSet - replicas: 3 - selector:

    - app: MyApp - version: v1 Deployment - name: MyApp kubectl create ...
  23. Google Cloud Platform Rolling Updates ReplicaSet - replicas: 3 -

    selector: - app: MyApp - version: v1 Deployment - name: MyApp kubectl apply ...
  24. Google Cloud Platform ReplicaSet - replicas: 3 - selector: -

    app: MyApp - version: v1 Rolling Updates ReplicaSet - replicas: 0 - selector: - app: MyApp - version: v2 Deployment - name: MyApp
  25. Google Cloud Platform ReplicaSet - replicas: 3 - selector: -

    app: MyApp - version: v1 ReplicaSet - replicas: 1 - selector: - app: MyApp - version: v2 Rolling Updates Deployment - name: MyApp
  26. Google Cloud Platform ReplicaSet - replicas: 2 - selector: -

    app: MyApp - version: v1 ReplicaSet - replicas: 1 - selector: - app: MyApp - version: v2 Rolling Updates Deployment - name: MyApp
  27. Google Cloud Platform ReplicaSet - replicas: 2 - selector: -

    app: MyApp - version: v1 ReplicaSet - replicas: 2 - selector: - app: MyApp - version: v2 Rolling Updates Deployment - name: MyApp
  28. Google Cloud Platform ReplicaSet - replicas: 1 - selector: -

    app: MyApp - version: v1 ReplicaSet - replicas: 2 - selector: - app: MyApp - version: v2 Rolling Updates Deployment - name: MyApp
  29. Google Cloud Platform ReplicaSet - replicas: 1 - selector: -

    app: MyApp - version: v1 ReplicaSet - replicas: 3 - selector: - app: MyApp - version: v2 Rolling Updates Deployment - name: MyApp
  30. Google Cloud Platform ReplicaSet - replicas: 0 - selector: -

    app: MyApp - version: v1 ReplicaSet - replicas: 3 - selector: - app: MyApp - version: v2 Rolling Updates Deployment - name: MyApp
  31. Google confidential │ Do not distribute Services A group of

    pods that work together • grouped by a selector Defines access policy • “load balanced” or “headless” Gets a stable virtual IP and port • sometimes called the service portal • also a DNS name VIP is managed by kube-proxy • watches all services • updates iptables when backends change Hides complexity - ideal for non-native apps Virtual IP Client
  32. Confidential & Proprietary Google Cloud Platform 32 App B App

    D App D App D App C App B App B App B App A App A App A App B App C App D
  33. Confidential & Proprietary Google Cloud Platform 33 Demo

  34. Confidential & Proprietary Google Cloud Platform 34 Web guestbook NGWord

    Redis Guestbook
  35. Confidential & Proprietary Google Cloud Platform 35 Kubernetes 1.4

  36. Confidential & Proprietary Google Cloud Platform 36 New Features 1.

    UX Improvements 2. Stateful Application Support 3. Cluster Federation 4. Security
  37. Confidential & Proprietary Google Cloud Platform 37 Cluster Creation UX

    1. kubeadm 2. API audit logs
  38. Confidential & Proprietary Google Cloud Platform 38 Application Support 1.

    StorageClass
  39. Confidential & Proprietary Google Cloud Platform 39 Federation 1. ReplicaSets

    2. Secrets 3. Namespaces 4. Events
  40. Cluster 1

  41. Kubernetes Cluster Federation Cluster 1 Cluster 3 Cluster 3

  42. Taiwan Load Balancer Web users

  43. Kubernetes Cluster Federation Taiwan Load Balancer Web users

  44. Kubernetes Cluster Federation Taiwan Tokyo Load Balancer Web users

  45. Kubernetes Cluster Federation Tokyo Load Balancer Web users

  46. None
  47. None
  48. None