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

Kubernetes 1.4 Update @ DevFest Kansai

Ian Lewis
November 29, 2016

Kubernetes 1.4 Update @ DevFest Kansai

Ian Lewis

November 29, 2016
Tweet

More Decks by Ian Lewis

Other Decks in Technology

Transcript

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

    View Slide

  2. Confidential & Proprietary
    Google Cloud Platform 2
    Ian Lewis
    Developer Advocate - Google Cloud Platform
    Tokyo, Japan
    +Ian Lewis
    @IanMLewis

    View Slide

  3. Confidential & Proprietary
    Google Cloud Platform 3
    I made this!

    View Slide

  4. Agenda
    ● Kubernetes/GKE/GCP Overview
    ● Kubernetes 1.4 Update
    ● GKE Update

    View Slide

  5. Agenda
    ● Kubernetes/GKE/GCP Overview
    ● Kubernetes 1.4 Update
    ● Pokemon Goの話

    View Slide

  6. Confidential & Proprietary
    Google Cloud Platform 6
    Kubernetes/GKE/GCP
    Overview

    View Slide

  7. Container Image
    Dependencies
    Application Code
    Containers encapsulate application code and all
    dependencies.
    Applications can be depend less on the infrastructure
    where it runs.
    • In traditional IT environments, applications needed specific
    infrastructure. Dependencies needed to be installed beforehand.
    • Containers incorporate applications and their dependencies so
    deployment to development, test, and production can be made
    easier.
    • Don’t need to be dependent on on-premise, private or public
    cloud environments.
    What are Containers?

    View Slide

  8. Fast
    Simple and Fast compared
    to VMs. Can be started in
    just a few milliseconds.
    Portable
    Can be run in a many
    environments.
    Efficiency
    Low overhead. Resources
    use by containers can be
    limited.
    Why Containers?

    View Slide

  9. View Slide

  10. Copyright 2015 Google Inc
    Container Management
    Node Node
    Cluster
    Node
    ???
    ● How to deploy to multiple nodes?
    ● How to deal with node failures?
    ● How to deal with container failures?
    ● How do you update your applications?

    View Slide

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

    View Slide

  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

    View Slide

  13. Confidential & Proprietary
    Google Cloud Platform 13
    CNCF(Cloud Native Computing Foundation)

    View Slide

  14. Confidential & Proprietary
    Google Cloud Platform 14
    Community
    ● Current stable
    version: 1.4
    ● 930+ contributors
    ● over 17,000 github
    stars
    Project Partners

    View Slide

  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

    View Slide

  16. Google Cloud Platform
    UI
    All you really care about
    API
    Container
    Cluster

    View Slide

  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

    View Slide

  18. Google Cloud Platform
    observe
    diff
    act
    Deployments & ReplicaSets

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  32. Monitoring Mobile
    Development
    Compute
    Network
    Big
    Data
    Storage

    View Slide

  33. Confidential & Proprietary
    Google Cloud Platform 33
    Kubernetes 1.4

    View Slide

  34. Confidential & Proprietary
    Google Cloud Platform 34
    New Features
    1. UX Improvements
    2. Stateful Application Support
    3. Cluster Federation
    4. Security

    View Slide

  35. Confidential & Proprietary
    Google Cloud Platform 35
    Cluster Creation UX
    1. kubeadm
    2. API audit logs

    View Slide

  36. Confidential & Proprietary
    Google Cloud Platform 36
    Application Support
    1. StorageClass

    View Slide

  37. Confidential & Proprietary
    Google Cloud Platform 37
    Federation
    1. ReplicaSets
    2. Secrets
    3. Namespaces
    4. Events

    View Slide

  38. Cluster 1

    View Slide

  39. Kubernetes Cluster
    Federation
    Cluster 1 Cluster 3
    Cluster 3

    View Slide

  40. Taiwan
    Load Balancer
    Web users

    View Slide

  41. Kubernetes Cluster
    Federation
    Taiwan
    Load Balancer
    Web users

    View Slide

  42. Kubernetes Cluster
    Federation
    Taiwan Tokyo
    Load Balancer
    Web users

    View Slide

  43. Kubernetes Cluster
    Federation
    Tokyo
    Load Balancer
    Web users

    View Slide

  44. Confidential & Proprietary
    Google Cloud Platform 44
    GKE

    View Slide

  45. View Slide

  46. View Slide

  47. View Slide

  48. View Slide

  49. View Slide

  50. View Slide

  51. slack.kubernetes.io
    #jp-users

    View Slide

  52. Thank You!

    View Slide