Highly scalable and reliable docker hello world solution using the Azure Kubernetes Service (AKS), Azure Log Analytics, ARM templates, Kubernetes, Azure monitor and Azure Azure Insights.
Azure cloud environment setup and deployment of hello world application involves
- Build and Test
- Cloud provisioning
- Cloud deployment
- Publish the Manifest, provisioning, and ARM templates
- Download the Published files
- Transform the variables or substitute the variables in ARM templates#
- Create or Update the Resource Group
- Create or Update the Azure container registry
- Create or update the Azure Kubernetes Service (AKS) Cluster
- Create or Update the Action Group to use for alerting purpose
- Create or Update the Azure log Analytics workspace to use it for monitoring
- Enable AKS appplication insights / monitoring using the ARM template
- Setup metric alert to alert when Pod instances are in Failed state to send alerts to action group set up in step 6
- Create the Kubernetes deployment manifest file
- Create the Kubernetes service manifest file with "Load Balancer" type
- Deploy the Manifest files using the KubernetesManifest@0 task
- Scale out the deployment using the KubernetesManifest@0 task
- Load balanced hello world application will be accessed through "external" load balancer IP created by the Azure kubernetes service
URL: http://:8088
Below given Azure services are used for monitoring purpose
- Azure monitor for containers
https://docs.microsoft.com/en-us/azure/azure-monitor/containers/container-insights-overview
- create docker compose file
- Script to run the docker container
Hello world application will be accessed using the below URL