What's new in Kubernetes 1.3

What's new in Kubernetes 1.3

There's a lot of new features in Kubernetes 1.3. From local clusters to cross cloud federated clusters to persistent data, Kubernetes 1.3 can help your enterprise meet it's needs at scale. Check out this presentation to see what's new in Kubernetes 1.3.

024b34c2914d3cfa1bf93870d828c448?s=128

Carter Morgan

July 07, 2016
Tweet

Transcript

  1. What’s New in K8s 1.3 Carter Morgan @_askcarter @_askcarter

  2. Background: 3 Hurdles @_askcarter

  3. The App How do I write scalable apps? How do

    I package and distribute? What runtimes am I locked into? @_askcarter
  4. The Infra Can I scale? Is it automatic? Am I

    locked in? @_askcarter
  5. The Wild Where are my machines? How do I update?

    @_askcarter
  6. Kubernetes Open Source Container Automation Framework • Open API •

    Based on Google’s experiences @_askcarter
  7. 3 Claims @_askcarter

  8. How does k8s hold up? @_askcarter

  9. Kubernetes Pre 1.3 Horizontal Scaling Automated Rollbacks Container Scheduling Resource

    Quotas and Limits Self-healing Service Discovery and Load Balancing Secret and Configuration Management Daemon Sets Secrets and Config Maps Deployments (already had a lot) @_askcarter
  10. monolith nginx hello nginx Microservices Monolith auth @_askcarter

  11. Container Based Photo © ptnimages via Canva.com @_askcarter

  12. Pods Logical Application • One or more containers and volumes

    • Shared namespaces • One IP per pod Pod nginx monolith NFS iSCSI GCE 10.1.0.100 @_askcarter
  13. Labels Arbitrary metadata attached to any API object • Queryable

    by Selectors • How Kubernetes does grouping Pod nginx monolith Pod nginx monolith labels: version: v1 track: stable labels: version: v1 track: test @_askcarter
  14. Labels selector: version=v1 Pod nginx monolith Pod nginx monolith labels:

    version: v1 track: stable labels: version: v1 track: test @_askcarter
  15. Labels selector: track=stable Pod nginx monolith Pod nginx monolith labels:

    version: v1 track: stable labels: version: v1 track: test @_askcarter
  16. Services Persistent IPs for Pods • Uses Labels to Target

    Pods • Internal or External IPs Pod nginx monolith Pod nginx monolith Service 10.8.244.100 10.1.0.2 10.1.0.1 @_askcarter
  17. Deployments Drive current state towards desired state Node 1 Pod

    app: hello replicas: 1 hello Node 2 @_askcarter
  18. Deployments Drive current state towards desired state Node 1 Pod

    app: hello replicas: 2 hello Node 2 Pod hello @_askcarter
  19. Deployments Drive current state towards desired state Node 1 Pod

    app: hello replicas: 2 hello Node 2 @_askcarter
  20. Deployments Drive current state towards desired state Node 1 Pod

    app: hello replicas: 2 hello Node 2 Pod hello @_askcarter
  21. Rolling Update Node 1 Pod hello Pod hello Node Pod

    hello Node Pod hello Node Pod hello Service @_askcarter
  22. Rolling Update Node 1 Pod hello Pod hello Node Pod

    hello Node Pod hello Node Pod hello Service Pod goodbye @_askcarter
  23. Rolling Update Node 1 Pod hello Pod hello Node Pod

    hello Node Pod hello Node Pod hello Service Pod goodbye @_askcarter
  24. Rolling Update Node 1 Pod hello Pod hello Node Pod

    hello Node Pod hello Node Pod hello Service Pod goodbye @_askcarter
  25. Rolling Update Node 1 Pod hello Pod hello Node Pod

    hello Node Node Pod hello Service Pod goodbye Pod goodbye @_askcarter
  26. Rolling Update Node 1 Pod hello Pod hello Node Pod

    hello Node Node Pod hello Service Pod goodbye Pod goodbye @_askcarter
  27. Rolling Update Node 1 Pod hello Pod hello Node Pod

    hello Node Node Pod hello Service Pod goodbye Pod goodbye @_askcarter
  28. Rolling Update Node 1 Pod hello Pod hello Node Pod

    hello Node Node Service Pod goodbye Pod goodbye @_askcarter
  29. Rolling Update Node 1 Pod hello Pod hello Node Pod

    hello Node Node Service Pod goodbye Pod goodbye Pod goodbye @_askcarter
  30. Rolling Update Node 1 Pod hello Pod hello Node Pod

    hello Node Node Service Pod goodbye Pod goodbye Pod goodbye @_askcarter
  31. Rolling Update Node 1 Pod hello Pod hello Node Pod

    hello Node Node Service Pod goodbye Pod goodbye Pod goodbye @_askcarter
  32. Rolling Update Node 1 Pod hello Pod hello Node Node

    Node Service Pod goodbye Pod goodbye Pod goodbye @_askcarter
  33. 3 Claims: revisited @_askcarter

  34. Kubernetes 1.3 @_askcarter

  35. Kubernetes 1.3 @_askcarter

  36. Kubernetes 1.3 Init containers (alpha) Fixed PDs Cluster Federation (alpha)

    Optional HTTP2 Pod Level QoS Policy Tls secrets kubectl set command UI Jobs RBAC (alpha, experimental) Garbage Collector (alpha) Pet Sets rkt Container runtime Network policies (and more) @_askcarter
  37. Cluster Federation Manage clusters across region and providers @_askcarter

  38. Jobs Pods *expected* to terminate Creates 1...n Pods and ensures

    that a certain number of them run to completion 3 types: non-parallel, fixed count parallel, and parallel with a work queue @_askcarter
  39. Job: Work Queue with Pod Per Work Item @_askcarter

  40. Init Containers Sequential Pod Initialization @_askcarter Pod Init 1 monolith

    NFS 10.1.0.100 Init 2 Init 3
  41. Init Container: register pod to external service @_askcarter

  42. Init Container: clone a git repo into a volume @_askcarter

  43. Pet Sets Pods with ego Pods are fungible, stateless? Pets

    are Pods with: 1. Stable hostname 2. A unique name 3. Stable storage @_askcarter
  44. Pet Sets Pods with ego @_askcarter

  45. PetSet: example manifest @_askcarter

  46. PetSet: headless service @_askcarter

  47. Bonus @_askcarter

  48. Google Container Engine (GKE) Cluster autoscaling (beta) IAM support Local

    SSD Container-VM Images (beta) Node pools @_askcarter
  49. minikube github.com/kubernetes/minikube @_askcarter

  50. Kube UI kubernetes.io/docs/user-guide/ui/ @_askcarter

  51. Thing I learned (making this talk) (making this talk) @_askcarter

  52. Recap @_askcarter

  53. 3 Hurdles The App The Infra The Wild @_askcarter

  54. 3 Claims Planet Scale Never Outgrow Run Anywhere @_askcarter

  55. Kubernetes 1.3 Planet Scale - SLA 2000 nodes Never Outgrow

    - minikube to prod Run Anywhere - Cluster Federation @_askcarter
  56. Scalable Microservice with Kubernetes @_askcarter

  57. Carter Morgan @_askcarter Learn more here! http://blog.kubernetes.io/2016/07/kubernetes-1.3-bridging-cloud-native-and-enterprise-workloads.html @_askcarter