devops with kubernetes and helm
play

DevOps with Kubernetes and Helm Jessica Deen Cloud Developer - PowerPoint PPT Presentation

DevOps with Kubernetes and Helm Jessica Deen Cloud Developer Advocate HELLO! I am Jessica Deen I am here because I love technology and community. I focus heavily on Linux, OSS, DevOps and Containers. I love Disney and CrossFit/Fitness.


  1. DevOps with Kubernetes and Helm Jessica Deen Cloud Developer Advocate

  2. HELLO! I am Jessica Deen I am here because I love technology and community. I focus heavily on Linux, OSS, DevOps and Containers. I love Disney and CrossFit/Fitness. You can find me at @jldeen on GitHub, Twitter, and Instagram.

  3. Disclaimer The next 60 minutes will NOT make you an expert, but it will: Get you thinking - Show you what’s possible - Give you some sample code for you to get - started on your own time

  4. GOING DI DIGITAL 1 1 million/h /hour 12 year 12 ars 60% 60% co computing new devices average age of S&P in the public cloud coming online 500 corporations by 2025 by 2020 by 2020

  5. de developers I need to create applications New applications run smoothly My productivity and application at a competitive rate without on my machine but malfunction innovation become suspended worrying about IT on traditional IT servers when I have to wait on IT

  6. IT IT I need to manage servers I’m unsure of how to integrate I’m unable to focus on both and maintain compliance unfamiliar applications, and I server protection and with little disruption require help from developers application compliance

  7. IT stress points Security Datacenter Supporting threats efficiency innovation

  8. Cloud is a new way to think about a datacenter Se Servers Se Service ces

  9. DevOps: The Three Stage Conversation People Process Products

  10. DevOps is the union of people, process, and products to enable continuous delivery of value to our end users. -Donovan Brown http://bit.ly/WhatIs-DevOps

  11. Key DevOps Practices Infrastructure as Continuous Continuous Code Integration Deployment Performance Automated Testing Release Monitoring Management Automated Availability Load Testing & Recovery (Rollback Monitoring Auto Scale & Roll Forward)

  12. DevOps Benefits IT Performance Metrics 2015 2016 2017 Deployment 30x more 200x more 46x more Frequency frequent frequent frequent Lead Time for 200x faster 2,555x faster 440x faster Changes Mean Time to Recover 168x faster 24x faster 96x faster (MTTR) Change Failure 3x lower (1/3 5x lower (1/5 Rate as likely) as likely) Source: https://puppetlabs.com

  13. Enable ‘write-once, run-anywhere’ apps DevOps De Enables microservice architectures Great for dev/test of apps and services Production realism Growing Developer Community Developers De Portability, Portability, Portability Standardized development, QA, and prod environments Abstract differences in OS distributions and underlying infrastructure Higher compute density Operations Op Easily scale-up and scale-down in response to changing business needs

  14. What is a Container? Not a real thing. An application delivery mechanism with process isolation based on several Linux kernel features. Namespaces (what a Cgroups (what a process process can see) can use) v PID v Memory v Mount v CPU v Network v Blkio v UTS v Cpuacct v IPC v Cpuset v User v Devices v Cgroup v Net_prio

  15. What is v Open Source Container Runtime v Mac, Linux, Windows Support v Command Line Tool v “Dockerfile” format v The Docker image format with layered filesystem

  16. Docker Layered Filesystem

  17. Docker Layered Filesystem

  18. Virtualization versus containerization Virtualization Containerization Virtual machine Container Application XYZ Application App dependencies Dependencies Guest OS C C C C C VM VM VM Dependency 1 Dependency 2 VM VM VM Hypervisor 2 Docker Engine Hypervisor 1 Host OS Host OS Hardware Hardware Hardware Type 1 Type 2

  19. The container ad advant antag age Fast Agile Immutability Cost Efficient Elastic iteration delivery savings deployment bursting For developers For IT

  20. Demo

  21. What did we just do? Kubernetes Pipeline Build Kubernetes Repository Package Deploy Test

  22. Container Orchestration: Kubernetes

  23. What is Kubernetes? Open source container orchestrator that automates deployment, scaling, and management of applications. Features include: v Automatic bin packing v Designed by Google v Based on their v Self-healing system used to v Horizontal scaling run BILLIONS of v Service discovery containers per week v Load balancing v Over 2,300 v Automated rollouts and rollbacks contributors v Secret and configuration v Graduated from CNCF management

  24. Who is using Kubernetes?

  25. Azure Kubernetes Service (AKS)

  26. Your Kubernetes Cluster Managed by Azure

  27. Why AKS? Easy to use: Easy to manage: v Fastest path to Kubernetes on v Automated upgrades Azure and patching v Up and running with 3 simple v Easily scale the commands cluster up and down v I argue there are 2.5 commands v Self-healing control plane Uses open APIs – 100% upstream Kubernetes

  28. Getting Started with AKS $ az aks create -g myResourceGroup -n myCluster --generate-ssh-keys \ Running .. $ az aks install-cli Downloading client to /usr/local/bin/kubectl .. $ az aks get-credentials -g myResourceGroup -n myCluster Merged "myCluster" as current context .. $ kubectl get nodes NAME STATUS AGE VERSION aks-mycluster-36851231-0 Ready 4m v1.8.1 aks-mycluster-36851231-1 Ready 4m v1.8.1 aks-mycluster-36851231-2 Ready 4m v1.8.1

  29. Managing an AKS Cluster $ az aks list –o table Name Location ResourceGroup KubernetesRelease ProvisioningState ------------------ ---------- -------------- ------------------- ------------ ------- myCluster westus2 myResourceGroup 1.7.7 Succeeded $ az aks upgrade -g myResourceGroup -n myCluster –-kubernetes-version 1.8.1 \ Running .. $ kubectl get nodes NAME STATUS AGE VERSION aks-mycluster-36851231-0 Ready 12m v1.8.1 aks-mycluster-36851231-1 Ready 8m v1.8.1 aks-mycluster-36851231-2 Ready 3m v1.8.1 $ az aks scale -g myResourceGroup -n myCluster --agent-count 10 \ Running ..

  30. Kubernetes without AKS Master VM Master VM Agent VM Agent VM Agent VM Agent VM Master VM Agent VM Agent VM Agent VM Agent VM Control Plane Agent Pool

  31. Kubernetes with AKS Agent VM Agent VM Agent VM Agent VM Hosted Control Plane Agent VM Agent VM Agent VM Agent VM Agent Pool

  32. Release automation tools Azure Container Service (AKS) Simplifying the Kubernetes experience Azure Container Instances (ACI) Azure Container Registry Streamlined The package Event-driven Visualization Kubernetes manager for scripting for dashboard for Open Service development Kubernetes Kubernetes Brigade Broker API (OSBA) Release Automation Tools

  33. Helm Azure Container Service (AKS) The best way to find, share, and use software built for Kubernetes Azure Container Instances (ACI) Azure Container Registry Manage complexity Easy updates Simple sharing Rollbacks Charts can describe Take the pain out Charts are easy to Use helm rollback complex apps; provide of updates with in- version, share, and host to roll back to an older Open Service repeatable app installs, and place upgrades and on public or private version of a release Broker API (OSBA) serve as a single point of custom hooks servers with ease authority Release Automation Tools

  34. Helm Azure Container Service (AKS) Helm Charts helps you define, install, and upgrade even the most complex Kubernetes application services Azure Container ci Instances (ACI) db load balancer custom … Chart.yml Azure Container Registry Open Service Broker API (OSBA) Release Automation Tools

  35. Azure Container Service (AKS) Simple app development and deployment – into any Kubernetes cluster Azure Container Instances (ACI) Azure Container Registry Simplified development Language support Using two simple commands, developers Draft detects which language your app is can now begin hacking on container-based written in, and then uses packs to Open Service Broker API (OSBA) applications without requiring Docker or generate a Dockerfile and Helm Chart even installing Kubernetes themselves with the best practices for that language Release Automation Tools

  36. Demo

  37. 5 Kubernetes Best Practices v Build small containers v Application architecture v Use Namespaces v Use helm charts v RBAC v Implement Health checks v Set requests and limits v Be mindful of your services v Map external services v Don’t rely on load balancers

  38. THANKS! Resources aka.ms/devops/jaxlondon2018 Any questions? You can find me at: @jldeen · jessica.deen@microsoft.com

Recommend


More recommend