Kubernetes: A Cautionary Tale (Minnebar)

Kubernetes: A Cautionary Tale (Minnebar)

The gap between Minikube and Kubernetes in production is vast and full of pain. Want to know what it's like to implement Kubernetes in production for the first time before you collect the bumps and bruises yourself? Join me to learn about the ups and downs of one company's initial experience - including who was involved, the scope, and what was intentionally deferred.

We will cover:
* Why even consider Kubernetes (Hint: you might not benefit from it!)
* How a real company approached their first proof-of-concept
* How goals changed during implementation of k8s
* What we learned so far
* What we still need to learn

E76894ebccb02b4c5c8219aea8b6a235?s=128

Joshua Sheppard

April 27, 2019
Tweet

Transcript

  1. 3.

    Our people, processes, and technology improve the world's transportation and

    supply chains, delivering exceptional value to our customers and suppliers. OVERVIEW $16.6B in 2018 Gross 
 Revenues 15,000+ Employees Worldwide 123K Active Customers Worldwide 73K Active Carriers and Suppliers 1100+ IT Employees in 14 Countries
  2. 5.
  3. 7.
  4. 8.
  5. 9.
  6. 10.
  7. 12.

    • Why K8s? (Hint: Might not be right for you)

    • One Approach • How Goals Changed • What We Learned • What Remained
  8. 15.
  9. 17.

    1. Cloud Hosted (flexibility) 2. Automation (CI/CD) 3. Culture (people

    matter) 4. Microservices 5. Containers 6. Orchestration (e.g. Kubernetes) https://container-solutions.com/when-is-the-wrong-time-to-use-kubernetes/
  10. 18.
  11. 19.
  12. 23.
  13. 24.
  14. 25.
  15. 26.
  16. 27.
  17. 28.
  18. 29.
  19. 30.
  20. 31.
  21. 32.
  22. 33.
  23. 34.
  24. 35.
  25. 36.
  26. 37.
  27. 38.
  28. 39.
  29. 40.
  30. 43.
  31. 44.
  32. 45.
  33. 46.
  34. 47.
  35. 48.
  36. 49.
  37. 50.
  38. 51.
  39. 52.
  40. 53.
  41. 54.
  42. 55.

    What We Learned • Don’t roll your own • Certificates

    are important • Networking knowledge is critical • Secrets aren’t secret • Some apps don’t benefit
  43. 56.

    Don’t Roll Your Own If you don’t sell k8s, don’t

    build it • ~22 Hosted solutions • ~28 Cloud turnkey solutions • ~18 On-premises turnkey solutions https://kubernetes.io/docs/setup/pick-right-solution/
  44. 57.

    Certificates Are Important You need to “generate TLS certificates for

    the following components: etcd, kube-apiserver, kube-controller- manager, kube-scheduler, kubelet, and kube-proxy.” … And that’s before even considering your apps.
  45. 58.

    Networking Knowledge is Critical “Kubernetes cluster networking is perhaps one

    of the most complex components of the Kubernetes infrastructure because it involves so many layers and parts (e.g., container-to-container networking, Pod networking, services, ingress, load balancers), and many users are struggling to make sense of it all.” - Kirill Goltsman, Supergiant
  46. 59.

    Secrets Aren’t Secret • ENV vs volume mount • Base64

    encoding in cluster • `kubeseal` • HashiCorp Vault
  47. 60.

    Some Apps Don’t Benefit • Where do they scale? •

    Are they “cluster-aware”? • What about failed deployments?
  48. 61.

    What Remains • CI/CD into K8s • How to get

    our nodes (vendor?) • Improved storage, external state • Namespaces and environments
  49. 62.

    Multiple Environments • Dev == Minikube? • Integration == Namespace?

    Cluster? • Production == 1+ clusters? • Testing apps vs testing k8s upgrades
  50. 63.

    Closing • Think before you k8s - do you need

    it? • Plan to learn - in stages, over time • People matter - especially networking folk ;) • Expect plans to evolve • Blaine? Eden Prairie?