Azure Stack-1807 版本 配置10分鐘、自動部署6小時-我的ASDK第7次實踐

在寫這篇博客的時候,我已經第六次部署Azure Stack 開發工具包(ASDK),原因也很簡單:ASDK每月更新沒法就地升級,需要推倒重來。畢竟這是一個測試和開發環境,可以在部署後用來評估和演示 Azure Stack 功能和服務。

當然開始之前,還是爲大家科普下,什麼是Azure Stack,按照官方的定義,Azure Stack 是一種混合雲平臺,通過它可從組織的數據中心提供 Azure 服務。 Azure Stack 旨在爲重要場景(如邊緣環境和離線環境,或者滿足特定安全性和合規性要求)中的現代應用程序啓用新方案。

在開始之前,我們需要本地的單節點服務器滿足以下配置:
Azure Stack-1807 版本 配置10分鐘、自動部署6小時-我的ASDK第7次實踐
具體的細節可以參考:
https://docs.azure.cn/zh-cn/azure-stack/asdk/asdk-deploy-considerations

在確保開發工具包主機滿足安裝 ASDK 的基本要求以後,下一步是下載並提取 ASDK 部署包。 部署包包括 Cloudbuilder.vhdx 文件,該文件是一個虛擬硬盤驅動器,其中包括一個可啓動的操作系統,以及 Azure Stack 安裝文件。


下面開始分步描述各個部署環節:

一、 準備ASDK主機環境

  1. 以本地管理員身份登錄到開發工具包主機。
  2. 確保已將 CloudBuilder.vhdx 文件移動到 C:\ 驅動器的根目錄 (C:\CloudBuilder.vhdx)。
  3. 運行以下腳本,將開發工具包安裝程序文件 (asdk-installer.ps1) 從 Azure Stack GitHub 工具存儲庫下載到開發工具包主機上的 C:\AzureStack_Installer 文件夾:
# Variables
$Uri = 'https://raw.githubusercontent.com/Azure/AzureStack-Tools/master/Deployment/asdk-installer.ps1'
$LocalPath = 'C:\AzureStack_Installer'
# Create folder
New-Item $LocalPath -Type directory
# Enforce usage of TLSv1.2 to download from GitHub
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
# Download file
Invoke-WebRequest $uri -OutFile ($LocalPath + '\' + 'asdk-installer.ps1')

從提升了權限的 PowerShell 控制檯啓動 C:\AzureStack_Installer\asdk-installer.ps1 腳本,然後單擊“準備環境”
Azure Stack-1807 版本 配置10分鐘、自動部署6小時-我的ASDK第7次實踐

在安裝程序的“選擇 Cloudbuilder vhdx”頁上瀏覽到 cloudbuilder.vhdx 文件並將其選中,該文件是在前述步驟中下載並提取的。 如果需要向開發工具包主機添加其他驅動程序,則也可選擇在此頁上啓用“添加驅動程序”複選框。 單擊“下一步”。
Azure Stack-1807 版本 配置10分鐘、自動部署6小時-我的ASDK第7次實踐
在“可選設置”頁上,提供開發工具包主機 的本地管理員帳戶信息,然後單擊“下一步”。 還可以提供以下可選設置的值:

  • Computername:此選項設置開發工具包主機的名稱。 名稱必須符合 FQDN 要求,且長度不得超過 15 個字符。 默認值是由 Windows 生成的隨機計算機名稱。
  • 時區:設置開發工具包主機的時區。 默認爲“(UTC-8:00)太平洋時間(美國和加拿大)”。
  • 靜態 IP 配置:將部署設置爲使用靜態 IP 地址。 否則,當安裝程序重啓到 cloudbuilder.vhx 中時,會使用 DHCP 來配置網絡接口。

Azure Stack-1807 版本 配置10分鐘、自動部署6小時-我的ASDK第7次實踐

單擊“立即重新啓動”,將開發工具包主機啓動到 cloudbuilder.vhdx 中,然後繼續部署過程。
Azure Stack-1807 版本 配置10分鐘、自動部署6小時-我的ASDK第7次實踐
Azure Stack-1807 版本 配置10分鐘、自動部署6小時-我的ASDK第7次實踐


當重啓到ASDK的VHDX環境中的時候,這臺物理服務器已經變爲了雙系統啓動狀態,這是進入了一個直接掛載VHDX啓動的物理機環境,所有的操作系統層面的操作都是在這個VHDX中完成的,不會影響之前的物理操作系統。

接下來我們開始安裝ASDK(Azure Stack 開發工具包的安裝程序用戶界面是一種基於 WCF 和 PowerShell 的開源腳本。)

  • 在主機成功啓動到 CloudBuilder.vhdx 映像之後,使用準備用於 ASDK 安裝的開發工具包主機時指定的管理員憑據登錄。 此憑據應與開發工具包主機本地管理員憑據相同。

  • 打開權限提升的 PowerShell 控制檯,運行 <驅動器號>\AzureStack_Installer\asdk-installer.ps1 腳本(現在可能位於 CloudBuilder.vhdx 映像中除 C:\ 以外的其他驅動器上)。 單擊“安裝”。
    Azure Stack-1807 版本 配置10分鐘、自動部署6小時-我的ASDK第7次實踐

在標識提供者的“類型”下拉框中,選擇“Azure Cloud”、“Azure China”或“AD FS”。 在“本地管理員密碼”下的“密碼”框中,鍵入本地管理員密碼(必須與當前配置的本地管理員密碼相符),然後單擊“下一步”。

  • Azure Cloud:將 Azure Active Directory (Azure AD) 配置爲標識提供者。要使用此選項,需要建立 Internet 連接。
  • Azure China Cloud:這是將由世紀互聯運營的中國版的Azure Active Directory (Azure AD) 配置爲標識提供者, 若要使用此選項,需要建立 Internet 連接。
  • AD FS:將默認的戳記目錄服務用作標識提供者。 登錄時使用的默認帳戶是 [email protected],要使用的密碼是在設置過程中提供的。
  • 1807版本之後,提供了美國政府雲的專用賬號登陸位置。
    Azure Stack-1807 版本 配置10分鐘、自動部署6小時-我的ASDK第7次實踐

Azure Stack-1807 版本 配置10分鐘、自動部署6小時-我的ASDK第7次實踐
選擇用於開發工具包的網絡適配器,然後單擊“下一步”。
Azure Stack-1807 版本 配置10分鐘、自動部署6小時-我的ASDK第7次實踐

爲 BGPNAT01 虛擬機選擇 DHCP 或靜態網絡配置。

提示
BGPNAT01 VM 是邊緣路由器,提供適用於 Azure Stack 的 NAT 和 VPN* 功能。

  • DHCP(默認):虛擬機 DHCP 服務器獲取 IP 網絡配置。
  • 靜態:僅當 DHCP 無法爲 Azure Stack 分配可訪問 Internet 的有效 IP 地址時,才使用此選項。 靜態 IP 地址必須在 CIDR 格式中使用子網掩碼長度來指定(例如,10.0.0.5/24)。

  • 鍵入有效的時間服務器 IP 地址。 此必填字段設置可供開發工具包使用的時間服務器。 必須以有效的時間服務器 IP 地址的形式提供此參數。 服務器名稱不受支持。

提示
若要查找時間服務器 IP 地址,請訪問 pool.ntp.org 或 ping time.windows.com。

(可選)設置以下值:

  • VLAN ID:設置 VLAN ID。 僅當主機和 AzS-BGPNAT01 必須通過配置 VLAN ID 來訪問物理網絡(和 Internet)時,才使用此選項。
  • DNS 轉發器:在 Azure Stack 部署過程中會創建 DNS 服務器。 若要允許解決方案中的計算機解析標記外部的名稱,請提供現有的基礎結構 DNS 服務器。 標記內 DNS 服務器將未知的名稱解析請求轉發至此服務器。

Azure Stack-1807 版本 配置10分鐘、自動部署6小時-我的ASDK第7次實踐
Azure Stack-1807 版本 配置10分鐘、自動部署6小時-我的ASDK第7次實踐

在“驗證網絡接口卡屬性”頁上會看到一個進度欄。 完成驗證後,單擊“下一步”。在“摘要”頁上單擊“部署”,開始在開發工具包主機上安裝 ASDK。
Azure Stack-1807 版本 配置10分鐘、自動部署6小時-我的ASDK第7次實踐

如果執行 Azure AD 部署,系統會在安裝開始後數分鐘提示輸入 Azure AD 全局管理員帳戶憑據。
Azure Stack-1807 版本 配置10分鐘、自動部署6小時-我的ASDK第7次實踐

部署程序需要花費數小時,在此期間,主機會自動重新啓動一次。 若要監視部署進度,請在開發工具包主機重啓後,以 azurestack\AzureStackAdmin 身份登錄。 如果部署成功,PowerShell 控制檯會顯示“COMPLETE: Action 'Deployment'”。
Azure Stack-1807 版本 配置10分鐘、自動部署6小時-我的ASDK第7次實踐

Azure Stack-1807 版本 配置10分鐘、自動部署6小時-我的ASDK第7次實踐

Azure Stack-1807 版本 配置10分鐘、自動部署6小時-我的ASDK第7次實踐

超級順利,幾個小時的自動化部署,現已成功安裝 ASDK!

如果部署出於某種原因失敗,可以從頭重新部署,也可以在同一個權限提升的 PowerShell 窗口中使用以下 PowerShell 命令,從最後一個成功步驟重新開始部署:

cd C:\CloudDeployment\Setup
.\InstallAzureStackPOC.ps1 -Rerun

部署ASDK完成後的配置任務

需要安裝與 Azure Stack 兼容的 Azure PowerShell 模塊才能使用 Azure Stack。

通過 PowerShell 庫安裝適用於 Azure Stack 的 PowerShell 命令。 若要註冊 PSGallery 存儲庫,請打開權限提升的 PowerShell 會話並運行以下命令:

Set-PSRepository `
  -Name "PSGallery" `
  -InstallationPolicy Trusted

通過 API 版本配置文件安裝與 Azure Stack 兼容的 AzureRM 模塊。 Azure Stack 需要 2017-03-09-profile API 版本配置文件(可通過安裝 AzureRM.Bootstrapper 模塊獲取)。

無論是否與 ASDK 主機建立了 Internet 連接,都可以安裝 Azure Stack PowerShell,我們這裏主要採用了連接互聯網的方式進行安裝:

# Install the AzureRM.Bootstrapper module. Select Yes when prompted to install NuGet 
Install-Module `
  -Name AzureRm.BootStrapper

# Install and import the API Version Profile required by Azure Stack into the current PowerShell session.
Use-AzureRmProfile `
  -Profile 2017-03-09-profile -Force

Install-Module `
  -Name AzureStack `
  -RequiredVersion 1.2.11

如果安裝成功,輸出中會顯示 AzureRM 和 AzureStack 模塊。
Azure Stack-1807 版本 配置10分鐘、自動部署6小時-我的ASDK第7次實踐

AzureStack-Tools 是託管 PowerShell 模塊的 GitHub 存儲庫,可用於管理資源並將其部署到 Azure Stack。 若要獲取這些工具,請克隆 GitHub 存儲庫,或運行以下腳本來下載 AzureStack-Tools 文件夾:

# Change directory to the root directory. 
cd \

# Enforce usage of TLSv1.2 to download the Azure Stack tools archive from GitHub
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
invoke-webrequest `
  https://github.com/Azure/AzureStack-Tools/archive/master.zip `
  -OutFile master.zip

# Expand the downloaded files.
expand-archive master.zip `
  -DestinationPath . `
  -Force

# Change to the tools directory.
cd AzureStack-Tools-master

Azure Stack-1807 版本 配置10分鐘、自動部署6小時-我的ASDK第7次實踐


最後就是驗證ASDK的安裝是否成功了。
若要確保 ASDK 部署成功,可以遵循以下步驟使用 Test-AzureStack cmdlet:

以 AzureStack\CloudAdmin 身份登錄到 ASDK 主機。
以管理員身份打開 PowerShell(非 PowerShell ISE)。
運行: Enter-PSSession -ComputerName AzS-ERCS01 -ConfigurationName PrivilegedEndpoint
運行: Test-AzureStack

此項測試可能需要幾分鐘時間才能完成。 如果安裝成功,將返回如下所示的輸出:
Azure Stack-1807 版本 配置10分鐘、自動部署6小時-我的ASDK第7次實踐


激活管理員門戶和租戶門戶

在完成使用 Azure AD 的部署以後,必須激活 Azure Stack 管理員門戶和租戶門戶。 對於目錄的所有用戶來說,此激活是指同意爲 Azure Stack 門戶和 Azure 資源管理器提供正確的權限(已在同意頁上列出)。

如果在管理員門戶中操作,請導航到 https://adminportal.local.azurestack.external/guest/signup
閱讀信息,然後單擊“接受”。 接受後即可添加服務管理員,但這些管理員不能也是目錄租戶管理員。
如果在租戶門戶中操作,請導航到 https://portal.local.azurestack.external/guest/signup
閱讀信息,然後單擊“接受”。 接受後,目錄中的用戶即可登錄到租戶門戶。

Azure Stack-1807 版本 配置10分鐘、自動部署6小時-我的ASDK第7次實踐
Azure Stack-1807 版本 配置10分鐘、自動部署6小時-我的ASDK第7次實踐
Azure Stack-1807 版本 配置10分鐘、自動部署6小時-我的ASDK第7次實踐

到此大家就會看到當前我已經安裝好最新的1.0.180513.1的版本。


最後因爲是開發測試環境,我們就要對當前的環境進行密碼過期策略進行調整,以防測試期間出現密碼過期的狀況。
若要通過 Powershell 更改密碼過期策略,請執行以下步驟:

在提升權限的 Powershell 控制檯中,運行以下命令:
Set-ADDefaultDomainPasswordPolicy -MaxPasswordAge 180.00:00:00 -Identity azurestack.local

Azure Stack-1807 版本 配置10分鐘、自動部署6小時-我的ASDK第7次實踐


可將 Azure Stack 開發工具包 (ASDK) 安裝註冊到 Azure,以便從 Azure 下載 Marketplace 項,並設置向 Microsoft 報告商務數據的功能。 之所以建議註冊,是因爲這樣可以測試重要的 Azure Stack 功能,例如 Marketplace 聯合和使用情況報告。 註冊 Azure Stack 之後,使用情況將報告給 Azure 商業組件。 用於註冊的訂閱下會顯示此信息。 但是,ASDK 用戶無需付費,不管他們報告的用量是多少。

接下來我就爲已經部署好的ASDK進行註冊,以確保可以正常下載市場鏡像。

  • 以管理員身份打開 PowerShell 控制檯。
  • 運行以下 PowerShell 命令,將 ASDK 安裝註冊到 Azure(需要同時登錄到 Azure 訂閱和本地 ASDK 安裝):
# Add the Azure cloud subscription environment name. Supported environment names are AzureCloud or, if using a China Azure Subscription, AzureChinaCloud.
Add-AzureRmAccount -EnvironmentName "AzureChinaCloud"

# Register the Azure Stack resource provider in your Azure subscription
Register-AzureRmResourceProvider -ProviderNamespace Microsoft.AzureStack

#Import the registration module that was downloaded with the GitHub tools
Import-Module C:\AzureStack-Tools-master\Registration\RegisterWithAzure.psm1

#Register Azure Stack
$AzureContext = Get-AzureRmContext
$CloudAdminCred = Get-Credential -UserName AZURESTACK\CloudAdmin -Message "Enter the credentials to access the privileged endpoint."
Set-AzsRegistration `
    -PrivilegedEndpointCredential $CloudAdminCred `
    -PrivilegedEndpoint AzS-ERCS01 `
    -BillingModel Development
-ResourceGroupLocation "ChinaEast"

其中如果是國際版的Azure賬號,需要將其中的參數 "AzureChinaCloud"改爲“AzureCloud”,並且將-ResourceGroupLocation "ChinaEast"刪去

如果腳本運行成功,那麼就會顯示:Your environment is now registered and activated using the provided parameters.
Azure Stack-1807 版本 配置10分鐘、自動部署6小時-我的ASDK第7次實踐
Azure Stack-1807 版本 配置10分鐘、自動部署6小時-我的ASDK第7次實踐


我們可以來驗證一下ASDK是否註冊成功,在登錄管理門戶之後,點擊 Marketplace Management > Add from Azure.
Azure Stack-1807 版本 配置10分鐘、自動部署6小時-我的ASDK第7次實踐

如果看到以上畫面,那麼說明已經註冊成功,可以開始測試之旅啦!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章