Giter VIP home page Giter VIP logo

akshack's Introduction

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.

akshack's People

Contributors

larryclaman avatar

Stargazers

Matt Felton avatar

Watchers

Stephen Jeffries avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.