Azure / AksHcionAzureVM

MIT License
10 stars 6 forks source link

Aks Hci on Azure VM project

This repository is designed to simplify Aks Hci demos in mind for people who are developers without domain knowledge or IT-Pros without Virtualization knowledge. It consist of an ARM template to deploy VM with DSC extentions to provide ready to utilize PoC environment.

There are two scenarios to utilize the ARM template as follows.

Aks Hci on Azure VM

Only Windows Admin Center VM will be created once ARM template successfully deployed. Windows Admin center or PowerShell scripts (available to the desktop) may be utilized for completing Aks Hci deployment on top of Azure VM in couple of minutes.

Architecture of the deployment (Aks Hci on Azure VM)

Following illustration shows the target architecture once the selection for 'Aks Hci Scenario' set to 'onAzureVMDirectly'

Windows Admin Center VM will be created once ARM template deployed successfully. Either Windows Admin Center Kubernetes extension or PowerShell scripts (available on the desktop) could be utilized at this point to deploy Aks Hci clusters.

AksHciOnAzureStackHci

Aks Hci on Azure Stack HCI cluster

Following illustration shows the target architecture once the selection for 'Aks Hci Scenario' set to 'onNestedAzureStackHciClusteronAzureVM'

Azure Stack HCI and Windows Admin Center VMs will be created once ARM template deployed successfully. Either Windows Admin center or PowerShell scripts (available on the desktop) could be utilized to complete Azure Stack HCI deployment in couple of minutes. Afterwards Aks Hci could be deployed on top of Azure Stack HCI clusters using provided scripts (available on the desktop) or Windows Admin Center Kubernetes extension.

Note: Due to nature of multiple layers of Nested virtualization, there are performance implications. However this is implemented to practice bits and pieces of the whole deployment to experience Aks Hci on top of Azure Stack HCI.

Architecture of the deployment (Aks Hci on Azure Stack HCI cluster)

AksHciOnAzureStackHci

Using ARM template to deploy Azure VM

Click the button below to deploy via Azure portal:

Do not use 192.168.0.0/24 , 192.168.100.0/24 , 192.168.251.0/24, 192.168.252.0/24, 192.168.253.0/24 , 192.168.254.0/24 networks as address space for Vnet since those network are getting utilized in the Nested environment.

Deploy to Azure

Visualize

High level deployment process and features

Deploy the ARM template (above buttons) by providing all the parameters required. Find details of Aks Hci Scenario options below. Most of the parameters have default values and sufficient for demostrate Aks Hci features and deployment procedures. During the ARM template deployment Azure VM DSC extension will create Windows Admin Center VM (WAC) than installs latest version of Windows Admin Center bits available on Chocolatey repository. Once Windows Admin Center installed, all extensions are getting updated daily in the background via DSC running in WAC VM.

Note that all VMs deployed within the Azure VM use same password that has been specified in the ARM template.

Deployment Scenarios

There are two scenarios available at the moment which are consist as follows.

Aks Hci on Azure VM

This is first scenario if you are evaluating how to deploy Aks Hci to understand capabilities.

ARM-akshcionAzureVM

Note: Once 'onAzureVMDirectly' option selected for 'Aks Hci Scenario' the following two option will be disregarded in the DSC configuration. As a result only WAC (Windows Admin Center) VM will be deployed.

Aks Hci on Azure Stack HCI cluster

This is the second scenario if you are evaluating how to deploy Aks Hci on Azure Stack HCI to understand capabilities. This is also useful scenarion to test Azure Stack HCI only without deploying Aks Hci on top of Azure Stack Hci Cluster.

ARM-akshcionAzureStackHCICluster

Note: Once 'onNestedAzureStackHciClusteronAzureVM' option selected for 'Aks Hci Scenario' Make sure the correlation between the deployment VM size and Azure Stack HCI host counts and Memory sizes are compatible. As a result a number of Azure Stack HCI VMs (specified in 'AzS Hci Host Count' with 'AzS Hci Host Memory') and WAC (Windows Admin Center) VM will be deployed on Azure VM.

Wait for VM to finalize DSC configuration

Once VM deployed successfully. (Takes approximately about 30 minutes) VM will be accessible via RDP.

Open Hyper-v manager on the VM to validate if all VMs are located in the console.

How to run Proof of concepts using PowerShell scripts

There are couple of shortcuts available on the desktop. Desktop shortcuts can be utilized to demostrate or learning purposes to understand process and options

How to run Proof of concepts using Windows Admin Center

Since Windows Admin Center and Azure Stack HCI hosts (based on the scenario selected) have already been deployed and configured on Azure VM, the following guides can be utilized without setting up any additional resources.

Double click on 'Windows Admin Center' shorcut on the desktop to access Windows Admin Center or Open a new browser (Edge is preinstalled on the computer) and type wac

Install Azure Stack HCI using Windows Admin Center

Create an Azure Stack HCI cluster using Windows Admin Center

Install Aks Hci using Windows Admin Center

Aks Hci can be deployed on Azure Stack HCI or directly on Azure VM. The following guide can be utilized to deploy Aks Hci for either scenarios. Set up Azure Kubernetes Service using Windows Admin Center

What exactly does ARM template deploy under the hood

VMs in the nested environment messed up / willing to reset and start over?

Option 1

Just run the following PowerShell on Azure VM. It will destroy and re-create Azure Stack HCI and Windows Admin Center VMs. Will take about 3-5 mins to complete the task including WAC deployment.


Cleanup-VMs -AzureStackHciHostVMs -WindowsAdminCenterVM

Option 2

Running the following PowerShell on Azure VM will result removing VMs and source files then re-create image (VHDx) and VMs from scratch. Will take about 10-15 mins to complete. Useful if new Azure Stack HCI host image published.


Cleanup-VMs -AzureStackHciHostVMs -WindowsAdminCenterVM -RemoveAllSourceFiles

Option 3

Running the following PowerShell on Azure VM or Azure Stack HCI cluster will result removing all VMs created through Aks Hci deployment


Uninstall-AksHci

Note: Cleanup-VMS will trigger DSC after cleanup process to bring Azure VM to initial state. Use -DoNotRedeploy with the command if initial state is not desired.

Issues and features

Known issues

How to file a bug

  1. Go to our issue tracker on GitHub
  2. Search for existing issues using the search field at the top of the page
  3. File a new issue including the info listed below

Requesting a feature

Feel free to file new feature requests as an issue on GitHub, just like a bug.

Yagmur Sahin

Twitter: @yagmurs