In this workshop, you'll go through tasks that will help you master the basic and more advanced topics required to deploy a multi-container application to Kubernetes on Azure Kubernetes Service (AKS)
Some of the things you'll be going through:
- Create an Azure Kubernetes Service cluster
- Deploy a MongoDB document database using Helm version 3
- Kubernetes deployments, services and ingress
- Create a private, highly available container registry
- Azure Monitor for Containers, Horizontal Pod Autoscaler(HPA) and Cluster Autoscaler
- Logging with Elasticsearch / Fluentbit / Kibana stack
- Service Mesh with Linkerd
The following are the basic requirements to start the labs. Individual labs may have other requirements that will be listed within the lab.
- Azure Account Azure Portal
- Git Git SCM
- Azure Cloud Shell Cloud Shell
Our goal is to deploy an Azure managed Kubernetes service that runs the Fruit Smoothies ratings website in the following series of exercises.
There are several tasks that you'll complete to show how Kubernetes abstracts away complex container management and provides you with declarative configuration to orchestrate containers.
- Use AKS to deploy a Kubernetes cluster.
- Configure an Azure Container Registry to store application container images.
- Deploy the rating application components.
- Deploy Azure Kubernetes ingress using Helm
- Configure SSL/TLS on the controller using
cert-manager
- Configure Azure Monitor for containers to monitor the Fruit Smoothies website deployment.
- Configure cluster autoscaler and horizontal pod autoscaler for the Fruit Smoothies cluster.
The application consists of 3 components:
- A MongoDB document database
- A public facing Rating RESTFul API
- A public facing frontend application
- Create AKS Cluster
- Deploy MongoDB via Helm 3
- Create a private highly available Container Registry
- Build and deploy Ratings API
- Build and deploy Ratings Web APP
- Deploy the Ratings web APP using Ingress
- Enable SSL/TLS on the Ratings web APP Ingress