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

Dynamic Environments Using Helm and Kubernetes

Dynamic Environments Using Helm and Kubernetes

Lucas Santos

May 19, 2020
Tweet

More Decks by Lucas Santos

Other Decks in Technology

Transcript

  1. Dynamic Environments Using #Helm and #Kubernetes

  2. cloud advocate_ quem sou eu_ /khaosdoctor @_staticvoid lsantos.dev /khaosdoctor [email protected]

  3. obarra.co trainingcenter.io

  4. Development teams_

  5. Team Code Tests Staging QA

  6. The problem_

  7. Dev Code Tests Dev Testing... Staging

  8. The perfect world_

  9. Dev 2 Code Tests Staging 2 Dev 1 Dev 3

    Staging 1 Staging 3
  10. How to achieve this?

  11. None
  12. - Container Orchestrator - Developed by Google in 2000 -

    Scaling, state and version management - Cluster based - Declarative
  13. - Kubernetes package manager - Allows for manifest files to

    be grouped into Charts - Templating - Easier way to create and tear down environments
  14. How do we start_?

  15. We create a Helm chart for our application

  16. helm create <name>

  17. None
  18. Chart.yaml

  19. None
  20. helm install <name> <path>

  21. The CI_

  22. None
  23. None
  24. None
  25. None
  26. None
  27. Demo

  28. Design patterns_

  29. Design Patterns - Manual testing environments by branch - Automatic

    testing environment by PR on release branch - Automatic testing environment by a "RC" tag - Automatic testing environment at each new version - Hybrid using manual branching with PRs on release
  30. tips_

  31. tips_ - Tearing down an environment is equally important as

    creating one - Do NOT use the production database (yeah… It happened) - Not all features need a testing environment - Make the environment creation and destruction as a manual approach - Do NOT use production passwords anywhere else (yeah… It also happened) - Keep it simple - Don't early-optimise
  32. referências_ - helm.sh - kubernetes.io - dev.azure.com/lsantos-projects/helm-dynamic-envs - github.com/khaosdoctor/helm-dynamic-envs -

    helm.sh/docs/developing_charts/ - helm.sh/docs/chart_template_guide/
  33. referências_ - https://aka.ms/aks-workshop-intro - https://aka.ms/helm-intro - https://aka.ms/helm-charts-intro - https://aka.ms/helm-az-cr -

    https://aka.ms/az-devops-docs - https://aka.ms/az-kubernetes - https://aka.ms/az-aks-tutorial
  34. /khaosdoctor @_staticvoid lsantos.dev /khaosdoctor obrigado_