Skip to content

onemtc/AKSHack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 

Repository files navigation

Intro To Kubernetes

Introduction

This hack will provide hands-on experience with 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.

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.

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

Challenges

  • Challenge 1: Pre-requisites - Ready, Set, GO!
    • Prepare your workstation to work with Azure, Docker containers, and AKS
  • Challenge 2: The Azure Container Registry
    • Deploy an Azure Container Registry, secure it and publish your container.
  • Challenge 3: Introduction To Kubernetes
    • Install the Kubernetes CLI tool, deploy an AKS cluster in Azure, and verify it is running.
  • Challenge 4: Your First Deployment
    • Pods, Services, Deployments: Getting your YAML on! Deploy the "FabMedical" app to your AKS cluster.
  • Challenge 5: Resiliency
    • Create probes to ensure your deployments are working.
  • Challenge 5b: Scaling and High Availability
    • Flex Kubernetes' muscles by scaling pods, and then nodes. Observe how Kubernetes responds to resource limits.
  • Challenge 6: Deploy MongoDB to AKS
    • Deploy MongoDB to AKS from a public container registry.
  • Challenge 7: 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 8: Storage
    • Delete the MongoDB you created earlier and observe what happens when you don't have persistent storage. Fix it!
  • Challenge 9: Networking
    • Explore integrating DNS with Kubernetes services and explore different ways of routing traffic to FabMedical by configuring an Ingress Controller.
  • Challenge 10: 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
  • Challenge 11: Kubernetes Secrets
    • Add credentials to your MongoDB database, and store them in Kubernetes Secrets
  • Challenge 12: Kubernetes Secrets & Azure Key Vault
    • Refactor your manifests to store all your credentials in Azure Key Vault
  • Challenge 13: Helm (optional)
    • (Optional Challenge) Explore creating a Helm chart for an application and share it in a repository

Prerequisites

Repository Contents

  • ../Student/Resources
    • FabMedial app code and sample templates to aid with challenges

Acknowledgements

This content is based on material originally developed for the What The Hack program. It's been customized with addtional content and revisions.

Releases

No releases published

Packages

No packages published