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

Barriers to adoption of Kubernetes in production

Barriers to adoption of Kubernetes in production

https://www.youtube.com/watch?v=Vw62jhsZxU8
https://github.com/weaveworks/kubernetes-anywhere

- motivation
- barriers to adoption
- our team’s experience
- tools/demo

Ilya Dmitrichenko

March 10, 2016
Tweet

More Decks by Ilya Dmitrichenko

Other Decks in Technology

Transcript

  1. if you can drink and watch Star Wars, you can

    handle Kubernetes in production (because that’s exactly what we did) Ilya Dmitrichenko
  2. 1. motivation 2. barriers to adoption 3. our team’s experience

    4. tools/demo kube-1 kube-3 kube-2 kube-4 kube-6 kube-5 kube-7
  3. and most of people in this room will agree with

    you. in theory. while in practice, there are still more questions…
  4. more questions will arise because your team has opinions you

    cannot take very big risk and legacy systems are a thing.
  5. 2. toolchains & workflow you already know how to compile

    your app, write tests & configure CI
  6. we call this ABCDE of Microservices A) write the app

    B) test and build it C) provision a cluster D) deploy the app E) execute
  7. Controller Manager [kube-controller-manager] Scheduler [kube-scheduler] API Server [kube-apiserver] Cluster Nodes

    [kube-proxy] [kubelet] etcd1 etcd2 etcd3 all of the opinions will surface and you still need really?
  8. Controller Manager [kube-controller-manager] Scheduler [kube-scheduler] API Server [kube-apiserver] Cluster Nodes

    [kube-proxy] [kubelet] etcd1 etcd2 etcd3 all of the opinions will surface and you still need a network
  9. Controller Manager [kube-controller-manager] Scheduler [kube-scheduler] API Server [kube-apiserver] Cluster Nodes

    [kube-proxy] [kubelet] etcd1 etcd2 etcd3 all of the opinions will surface and you still need a storage product
  10. Controller Manager [kube-controller-manager] Scheduler [kube-scheduler] API Server [kube-apiserver] Cluster Nodes

    [kube-proxy] [kubelet] etcd1 etcd2 etcd3 all of the opinions will surface and you still need a monitoring solution
  11. Controller Manager [kube-controller-manager] Scheduler [kube-scheduler] API Server [kube-apiserver] Cluster Nodes

    [kube-proxy] [kubelet] etcd1 etcd2 etcd3 all of the opinions will surface and you still need a private registry
  12. Controller Manager [kube-controller-manager] Scheduler [kube-scheduler] API Server [kube-apiserver] Cluster Nodes

    [kube-proxy] [kubelet] etcd1 etcd2 etcd3 all of the opinions will surface and you still need to deliver faster
  13. our team’s use-case scope-app-259 0 pods app-mapper 2 pods The

    Internet users 2 pods kubernetes 0 pods Uncontained ip-172-20-0-149 Uncontained ip-172-20-0-148 scope-app-327 1 pod scope-app-281 0 pods frontend 2 pods scope-app-301 0 pods fairly simple Go app, only 6 services
  14. our team’s use-case scope-app-259 0 pods app-mapper 2 pods The

    Internet users 2 pods kubernetes 0 pods Uncontained ip-172-20-0-149 Uncontained ip-172-20-0-148 scope-app-327 1 pod scope-app-281 0 pods frontend 2 pods scope-app-301 0 pods no messaging or fancy databases
  15. our team’s use-case scope-app-259 0 pods app-mapper 2 pods The

    Internet users 2 pods kubernetes 0 pods Uncontained ip-172-20-0-149 Uncontained ip-172-20-0-148 scope-app-327 1 pod scope-app-281 0 pods frontend 2 pods scope-app-301 0 pods must have portable cluster deployment
  16. scope.weave.works ilya-proxy-e20b5 1 container metrics-98d4fd7-ybopj 1 container dbshell-fons-e6791 1 container

    users-cb08840-kjd39 1 container dbshell-fons-14417 dbshell-fons-2eab5 dbshell-fons-2d95f Uncontained ip-172-20-0-149 Uncontained ip-172-20-0-148 app-mapper-77d895a-rjqc1 app-mapper-77d895a-bk4k5 1 container The Internet users-cb08840-dj03q 1 container frontend-515708e-0y9h0 1 container
  17. party! users-cb08840-kjd39 2 containers metrics-98d4fd7-ybopj 2 containers users-cb08840-dj03q 2 containers

    frontend-515708e-0y9h0 2 containers dbshell-fons-e6791 2 containers app-mapper-77d895a-bk4k5 2 containers Uncontained ip-172-20-0-149 ilya-proxy-e20b5 2 containers The Internet Uncontained ip-172-20-0-148