Installing Azure Stack Development Kit on my lab – Part I

Introduction

Azure Stack provides cloud computing to your on-premises environment allowing many Azure services to run from your own data center. It enables consistent hybrid platform. Azure Stack use case scenarios are: disconnected environments, data compartmentalization because of regulations and on-premises application model. Azure Stack appliance is now available through the Microsoft approved hardware partners such as Lenovo, HPE, Cisco and Avanade.

Azure Stack Development Kit allows us to get familiar with Azure/Azure Stack.   Azure Stack support deployment with ADFS (Active Directory Federation Services) to support systems that don’t have constant connections to Azure. Azure Stack systems could be deployed on cruise ships or oil rigs to allow for processing of data while disconnected to the internet.

Following are the minimum and recommended hardware requirements:

Component Minimum Recommended
Disk drives: Operating System 1 OS disk with minimum of 200 GB available for system partition (SSD or HDD) 1 OS disk with minimum of 200 GB available for system partition (SSD or HDD)
Disk drives: General development kit data* 4 disks. Each disk provides a minimum of 140 GB of capacity (SSD or HDD). All available disks will be used. 4 disks. Each disk provides a minimum of 250 GB of capacity (SSD or HDD). All available disks will be used.
Compute: CPU Dual-Socket: 12 Physical Cores (total) Dual-Socket: 16 Physical Cores (total)
Compute: Memory 96 GB RAM 128 GB RAM (This is the minimum to support PaaS resource providers.)
Compute: BIOS Hyper-V Enabled (with SLAT support) Hyper-V Enabled (with SLAT support)
Network: NIC Windows Server 2012 R2 Certification required for NIC; no specialized features required Windows Server 2012 R2 Certification required for NIC; no specialized features required
HW logo certification Certified for Windows Server 2012 R2  Certified for Windows Server 2012 R2

 

I am running on a SuperMicro hardware although it is not in the list of Microsoft approved hardware appliance. I am lucky to have one of these servers as my lab at work.

Manufacturer:            Supermicro

Model:                        SYS-HDT0-27226312-HADP

CPU:                            Intel(R) Xeon(R) CPU E5-2630 0 @ 2.30GHz Intel(R) Xeon(R) CPU E5-

2630 0 @ 2.30GHz

HDDs:                         5 X 1 TB

RAM:                           128GB

OS Installed:                Windows Server 2016

ADSK supports single NIC and single host only. ASDK installation supports exactly one network interface card (NIC) for networking. If you have multiple NICs, make sure that only one is enabled (and all others are disabled) before running the deployment script.

  1. Make sure that you can physically connect to the development kit host, or have physical console access (such as KVM). You must have such access after you reboot the development kit host in step 13 below.
  2. Download deployment Checker for Azure Stack to confirm that your hardware meets all the requirements. https://gallery.technet.microsoft.com/Deployment-Checker-for-50e0f51b
  3. Sign in as the Local Administrator to your development kit host.
  4. Download the deployment package to get the Cloudbuilder.vhdx. https://docs.microsoft.com/en-us/azure/azure-stack/azure-stack-run-powershell-script
  1. Copy or move the CloudBuilder.vhdx file to the root of the C:\ drive (C:\CloudBuilder.vhdx).
  2. Run the following script to download the development kit installer file (asdk-installer.ps1) from the Azure Stack GitHub tools repository to the C:\AzureStack_Installer folder on your development kit host computer:
#Variables

$Uri = 'https://raw.githubusercontent.com/Azure/AzureStack-Tools/master/Deployment/asdk-installer.ps1'

$LocalPath = 'C:\AzureStack'

# Create folder

New-Item $LocalPath -Type directory

# Download file

Invoke-WebRequest $Uri -OutFile ($LocalPath + '\' + 'asdk-installer.ps1')

cd $LocalPath

 

  1. Open an elevated PowerShell console > run the C:\AzureStack_Installer\asdk-installer.ps1 script > click Prepare Environment

  1. On the Select Cloudbuilder vhdxpage of the installer, browse to and select the vhdx file that you downloaded and extracted in the previous steps.
  2. On the Optional settings page, provide the local administrator account for the development kit host computer.

  1. Click Reboot now to boot into the cloudbuilder.vhdx and continue the deployment process

Reboot and RDP to AS-W2K16

Deploy the Development Kit

  1. After the host computer successfully boots into the CloudBuilder.vhdx image, log in using the administrator credentials specified in the previous steps.
  2. Open an elevated PowerShell console and run the \AzureStack_Installer\asdk-installer.ps1 script (which might now be on a different drive in the CloudBuilder.vhdx image). Click Install.
  3. Since I am installing on the disconnected environment and do not have access to Azure Cloud, I am going to use ADFS.

    ADFS
    : The default stamp Directory Service is the identity provider, the default account to sign in with is azurestackadmin@azurestack.local, and the password to use is the one you provided as part of the setup.

    Under Local administrator password, in the Password box, type the local administrator password (which must match the current configured local administrator password), and then click Next.

  1. Select a network adapter to use for the development kit and then click Next.
  2. Select DHCP or static network configuration for the BGPNAT01 virtual machine.

  3. The deployment process can take a few hours, during which the system automatically reboots once. When the deployment succeeds, the PowerShell console displays: COMPLETE: Action ‘Deployment’.



    First attempt, it failed at step 40 with the following errors:
    2017-10-20 16:55:34 Warning  Task: Invocation of interface ‘Configure’ of role ‘Cloud\Fabric\NC’ failed: Type ‘Configure’ of Role ‘NC’ raised an exception:Exception of type ‘Microsoft.Windows.Networking.NetworkController.WmiProvider.ProviderException’ was thrown.
    at PublishAndStartDscConfiguration, C:\CloudDeployment\Common\Helpers.psm1: line 2172
    at ConfigureNC, C:\CloudDeployment\Roles\NC\NC.psm1: line 851
    at Configure, C:\CloudDeployment\Classes\NC\NC.psm1: line 32
    at <ScriptBlock>, <No file>: line 18
    at <ScriptBlock>, <No file>: line 16
    2017-10-20 16:55:34 Error    Task: Invocation of interface ‘Configure’ of role ‘Cloud\Fabric\NC’ failed: I re-installed the base OS and re-started the ASDK installation. Remember since all drives are setup as volume and it won’t be released unless you follow the steps as mentioned.
    http://www.the-teqnician.nl/wp/2016/04/remove-azure-stack-tp1-to-install-tp1-1/

    Hyper-V manager :

    Failover Cluster Manager

    Task Manager