DevOps: Kubernetes and Helm
Jessica Deen
Cloud DevOps Advocate
www.jessicadeen.com | @jldeen
Jessica.Deen@Microsoft.com
• Linux, Open Source,
Containers, IT/Ops
• CrossFit
• HUGE Disney and Star Wars
fan
• League of Extraordinary Cloud
DevOps Advocates
Agenda
Security
threats
Datacenter
efficiency
Supporting
innovation
Servers Services
Cloud is a new way to think about a datacenter
Plan
1 Monitor + Learn
ReleaseDevelop + Test
2
Development Production
4
3
•
•
•
•
•
•
•
•
•
•
•
•
•
•
http://www.itproguy.com/devops-practices/
https://puppetlabs.com/
What is Kubernetes?
Kubernetes - Agility
Kubernetes - Agility
Kubernetes - Scalability
Kubernetes - Scalability
Kubernetes - Scalability
Kubernetes - Reliability
Where can I get/run Kubernetes
Why AKS?
Getting Started with AKS
Managing an AKS cluster
What is Helm?
What is Helm?
What is Helm?
Birth of Helm
• On October 15th, 2015
• Hackathon project at company offsite
• Could we take the ideas behind npm and Homebrew and build
something for deploying apps into Kubernetes?
• Installation tool for Deis Workflow
• Announced at the first KubeCon in San Francisco 2015
Architecture
Key concepts: Helm, Tiller, Charts
• Helm has two major components:
• Helm client
• Tiller server
• Helm client is the CLI for end users
• Written in Go, uses gRPC to interact with the server
• Sends charts and values to Tiller for install, upgrade,
etc.
Architecture
Tiller server
• In-cluster server that interacts with the client
and interfaces with the Kubernetes API
server
Chart
• Collection of Kubernetes resources
Installing Helm
• Helm.sh
• GitHub: kubernetes/helm
• Homebrew cask
•
Chart structure
• Charts have structure
• Set of conventions, including file and directory
names
• Charts can be packaged into tarballs for
distribution
Chart structure
• Layout
• Helm expects a strict chart structure
Chart.yaml
Helm values.yaml
• The knobs and dials:
• A values.yaml file provided with the chart
that contains default values
• Use -f to provide your own values overrides
• Use --set to override individual values
Helm Templates
• Built on Go’s template language w/addition of 50 or so
add-on template functions
• Almost anything goes! ;)
• Also useful in generating random values (e.g.
passwords)
• Provides flow control (if/else, with, range, etc)
• Named templates (partials)
Helm Templates
• Built-in predefined values
• Release-related
• Release.Name, Release.Namespace,
Release.IsInstall, Release.IsUpgrade,
etc.
• Chart:
• Values from chart.yaml: Chart.Version,
Chart.Maintainers, etc.
Chart versions
• Helm uses version numbers as release markers
• All charts must specify SemVer2 numbers
Helm charts (the other bits)
Chart LICENSE, README and NOTES
• README.md: description of application or service that the chart provides,
prereqs to run, description of options in values.yaml and their
default values
• templates/NOTES.txt: NOTES are printed after install, upgrade, or
when viewing the status of a release. Meant for chart developers to
display usage notes, next steps, etc. for chart users.
Dependencies
• A chart can depend on any number of other charts.
• Dependencies are expressed by
• copying the dependency charts into the charts/ subdirectory
• Requirements.yaml allows you to declare dependencies
Helm’s other hats
• Lifecycle Management
• Update
• Rollback
• Config management
• Testing
• Repeatability
Helm’s other hats
• Config management
• Helm install 
--values development.yaml 
--kube-context=development 
. /myapp
Containers 101 – Codefresh and jFrog Meetup
• https://www.meetup.com/Containers-101-
meetup/events/246465522/
•
Google West Campus 2 (GWC2) - 1501 Salado
Dr · Mountain View, CA
Copy from the best!
• https://github.com/kubernetes/charts
• https://kubeapps.com
• Stable charts: we are pretty sure these work well.
• Incubator charts: good luck, hard fight!
• Interested in writing a chart? Reach out! We only bite
on the weekends.
Questions?
Connect with me!
Email: jessica.deen@Microsoft.com
Twitter/GitHub/Instagram: @jldeen
Blog: jessicadeen.com
LoECDA Website: loecda.com
Thank you!
www.jessicadeen.com | @jldeen
github.com/jldeen/
Jessica.Deen@Microsoft.com
Channel 9 - https://channel9.msdn.com/Niners/jldeen

DevOps: Kubernetes + Helm with Azure

Editor's Notes

  • #7 Why is this transformation important? Let’s take a look at the next few years before us… In 2020, 1 million new devices are expected to come online every hour. The connectivity between people and data is creating billions of new relationships that are driven not only by data but by algorithms that keep customers engaged and buying.* In 2020, the average age of a S&P 500 corporation is expected to be 12 years old. Compare that to the S&P 500 in 1960 when the average age was 60 years old.** By the year 2025, at least 60 percent of computing will be cloud-based, due to “everything-as-a-service” shifting fundamental changes in the IT industry.*** For digital transformation, mobility is the universal catalyst and cloud is the great enabler. How are you planning for digital transformation? Do you have the right people and the right technology in place to build your digital vision? How can you use technology to shape your future? *http://www.gartner.com/newsroom/id/3142917 **http://upstart.bizjournals.com/resources/author/2015/06/04/fortune-500-must-disrupt-or-die-writes-r-ray-wang.html?page=all ***http://www.emersonnetworkpower.com/en-US/Latest-Thinking/Data-Center-2025/Documents/002401_DataCenter2025Report_HR_INTERACTIVE.PDF
  • #9 Traditional model - Empathize, land the case for change based on change in business context Take empathizing tone (don’t want to make this sound negative). We want them to realize that what customers have done may have worked in the past but they need to recognize the need for change as the business is changing rapidly. Most companies are running custom apps that are stitched together, they have purpose-built hardware to think about, and have specialized teams, and everything has been carefully customized (over many years in some cases!). Now as an enterprise, you did all this for all the right reasons, but you might consider that it might be holding our customers (and their business) back in many ways given that the business context has changed fundamentally. In this new age of apps, the old way of doing this is causing friction because IT isn’t moving as fast as business wants it to. This is manifested in developers not getting the speed and freedom they need to create the best end-user experiences. That leads to lost productivity on their side, which results in ‘Shadow IT’. In 2015, 42% of the technology budget resides outside IT; this will grow to 50% by 2020 (Gartner). So this is real.   And we all know that while Shadow IT behaviors provide immediate gratification, it comes with risk. Slide 8: Cloud model (Mark) – Empathize, ask customers to be change agents, land cloud principles. Now let’s look at the cloud. Everyone knows that the cloud offers agility and innovation. It’s proving itself to be the way forward for the modern enterprise and we’ll talk more about that in a bit. But for some of our IT customers, the cloud might seem a little daunting. They might be asking, “Is this something I want to lead the charge on? How does it help my career?” The tension some of them experience is because you’re not sure if things are consistent with what you’re doing on-premises and it seems like it will be hard to manage. There’s also a tension between developers who want speed and freedom (represented by business demands), and the IT folks who have to worry about things like security and compliance.   Bridge to our POV while bringing them along. Implore them to be change agents in their orgs. But make no mistake about it – the cloud is the natural way forward for the rapidly evolving enterprise. Let’s all embrace it. In this context, we’re already seeing some leading indicators around “bi-modal“ IT among you: 45% of CIOs have a second, fast, mode of service delivery that complements their rock solid operations” (Gartner Symposium, Oct 2014). So there’s already some great progress that a lot of you seem to be driving. This is do-able. And we want our customers to be change agents in driving cloud adoption in your orgs.   Our POV We believe that cloud is a model/architecture, not a location. (Cloud-first principles as in the slide) Turns out that Microsoft has been on its own cloud-first journey for many years and we have fully operationalized cloud-first in our hyper-scale datacenters. We’d like to share some of that next to help customers shortcut their journey.
  • #10 People = Culture Fundamental attributes of successful cultures: Shared mission and incentives: infrastructure as code, apps as services, DevOps/all as teams You need to consider your hardware as a commodity, (don't give your servers names) , servers are like farm animals, it is just harder if you let theids name them Build deep instrumentation into services, push complexity up the stack Rally around agile, shared metrics, CI, service owners on call, etc. Changing the culture: any change takes time, changing culture is no exception and you can't do it alone, exploit compelling events to change culture: downtimes, cloud adoption, devops buzz PROCESS Definition and design, compliance, and continuous improvement PEOPLE Responsibilities, management, skills development, and discipline Products Tools and infrastructure
  • #13 2014 Report collected in December 2013 had over 9,200 survey respondents across 110 countries with companies of ALL sizes and verticals. 2015 Report had 4,976 respondents with companies of ALL sizes and verticals.
  • #14 globally distributed , database as a service. It allows you to
  • #59 globally distributed , database as a service. It allows you to
  • #60 We’ve gone through a journey today, through the various capabilities of Azure that support your path toward digital transformation, from app innovation, to data and intelligence, to open and flexible deployments, to trust. We’re here to partner with you as you continue to innovate and transform. Thank you.