Most of the instructions available online on this topic do not provide a way to create the required Server and Client AD Applications using the Azure CLI. In my experience, incorrectly creating these two applications through the Azure Portal is what causes AAD Integration with Kubernetes to fail. By using the Azure CLI, the potential for failure from a forgotten button clicked is removed. Hopefully the information detailed below will help you out if you are either getting started with AAD Integration with K8s or are working on automating the deployment of your existing K8s Clusters in Azure.
Over the past 6 months, I have had to use the Azure Container Service Engine to deploy and maintain K8s Clusters in Azure running both Linux and Windows Nodes in the same Cluster. This type of configuration in Azure is currently only possible using the ACS Engine. First time users of the ACS Engine may find the process incredibly daunting as it is the complete opposite experience of deploying a K8s Cluster using acs or aks in the Azure CLI; instead of having everything managed for you, you are responsible for managing the configuration and deployment of the Cluster. As such you are able to configure almost every aspect of your K8s Cluster before deploying it.
The article covers the basic structure of how Webhook Data from GitHub is passed to an Azure Automation Runbook and how it can be parsed using a sample Runbook included in this post.
This article covers how to deploy a Hadoop Cluster using Apache Ambari running on Linux Virtual Machines in Azure from an ARM Template.
This blog post will cover a way to securely create and store a webhook for an Azure Runbook and then add the webhook to GitHub using the GitHub API.
This blog post will cover how to deploy an Azure Runbook to the Azure Automation account created in the previous article and how configure it to trigger the deployment of a .NET Application from Github to the Nano Server using a Webhook.
There is plenty of documentation online on how to setup and Administer Nano Server as well as how to get a .NET Core Application to run on Nano Server. I wanted to take that a step further and demonstrate a practical way setting up Continuous Deployment of a .NET Application from GitHub to a Nano Server running in Azure using Azure Automation.