Azure Stack-1805 版本 配置10分钟、自动部署6小时-我的ASDK第六次实践

在写这篇博客的时候,我已经第六次部署Azure Stack 开发工具包(ASDK),原因也很简单:ASDK每月更新没法就地升级,需要推到重来。毕竟这是一个测试和开发环境,可以在部署后用来评估和演示 Azure Stack 功能和服务。

当然开始之前,还是为大家科普下,什么是Azure Stack,按照官方的定义,Azure Stack 是一种混合云平台,通过它可从组织的数据中心提供 Azure 服务。 Azure Stack 旨在为重要场景(如边缘环境和离线环境,或者满足特定安全性和合规性要求)中的现代应用程序启用新方案。

在开始之前,我们需要本地的单节点服务器满足以下配置:
Azure Stack-1805 版本 配置10分钟、自动部署6小时-我的ASDK第六次实践
具体的细节可以参考:
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-1805 版本 配置10分钟、自动部署6小时-我的ASDK第六次实践

在安装程序的“选择 Cloudbuilder vhdx”页上浏览到 cloudbuilder.vhdx 文件并将其选中,该文件是在前述步骤中下载并提取的。 如果需要向开发工具包主机添加其他驱动程序,则也可选择在此页上启用“添加驱动程序”复选框。 单击“下一步”。
Azure Stack-1805 版本 配置10分钟、自动部署6小时-我的ASDK第六次实践
在“可选设置”页上,提供开发工具包主机 的本地管理员帐户信息,然后单击“下一步”。 还可以提供以下可选设置的值:

  • Computername:此选项设置开发工具包主机的名称。 名称必须符合 FQDN 要求,且长度不得超过 15 个字符。 默认值是由 Windows 生成的随机计算机名称。
  • 时区:设置开发工具包主机的时区。 默认为“(UTC-8:00)太平洋时间(美国和加拿大)”。
  • 静态 IP 配置:将部署设置为使用静态 IP 地址。 否则,当安装程序重启到 cloudbuilder.vhx 中时,会使用 DHCP 来配置网络接口。

Azure Stack-1805 版本 配置10分钟、自动部署6小时-我的ASDK第六次实践

单击“立即重新启动”,将开发工具包主机启动到 cloudbuilder.vhdx 中,然后继续部署过程。
Azure Stack-1805 版本 配置10分钟、自动部署6小时-我的ASDK第六次实践
Azure Stack-1805 版本 配置10分钟、自动部署6小时-我的ASDK第六次实践


当重启到ASDK的VHDX环境中的时候,这台物理服务器已经变为了双系统启动状态,这是进入了一个直接挂载VHDX启动的物理机环境,所有的操作系统层面的操作都是在这个VHDX中完成的,不会影响之前的物理操作系统。

接下来我们开始安装ASDK(Azure Stack 开发工具包的安装程序用户界面是一种基于 WCF 和 PowerShell 的开源脚本。)

  • 在主机成功启动到 CloudBuilder.vhdx 映像之后,使用准备用于 ASDK 安装的开发工具包主机时指定的管理员凭据登录。 此凭据应与开发工具包主机本地管理员凭据相同。

  • 打开权限提升的 PowerShell 控制台,运行 <驱动器号>\AzureStack_Installer\asdk-installer.ps1 脚本(现在可能位于 CloudBuilder.vhdx 映像中除 C:\ 以外的其他驱动器上)。 单击“安装”。
    Azure Stack-1805 版本 配置10分钟、自动部署6小时-我的ASDK第六次实践

在标识提供者的“类型”下拉框中,选择“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],要使用的密码是在设置过程中提供的。

Azure Stack-1805 版本 配置10分钟、自动部署6小时-我的ASDK第六次实践
选择用于开发工具包的网络适配器,然后单击“下一步”。
Azure Stack-1805 版本 配置10分钟、自动部署6小时-我的ASDK第六次实践

为 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-1805 版本 配置10分钟、自动部署6小时-我的ASDK第六次实践
Azure Stack-1805 版本 配置10分钟、自动部署6小时-我的ASDK第六次实践

在“验证网络接口卡属性”页上会看到一个进度栏。 完成验证后,单击“下一步”。在“摘要”页上单击“部署”,开始在开发工具包主机上安装 ASDK。
Azure Stack-1805 版本 配置10分钟、自动部署6小时-我的ASDK第六次实践

如果执行 Azure AD 部署,系统会在安装开始后数分钟提示输入 Azure AD 全局管理员帐户凭据。
Azure Stack-1805 版本 配置10分钟、自动部署6小时-我的ASDK第六次实践

部署程序需要花费数小时,在此期间,主机会自动重新启动一次。 若要监视部署进度,请在开发工具包主机重启后,以 azurestack\AzureStackAdmin 身份登录。 如果部署成功,PowerShell 控制台会显示“COMPLETE: Action 'Deployment'”。
Azure Stack-1805 版本 配置10分钟、自动部署6小时-我的ASDK第六次实践

Azure Stack-1805 版本 配置10分钟、自动部署6小时-我的ASDK第六次实践

Azure Stack-1805 版本 配置10分钟、自动部署6小时-我的ASDK第六次实践

超级顺利,几个小时的自动化部署,现已成功安装 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-1805 版本 配置10分钟、自动部署6小时-我的ASDK第六次实践

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-1805 版本 配置10分钟、自动部署6小时-我的ASDK第六次实践


最后就是验证ASDK的安装是否成功了。
若要确保 ASDK 部署成功,可以遵循以下步骤使用 Test-AzureStack cmdlet:

以 AzureStack\CloudAdmin 身份登录到 ASDK 主机。
以管理员身份打开 PowerShell(非 PowerShell ISE)。
运行: Enter-PSSession -ComputerName AzS-ERCS01 -ConfigurationName PrivilegedEndpoint
运行: Test-AzureStack

此项测试可能需要几分钟时间才能完成。 如果安装成功,将返回如下所示的输出:
Azure Stack-1805 版本 配置10分钟、自动部署6小时-我的ASDK第六次实践


激活管理员门户和租户门户

在完成使用 Azure AD 的部署以后,必须激活 Azure Stack 管理员门户和租户门户。 对于目录的所有用户来说,此激活是指同意为 Azure Stack 门户和 Azure 资源管理器提供正确的权限(已在同意页上列出)。

如果在管理员门户中操作,请导航到 https://adminportal.local.azurestack.external/guest/signup
阅读信息,然后单击“接受”。 接受后即可添加服务管理员,但这些管理员不能也是目录租户管理员。
如果在租户门户中操作,请导航到 https://portal.local.azurestack.external/guest/signup
阅读信息,然后单击“接受”。 接受后,目录中的用户即可登录到租户门户。

Azure Stack-1805 版本 配置10分钟、自动部署6小时-我的ASDK第六次实践
Azure Stack-1805 版本 配置10分钟、自动部署6小时-我的ASDK第六次实践
Azure Stack-1805 版本 配置10分钟、自动部署6小时-我的ASDK第六次实践

到此大家就会看到当前我已经安装好最新的1.0.180513.1的版本。


最后因为是开发测试环境,我们就要对当前的环境进行密码过期策略进行调整,以防测试期间出现密码过期的状况。
若要通过 Powershell 更改密码过期策略,请执行以下步骤:

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

Azure Stack-1805 版本 配置10分钟、自动部署6小时-我的ASDK第六次实践


可将 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-1805 版本 配置10分钟、自动部署6小时-我的ASDK第六次实践
Azure Stack-1805 版本 配置10分钟、自动部署6小时-我的ASDK第六次实践


我们可以来验证一下ASDK是否注册成功,在登录管理门户之后,点击 Marketplace Management > Add from Azure.
Azure Stack-1805 版本 配置10分钟、自动部署6小时-我的ASDK第六次实践

如果看到以上画面,那么说明已经注册成功,可以开始测试之旅啦!

猜你喜欢

转载自blog.51cto.com/xury007/2125785