Deploying Azure Stack Development Kit – Part I

This two-part blog series is a step by step guide on how to deploy an Azure Stack Development Kit (ASDK) instance with local authentication using Active Directory Federation Services (ADFS). This sounds great, but what is Azure Stack Development Kit?? ASDK is the first step that you should take when you are considering buying or experimenting with Azure Stack. Similar to how Azure Stack is an on-prem version of Azure Cloud, ASDK is a single node deployment of Azure Stack. So, basically, it is the same code that is running on Azure Cloud but running on a single node in your own datacenter. For my deployment, I used a Lenovo SR650 server as I had that available in my lab. But, you can use any x86 based server that meets the set of requirements.

Now, let’s talk about the detailed steps that I used to deploy an ASDK instance in my lab.

  1. Before starting you need to make sure that the server you are using meets the following requirements:
  2. Now that you have a server, go ahead and do a standard installation of Windows Server 2012 R2 or later. Make sure that the C:\ has at least 150GB of available capacity after the OS installation.
  3. Next go ahead and disable all but one network interface cards. Assign a static IP address to the one active NIC. Enable Remote Desktop, so you can RDP into the host and continue with the installation.
  4. Establish an RDP session with the host and log in with the administrator credentials. Download the Deployment Requirements checker script, and run it on the host. Select option 1 to ensure that you meet all the hardware and software requirements for the ASDK deployment. If the script returns any errors, then fix those and rerun the script to ensure that you are good to go.
  5. Now we will download the ASDK binaries, complete the form on this link and download the AzureStackDevelopmentKit.exe file. Run the installer, accept the license terms and complete the wizard. You will have to select a directory to extract the CloudBuilder.vhdx file. This process takes around 15 mins to complete.
  6. Copy the CloudBuilder.vhdx file in C:\ of the ASDK host and then run the following PowerShell script to download the development kit installer file from Azure Stack Github Repository.
    # Variables
    $Uri = ''
    $LocalPath = 'C:\AzureStack_Installer'
    # Create folder
    New-Item $LocalPath -Type directory
    # Download file
    Invoke-WebRequest $uri -OutFile ($LocalPath + '\' + 'asdk-installer.ps1')
  7. Next, open a PowerShell instance as an administrator and then run the asdk-installer.ps1 script which will be saved in C:\AzureStack_Installer folder.
  8. Select Prepare Environment and then browse to the CloudBuilder.vhdx file under C:\. If your server needs additional drivers to recognize local drives, please add those in this step.
  9. I forgot to select drivers and completed the wizard in my first run, which led to the server not being able to boot using the CloudBuilder.vhdx. If you do the same, then you will have to boot back into the original windows server installation and then delete the CloudBuilder.vhdx under C:\. Extract it again from the AzureStackDevelopmentKit.exe installer and then copy a fresh version of the CloudBuilder.vhdx file under C:\ and rerun the asdk-installer.ps1 script. This will eat up additional 20-30 mins of your time, so make sure you select all the drivers beforehand.
  10. Complete the rest of the installation wizard and enter all the required details. I used a static IP address for the ASDK host, but you can also leave it to DHCP if you want.
  11. At the last screen, once the preparation indicates Complete, click Next and reboot to boot from the CloudBuilder.vhdx file.
  12. After the host successfully boots using the CloudBuilder.vhdx file, open the asdk_installer.ps1 script using an elevated PowerShell console.
  13. Click on Install. I used local ADFS authentication for my deployment, but you can also select Azure AD. Enter the current password under the Local Administrator Password.
  14. Next, enter a static IP for the BGPNAT01 instance. You can also select the DHCP option if you want.
  15. In my environment, I had a native VLAN configured on the physical switch, so I didn’t have to enter a VLAN ID during the installation, but you can do that you if need to have a VLAN ID. Enter the details for a DNS forwarder and an NTP server for your installation.
  16. Complete the wizard and then on the Summary page click Deploy.
  17. This process took about six hours to complete. The installation script goes ahead and deploys thirteen virtual machines for the base infrastructure. The ASDK host will reboot during this process. To continue monitoring the installation, you can go to the VM console and then login using the AzureStack\AzureStackAdmin credentials.
  18. If for some reason the script fails, you can open an elevated PowerShell console and run the following command to restart the deployment from the last successful step
    cd C:\CloudDeployment\Setup
    .\InstallAzureStackPOC.ps1 -Rerun
  19. Once the PowerShell prompt shows “COMPLETE: Action ‘Deployment’”, that means that the installation was successful.

That’s it for part 1. Now that we have ASDK installed, in part 2 we will walk through the post-installation steps to start using the ASDK instance.

3 thoughts on “Deploying Azure Stack Development Kit – Part I

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s