在公有云AZURE上部署私有云AZUREPACK以及WEBSITE CLOUD

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在公有云AZURE上部署私有云AZUREPACK以及WEBSITE CLOUD相关的知识,希望对你有一定的参考价值。

(四)搭建Website Cloud环境

1安装CONTROLLER主机

在开始安装Web site Cloud之前,读者应该对该服务的拓扑结构有个大概了解。

如图:

技术分享

Controller是非常重要的一个角色, 它将用来完成其他角色的安装。 Controller可以在线装,也可以脱线安装。 本例中使用的是在线安装,关于脱线安装请参考MSDN相关文章。

由于Controller在配置的时候必须要指定文件服务器和管理服务器,所以在主机安装过程中,一最好一并装好。

Front End Server, Publish Server 以及Web Worker Role Server 也可以一并安装

安装主机的Power Shell VM Provisioning Script如下:

# Create Wap web site farm

?

$imgName="vmInit0"

$vnetName="[email protected]" # @SouthEast Asia

$wapLabSubNet="sitesubnet" #{ctrl, wapsubnet, sitesubnet, reservedsubnet}

?

$cloudServiceName = "wapLabCloudService2016Feb"

$affinityGroupName = "southeastAsiaGroup"

$admin="vmadmin"

$pwd = "[Your Password]"

?

$sizeLarge = "Large" #

$sizeMedium = "Medium"

$sizeSmall = "Small"

?

#domain

$domainName="waplab"

$domainJoin="waplab.com" # Please ensure DNS is working fine!

$domainAdmin="domainadmin"

$domainAdminPwd="[Your Password]"

$domainOU="OU=AzureVMs,DC=waplab,DC=com" #指定OU

?

?

$vmName = "wapsitecn1"

?

$vmsitecn1 = New-AzureVMConfig -Name $vmName -InstanceSize $sizeMedium -ImageName $imgName

$vmsitecn1 | Set-AzureSubnet -SubnetNames $wapLabSubNet

$vmsitecn1 | Add-AzureProvisioningConfig -WindowsDomain -AdminUsername $admin -Password $pwd -Domain $domainName `

-DomainUserName $domainAdmin -DomainPassword $domainAdminPwd -JoinDomain $domainJoin `

-MachineObjectOU $domainOU

#$vmsitecn1 | Add-AzureProvisioningConfig –§CWindows -AdminUsername $admin -Password $pwd

$vmsitecn1 | New-AzureVM -ServiceName $cloudServiceName -AffinityGroup $affinityGroupName -vNetName $vnetName

?

?

?

$vmName = "wapsitemn1"

?

$vmsitemn1 = New-AzureVMConfig -Name $vmName -InstanceSize $sizeMedium -ImageName $imgName

$vmsitemn1 | Set-AzureSubnet -SubnetNames $wapLabSubNet

$vmsitemn1 | Add-AzureProvisioningConfig -WindowsDomain -AdminUsername $admin -Password $pwd -Domain $domainName `

-DomainUserName $domainAdmin -DomainPassword $domainAdminPwd -JoinDomain $domainJoin `

-MachineObjectOU $domainOU

#$vmsitecn1 | Add-AzureProvisioningConfig –§CWindows -AdminUsername $admin -Password $pwd

$vmsitemn1 | New-AzureVM -ServiceName $cloudServiceName -AffinityGroup $affinityGroupName -vNetName $vnetName

?

?

?

$vmName = "wapsitefs1"

?

$vmsitefs1 = New-AzureVMConfig -Name $vmName -InstanceSize $sizeSmall -ImageName $imgName

$vmsitefs1 | Set-AzureSubnet -SubnetNames $wapLabSubNet

$vmsitefs1 | Add-AzureProvisioningConfig -WindowsDomain -AdminUsername $admin -Password $pwd -Domain $domainName `

-DomainUserName $domainAdmin -DomainPassword $domainAdminPwd -JoinDomain $domainJoin `

-MachineObjectOU $domainOU

#$vmsitecn1 | Add-AzureProvisioningConfig –§CWindows -AdminUsername $admin -Password $pwd

$vmsitefs1 | New-AzureVM -ServiceName $cloudServiceName -AffinityGroup $affinityGroupName -vNetName $vnetName

?

?

?

$vmName = "wapsitefe1"

?

$vmsitefe1 = New-AzureVMConfig -Name $vmName -InstanceSize $sizeSmall -ImageName $imgName

$vmsitefe1 | Set-AzureSubnet -SubnetNames $wapLabSubNet

$vmsitefe1 | Add-AzureProvisioningConfig -WindowsDomain -AdminUsername $admin -Password $pwd -Domain $domainName `

-DomainUserName $domainAdmin -DomainPassword $domainAdminPwd -JoinDomain $domainJoin `

-MachineObjectOU $domainOU

#$vmsitecn1 | Add-AzureProvisioningConfig –§CWindows -AdminUsername $admin -Password $pwd

$vmsitefe1 | New-AzureVM -ServiceName $cloudServiceName -AffinityGroup $affinityGroupName -vNetName $vnetName

?

?

?

$vmName = "wapsiteps1"

?

$vmsiteps1 = New-AzureVMConfig -Name $vmName -InstanceSize $sizeSmall -ImageName $imgName

$vmsiteps1 | Set-AzureSubnet -SubnetNames $wapLabSubNet

$vmsiteps1 | Add-AzureProvisioningConfig -WindowsDomain -AdminUsername $admin -Password $pwd -Domain $domainName `

-DomainUserName $domainAdmin -DomainPassword $domainAdminPwd -JoinDomain $domainJoin `

-MachineObjectOU $domainOU

#$vmsitecn1 | Add-AzureProvisioningConfig –§CWindows -AdminUsername $admin -Password $pwd

$vmsiteps1 | New-AzureVM -ServiceName $cloudServiceName -AffinityGroup $affinityGroupName -vNetName $vnetName

?

?

$vmName = "wapsitewwS1"

?

$vmsitewwS1 = New-AzureVMConfig -Name $vmName -InstanceSize $sizeSmall -ImageName $imgName

$vmsitewwS1 | Set-AzureSubnet -SubnetNames $wapLabSubNet

$vmsitewwS1 | Add-AzureProvisioningConfig -WindowsDomain -AdminUsername $admin -Password $pwd -Domain $domainName `

-DomainUserName $domainAdmin -DomainPassword $domainAdminPwd -JoinDomain $domainJoin `

-MachineObjectOU $domainOU

$vmsitewwS1 | New-AzureVM -ServiceName $cloudServiceName -AffinityGroup $affinityGroupName -vNetName $vnetName

?

##########################################################################

### EXTENSIONS

###########################################################################

## $vmName = "wapsitewwS2"

##

## $vmsitewwS2 = New-AzureVMConfig -Name $vmName -InstanceSize $sizeMedium -ImageName $imgName

## $vmsitewwS2 | Set-AzureSubnet -SubnetNames $wapLabSubNet

## $vmsitewwS2 | Add-AzureProvisioningConfig -WindowsDomain -AdminUsername $admin -Password $pwd -Domain $domainName `

## -DomainUserName $domainAdmin -DomainPassword $domainAdminPwd -JoinDomain $domainJoin `

## -MachineObjectOU $domainOU

## $vmsitewwS2 | New-AzureVM -ServiceName $cloudServiceName -AffinityGroup $affinityGroupName -vNetName $vnetName

##

##

## $vmName = "wapsitewwR1"

##

## $vmsitewwR1 = New-AzureVMConfig -Name $vmName -InstanceSize $sizeSmall -ImageName $imgName

## $vmsitewwR1 | Set-AzureSubnet -SubnetNames $wapLabSubNet

## $vmsitewwR1 | Add-AzureProvisioningConfig -WindowsDomain -AdminUsername $admin -Password $pwd -Domain $domainName `

## -DomainUserName $domainAdmin -DomainPassword $domainAdminPwd -JoinDomain $domainJoin `

## -MachineObjectOU $domainOU

## $vmsitewwR1 | New-AzureVM -ServiceName $cloudServiceName -AffinityGroup $affinityGroupName -vNetName $vnetName

##

##

## $vmName = "wapsitewwR2"

##

## $vmsitewwR2 = New-AzureVMConfig -Name $vmName -InstanceSize $sizeMedium -ImageName $imgName

## $vmsitewwR2 | Set-AzureSubnet -SubnetNames $wapLabSubNet

## $vmsitewwR2 | Add-AzureProvisioningConfig -WindowsDomain -AdminUsername $admin -Password $pwd -Domain $domainName `

## -DomainUserName $domainAdmin -DomainPassword $domainAdminPwd -JoinDomain $domainJoin `

## -MachineObjectOU $domainOU

## $vmsitewwR2 | New-AzureVM -ServiceName $cloudServiceName -AffinityGroup $affinityGroupName -vNetName $vnetName

##

## $vmName = "wapsitewwR3"

##

## $vmsitewwR3 = New-AzureVMConfig -Name $vmName -InstanceSize $sizeLarge -ImageName $imgName

## $vmsitewwR3 | Set-AzureSubnet -SubnetNames $wapLabSubNet

## $vmsitewwR3 | Add-AzureProvisioningConfig -WindowsDomain -AdminUsername $admin -Password $pwd -Domain $domainName `

## -DomainUserName $domainAdmin -DomainPassword $domainAdminPwd -JoinDomain $domainJoin `

## -MachineObjectOU $domainOU

## $vmsitewwR3 | New-AzureVM -ServiceName $cloudServiceName -AffinityGroup $affinityGroupName -vNetName $vnetName

?

?

2安装Management Server主机

参加上述步骤,$vmName ="wapsitemn1"

3安装File Server主机

参加上述步骤,$vmName = "wapsitefs1"

?

4安装Front End Server主机

参加上述步骤,$vmName ="wapsitefe1"

5安装Publish Server主机

参加上述步骤,$vmName ="wapsiteps1"

6安装Web Worker Server主机

参加上述步骤, $vmName = "wapsitewwS1"

?

7安装Controller相关程序

主机安装好后,远程桌面登陆, 使用Windows Platform Installer安装Controller角色的程序:

技术分享

本例使用的是Websites V2 Update 7版本。后面可能随时会有新的版本发布,安装过程应该类似。

下载完成后, 启动安装

技术分享

本例使用的是Install Locally下的Install Websites Controller。大概需要20多分钟,安装完成。

技术分享

然后进行配置:

技术分享

  1. Controller Type : Primary
  2. File Server Type: standalone (如果需要使用更好的文件服务,可以使用预配置的方式,请参考MSDN相关文章)
  3. 设置数据库,并指定数据库名称的前缀;本例使用的是2.1安装的SQL Server。

技术分享

完成后, 在数据库浏览窗口中可以看到2个数据库:

技术分享

?

  1. 设置站点的默认DNS后缀:

技术分享

本例设为 waplab.com。

在前面的DNS解析中, 我们已经将*.waplab.com泛域名做了解析。

  1. 设置System Credentials,本例中默认使用的是vmadmin账号及相关密码。其中有个是Website Cloud的账号 cloudadmin, 在后面注册Website Cloud的时候会使用到。
  2. 添加文件服务器wapsitefs和管理服务器wapsitemn

如果出现如下错误提示:

技术分享

需要在相关服务器的管理工具中设置允许远程管理:

技术分享

也可以使用命令行来实现

  1. 安装完成后, 可以打开Website Management Console(桌面可以找到快捷方式),并启动Web Farm Controller Service.

技术分享

观察Farm中各服务器的状态

技术分享

待状态都是Ready的时候, 就可以在前面WAP Admin Portal中注册这个Website Cloud了。如果没有Ready,注册会失败。注册过程,请参考后文中的描述。

?

8配置Controller,添加各个Role的Server

添加Front End Role,Publish Role 或者Web worker Role 都即可以在Admin Portal上完成,也可以在Website Cloud Console中完成。本例中使用的是后者。

添加Front End

技术分享

?

添加Publisher

技术分享

添加Web worker,并制定Mode 为Shared, Size为Small

技术分享

?

以上是关于在公有云AZURE上部署私有云AZUREPACK以及WEBSITE CLOUD的主要内容,如果未能解决你的问题,请参考以下文章

在公有云AZURE上部署私有云AZUREPACK以及WEBSITE CLOUD

WSFC2016 On Azure

云计算的“云”,除了公有云私有云和混合云,云计算还有这些细分领域

公有云私有云和本地部署的区别和联系有哪 些,企业该如何选择?

公有云私有云和本地部署的区别和联系有哪 些,企业该如何选择?

Azure Stack技术深入浅出系列2:谈Azure Stack在私有云/混合云生态中的定位