Rectangle 11806-min
Microsoft Cloud Hack

Intro To Kubernetes

Students in a classroom-min

Course Description

This intro level hack will help you get hands-on experience with Docker, Kubernetes and the Azure Kubernetes Service (AKS) on Microsoft Azure. Kubernetes has quickly gone from being the shiny new kid on the block to the defacto way to deploy and orchestrate containerized applications. 

This hack starts off by covering containers, what problems they solve, and why Kubernetes is needed to help orchestrate them. You will learn all of the Kubernetes jargon (pods, services, and deployments, oh my!). By the end, you should have a good understanding of what Kubernetes is and be familiar with how to run it on Azure. 

About this course

Duration

3 Days

Learning Objectives

In this hack you will solve a common challenge for companies migrating to the cloud. You will take a simple multi-tiered web app, containerize it, and deploy it to an AKS cluster. Once the application is in AKS, you will learn how to tweak all the knobs and levers to scale, manage and monitor it. 

  • Containerize an application 
  • Deploy a Kubernetes cluster in Azure and deploy applications to it. 
  • Understand key Kubernetes management areas: scalability, upgrades and rollbacks, storage, networking, package management and monitoring 

Challenges

  • Challenge 00: Prerequisites - Ready, Set, GO!
    • Prepare your workstation to work with Azure, Docker containers, and AKS 
  • Challenge 01: Got Containers?
    • Package the "FabMedical" app into a Docker container and run it locally. 
  • Challenge 02: The Azure Container Registry
    • Deploy an Azure Container Registry, secure it and publish your container. 
  • Challenge 03: Introduction To Kubernetes
    • Install the Kubernetes CLI tool, deploy an AKS cluster in Azure, and verify it is running. 
  • Challenge 04: Your First Deployment
    • Pods, Services, Deployments: Getting your YAML on! Deploy the "FabMedical" app to your AKS cluster. 
  • Challenge 05: Scaling and High Availability
    • Flex Kubernetes' muscles by scaling pods, and then nodes. Observe how Kubernetes responds to resource limits. 
  • Challenge 06: Deploy MongoDB to AKS
    • Deploy MongoDB to AKS from a public container registry. 
  • Challenge 07: Updates and Rollbacks
    • Deploy v2 of FabMedical to AKS via rolling updates, roll it back, then deploy it again using the blue/green deployment methodology. 
  • Challenge 08: Storage
    • Delete the MongoDB you created earlier and observe what happens when you don't have persistent storage. Fix it! 
  • Challenge 09: Helm
    • Install Helm tools, customize a sample Helm package to deploy FabMedical, publish the Helm package to Azure Container Registry and use the Helm package to redeploy FabMedical to AKS. 
  • Challenge 10: Networking and Ingress
    • Explore integrating DNS with Kubernetes services and explore different ways of routing traffic to FabMedical by configuring an Ingress Controller. 
  • Challenge 11: Operations and Monitoring
    • Explore the logs provided by Kubernetes using the Kubernetes CLI, configure Azure Monitor and build a dashboard that monitors your AKS cluster 

Prerequisites

  • Windows Subsystem for Linux (Windows 10-only) 
  • Azure CLI
  • (Windows-only) Install Azure CLI on Windows Subsystem for Linux
  • Update to the latest
  • Must be at least version 2.7.x
  • Alternatively, you can use the Azure Cloud Shell
  • Visual Studio Code 

Ready to get started?