Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Helm 3: Navigating to Distant Shores (KubeCon EU 2019)

Helm 3: Navigating to Distant Shores (KubeCon EU 2019)

  • Als Erste(r) kommentieren

Helm 3: Navigating to Distant Shores (KubeCon EU 2019)

  1. 1. @bridgetkromhout @jldeen#kubecon@bridgetkromhout @jldeen#kubecon Helm 3 to Distant Shores Navigating
  2. 2. @bridgetkromhout @jldeen#kubecon@bridgetkromhout @jldeen#kubecon Bridget Kromhout Jessica Deen
  3. 3. @bridgetkromhout @jldeen#kubecon@bridgetkromhout @jldeen#kubecon Outline 1.why Helm? 2.v3 overview 3.breaking changes 4.new features 5.what’s next?
  4. 4. @bridgetkromhout @jldeen#kubecon@bridgetkromhout @jldeen#kubecon Spoilers 1.why Helm? 2.v3 overview 3.breaking changes 4.new features 5.what’s next?
  5. 5. @bridgetkromhout @jldeen#kubecon@bridgetkromhout @jldeen#kubecon
  6. 6. @bridgetkromhout @jldeen#kubecon@bridgetkromhout @jldeen#kubecon consistent development repeatable deployment containers solve problems
  7. 7. @bridgetkromhout @jldeen#kubecon@bridgetkromhout @jldeen#kubecon containers solve problemsdon’t all
  8. 8. @bridgetkromhout @jldeen#kubecon@bridgetkromhout @jldeen#kubecon containers need orchestrating
  9. 9. @bridgetkromhout @jldeen#kubecon@bridgetkromhout @jldeen#kubecon “Kubernetes is an open-source platform designed to automate deploying, scaling, and operating application containers." Initial release: 7 June 2014 enter: k8s
  10. 10. @bridgetkromhout @jldeen#kubecon@bridgetkromhout @jldeen#kubecon Image credit: James Ernest managing your apps
  11. 11. @bridgetkromhout @jldeen#kubecon@bridgetkromhout @jldeen#kubecon Find, share, and use software built for k8s Manage complexity Easy updates Simple sharing Rollbacks
  12. 12. @bridgetkromhout @jldeen#kubecon@bridgetkromhout @jldeen#kubecon Manage complexity Charts can describe complex apps; provide repeatable app installs, and serve as a single point of authority
  13. 13. @bridgetkromhout @jldeen#kubecon@bridgetkromhout @jldeen#kubecon Easy updates Take the pain out of updates with in-place upgrades and custom hooks
  14. 14. @bridgetkromhout @jldeen#kubecon@bridgetkromhout @jldeen#kubecon Simple sharing Charts are easy to version, share, and host on public or private servers
  15. 15. @bridgetkromhout @jldeen#kubecon@bridgetkromhout @jldeen#kubecon Rollbacks Use helm rollback to roll back to an older version of a release with ease
  16. 16. @bridgetkromhout @jldeen#kubecon@bridgetkromhout @jldeen#kubecon v3 overview - based on community best practices - dramatic simplification - architectural changes (security as priority)
  17. 17. @bridgetkromhout @jldeen#kubecon@bridgetkromhout @jldeen#kubecon Simpler, more secure, production use cases
  18. 18. @bridgetkromhout @jldeen#kubecon@bridgetkromhout @jldeen#kubecon Major refactor needed Helm is almost as old as k8s Predating CRDs and k8s RBAC!
  19. 19. @bridgetkromhout @jldeen#kubecon@bridgetkromhout @jldeen#kubecon Replacing custom APIs for charts and deployments with secrets making Helm more k8s-native
  20. 20. @bridgetkromhout @jldeen#kubecon@bridgetkromhout @jldeen#kubecon Inheriting security controls from kubeconfig Using k8s RBAC to limit access & resources
  21. 21. @bridgetkromhout @jldeen#kubecon@bridgetkromhout @jldeen#kubecon Farewell, Tiller - simpler & more flexible architecture, security, & upgrades - now using Kubernetes API directly - rendering Charts client-side; storing in release - lowering the barrier of entry for contributors
  22. 22. @bridgetkromhout @jldeen#kubecon@bridgetkromhout @jldeen#kubecon CLI changes helm delete ——-> helm uninstall helm inspect ——-> helm show helm fetch ——-> helm pull --purge is now default (to override: helm uninstall -- keep-history)
  23. 23. @bridgetkromhout @jldeen#kubecon@bridgetkromhout @jldeen#kubecon Warning! Breaking Changes! (see https://github.com/helm/helm/blob/master/ CONTRIBUTING.md#semantic-versioning for context)
  24. 24. @bridgetkromhout @jldeen#kubecon@bridgetkromhout @jldeen#kubecon Namespaces changes - defaulting to a single namespace for a release and objects (no longer using the tiller namespace) - creating resources in the same namespace as the release - this is why you can’t upgrade a helm 2 release with helm 3 (migration story is in progress!)
  25. 25. @bridgetkromhout @jldeen#kubecon@bridgetkromhout @jldeen#kubecon Chart dependency management - Old style: requirements.yaml and requirements.lock - New style: Chart.yaml and Chart.lock (breaking change if you use helm dependency subcommands)
  26. 26. @bridgetkromhout @jldeen#kubecon@bridgetkromhout @jldeen#kubecon --generate-name - Old style: auto-generated unless overridden - New style: error unless auto-generation requested
  27. 27. @bridgetkromhout @jldeen#kubecon@bridgetkromhout @jldeen#kubecon Adventure! Excitement! Features!
  28. 28. @bridgetkromhout @jldeen#kubecon@bridgetkromhout @jldeen#kubecon - iterating on Helm Chart Repository API - working towards compat with OCI standard (eventually: pluggable auth! novel artifact types! host on ACR!)
  29. 29. @bridgetkromhout @jldeen#kubecon@bridgetkromhout @jldeen#kubecon Lua, in lieu of go templates (optionally) Helm 2: late-binding error from k8s with a failed release. Helm 3: “Can I actually create these resources?” could have a pre-install hook, see if “can I?” is true or “Do these CRDs exist? If yes, don’t create them.”
  30. 30. @bridgetkromhout @jldeen#kubecon@bridgetkromhout @jldeen#kubecon Library chart support - shared by other charts - does not create any release artifacts of its own - A library chart’s templates can only declare define elements - allows simpler code reuse
  31. 31. @bridgetkromhout @jldeen#kubecon@bridgetkromhout #kubecon Demo time!
  32. 32. @bridgetkromhout @jldeen#kubecon@bridgetkromhout @jldeen#kubecon the future “What’s next?” Jed Bartlet, The West Wing
  33. 33. @bridgetkromhout @jldeen#kubecon@bridgetkromhout @jldeen#kubecon Helm 3 alpha releases alpha.1: tillerless, library charts, secrets storage backend, beginning OCI groundwork (chart commands) alpha.2: Lua, XDG, start OCI integration (package, install, dependency update) alpha.3: refactoring upgrade logic (maybe with server-side apply, 3-way diffs, etc), plugins written in Lua
  34. 34. @bridgetkromhout @jldeen#kubecon@bridgetkromhout @jldeen#kubecon get involved! - deep dive at 16:45 today in Hall 8.0 D4 - https://v3.helm.sh/docs/faq/ - helm.sh for community calls - feedback on the alpha release (on new use cases & workflows)
  35. 35. @bridgetkromhout @jldeen#kubecon@bridgetkromhout @jldeen#kubecon CFP till 31 May! 11-12 September 2019, in Amsterdam https://helm.sh/blog/helm-summit-eu-2019/
  36. 36. @bridgetkromhout @jldeen#kubecon@bridgetkromhout @jldeen#kubecon To learn more… Cloud Native Tooling deislabs.io Demo code github.com/jldeen/helm3-demo AKS docs docs.microsoft.com/azure/aks Microsoft Learn aka.ms/k8slearning
  37. 37. @bridgetkromhout @jldeen#kubecon@bridgetkromhout @jldeen#kubecon Cloud Native Tooling deislabs.io Demo code github.com/jldeen/helm3-demo AKS docs docs.microsoft.com/azure/aks Microsoft Learn aka.ms/k8slearning Thanks!

×