This repo houses the source for the hands-on series sessions. The series will walk you step by step to help you move an existing application into Azure Kubernetes.
k8ProductsStore is a simple application to demonstrate kubernetes (k8) concepts and Azure Kubernetes Services (AKS). The app contains all necessary docker files to build images of the application and the database (mongo db) locally. Once we move the application to Azure, we'll use Microsoft's PaaS offering (Cosmos DB) to store our application data.
front-end
: An Angular SPAback-end
: .NET Core API for reading productsdb
: MongoDB that holds our products datadb-seed
: A container that populates mongo dbdocker
: Bash scripts for all docker commands to build and run the applicationazure-cli-scripts
: Scripts to provision Azure resourcesk8
: Application k8 manifest files
Sessions | Content | Branch Code |
---|---|---|
Introduction | High level overview of the series, expectations, takeaways and application overview | |
Containerize App with Docker | Containerize a multi-service application, walk through docker files, mutli-stage builds, docker commands to build, run and execute commands on running containers | Master Same as master since I wasn't creating separate branches |
Run App with Docker Compose | Run multi-container application using docker compose, pass enviroment variables and seed mongo db container with data | Master Same as master since I wasn't creating separate branches |
Create AKS and Registry | Create Azure Kubernetes Service & Azure Container Registry, explain Azure service principles | |
Deploying App on K8 | Push images to container registry, create kubernetes manifest files for the productsStore app and deploy it to run on a kubernetes cluster | session5_deployAppIntoAKS |
Migrate into Azure Cosmos | Cover Kubernetes configuration using ConfigMaps and Secrets with a real live demo on migrating mongodb into cosmos and passing config data through kubernetes native objects. | session6_migrate2Cosmos |
Package Application with Helm | Overcome Kubernetes deployment challenges by packaging application using Helm. Explain Helm workflow, and dive deep into Helm world (charts, releases, repositories) | session7_helm |
Configure Kubernetes Ingress | Talk about ingress and its benefits, then explain ingress controllers and resource and implement it in a real world scenario | session8_ingress |
Azure Monitor for Containers |