Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
Azure StackÔËά¹¤¾ßAzure Stack ToolsµÄʹÓü°ÊµÕ½
 
À´Ô´£ºAzure Stack Notes ·¢²¼ÓÚ£º 2017-11-2
  1714  次浏览      27
 

Ô´×Ô Azure µÄ Azure stack ×÷Ϊһ¿îÒµ½çΨһµÄºÍÁìÏȵĹ«ÓÐÔÆÆ½Ì¨Ò»ÖµĻìºÏÔÆÆ½Ì¨£¬Äܹ»°ïÖúÆóÒµ¿Í»§´Ó×ÔÓÐÊý¾ÝÖÐÐĽ»¸¶ Azure ÔÆ·þÎñ¡£×÷Ϊ¡¶Azure Stack ¼¼ÊõÉîÈëdz³öϵÁС·µÄµÚÈýƪÎÄÕ£¬±¾ÎĽ«½éÉÜ Azure Stack ²¿ÊðÍê³ÉÒÔºó£¬ÈçºÎ¿ìËٵĹÜÀíºÍά»¤ÕâÌ×ϵͳ»·¾³£¬°üÀ¨ÐéÄâ»úµÄ¹ÜÀí¡¢Ô¶³Ì VPN Á¬½Ó¡¢´«Ê䲿Êð¾µÏñ¡¢Ô¶³Ì¼à¿ØµÈ¡£±¾ÎĽ«Í¨¹ýÒ»Ì× Azure Stack ÔËά¹¤¾ß¼¯¡ª¡ªAzure Stack Tools À´³¢ÊÔʹÓú͹ÜÀí Azure Stack ¼¯Èº»·¾³¡£

Azure Stack Tools ÊÇÔÚ GitHub ÉÏά»¤µÄÒ»Ì× Azure Stack ¹¤¾ß¼¯£¬ÓÉ΢Èí Azure Stack ÍŶÓΪϵͳ¿ª·¢ÕߺÍÔËάÕßÌṩµÄÒ»¿î»ùÓÚ Azure Resources Manager µÄ½Å±¾¹¤¾ß¡£ÎªÁË»ìºÏÔÆ¹ÜÀí¿ª·¢ÔËάһÖÂÐÔµÄÉè¼ÆÔ­Àí£¬ËüÑØÏ®ÁË Azure Resource Managers Éè¼Æ·ç¸ñµÄÖ¸Á£¬¿ÉÒÔʹ¿ª·¢ÕßÓëÔËάÕßÄܹ»ÏñʹÓà AzureRM Ä£¿éÒ»ÑùʹÓà Azure Stack Tools¡£²»Í¬ÓÚ Portal ½çÃæ£¬Azure Stack Tools Äܹ»Åú´¦ÀíÏà¹ØÔËά¡¢¼à¿Ø²Ù×÷£¬ÎªÏà¹ØÈËÔ±½ÚÊ¡²»±ØÒªµÄ¹¤×÷¡£

Õâһƪ£¬ÎÒÃǽ«Ì½ÌÖÒÔϼ¸¸ö·½Ã棺

  • ×¼±¸¹¤×÷£º²¿Êðǰ׼±¸¡¢»ñÈ¡ Azure Stack Tools
  • ¹¦ÄܽéÉܼ°ÊµÀý£º¸¨Öú Azure Stack °²×°¹¤¾ß¡¢Ô¶³ÌÁ¬½Ó¡¢ÉÏ´«¾µÏñ¡¢²¿ÊðÐé»ú¡¢²¿ÊðÄ£°å

¾ÍÔÚ±¾ÎÄ׫д¹ý³ÌÖУ¬2017 Äê 7 Ô 10 ÈÕ Azure Stack Development Kit£¨Azure Stack PoC °æ±¾ GA Ö®ºóµÄÃû×Ö£© GA£¬Azure Stack Tools Ò²½øÐÐÁËÒ»¶¨³Ì¶ÈµÄ¸üС£ºóÐø£¬ÎÒÃÇ»á¸ù¾Ý¸üÐÂÄÚÈݲâÊÔÖ®ºó£¬¸üÐÂÏà¹Ø¼¼ÊõÎĵµ¡£

Ò»¡¢²¿Êðǰ׼±¸

ÔÚ²¿Êð֮ǰÐèҪȷÈÏÓÃÓÚ²¿ÊðµÄÎïÀí»·¾³ÊÇ·ñÄܹ»Âú×㲿ÊðµÄ»ù±¾ÒªÇ󣬽¨Òé²ÎÔÄ¡¶Azure-Stack-PoC-Deployment¡·ÖеÚÒ»Õ½ڡ°²¿Êðǰ׼±¸¡±¡£

¶þ¡¢»ñÈ¡ Azure Stack Tools

Ê×ÏÈÎÒÃÇͨ¹ý git ¹¤¾ß´Ó´úÂë¿âÖÐÏÂÔØ Azure Stack Tools¡£

git clone https://github.com/Azure/AzureStack-Tools.git --recursive

´ò¿ª AzureStack-Tools Îļþ¼Ð£¬ÎÒÃÇ¿´µ½ Azure Stack Tools ×ÓÄ£¿é£¬ËûÃǺ­¸ÇÁ˲¿Êð¡¢Á¬½Ó VPN¡¢Ðé»ú¹ÜÀí¡¢¼à¿ØµÈ¶à¸ö²»Í¬¹¦ÄÜ¡£±¾ÆªÎÒÃǽ«Ö÷Òª½éÉܲ¿Êð¡¢Á¬½ÓºÍÐé»ú¹ÜÀíÕâÈý´ó¹¦ÄÜ¡£

Èý¡¢¸¨Öú Azure Stack °²×°¹¤¾ß

Azure Stack Tools µÄÀïÌṩһЩ½Å±¾ÓÃÓÚ Azure Stack ²¿ÊðÁ÷³Ì£¬ Azure Stack Development Kit ·¢²¼Ö®ºó£¬ÐÂÍÆ³öÁË»ùÓÚ GUI µÄ²¿Êðģʽ£¬¼ò»¯Á˲¿ÊðÁ÷³Ì£¬ÓÐÐËȤµÄ¶ÁÕß¿ÉÒÔÑо¿Ò»Ï Azure Stack Tool ÌṩµÄÏà¹Ø½Å±¾£¬ÏàÐŶÔÓÚÀí½â Azure Stack »ù´¡¼Ü¹¹»áÓÐÒ»¶¨µÄ°ïÖú¡£

ʹÓà Azure Stack Tools ֮ǰ£¬ÎÒÃDZØÐë°²×° PowerShell Ä£¿é¡£¿ÉÒÔʹÓÃÈçÏ´úÂë²âÊÔÊÇ·ñÒѰ²×°Ä£¿é£º

Find-Module -Name azurerm.*
Find-Module -Name AzureStack.*

Èç¹û³öÏÖÏÂÁÐÇé¿ö£¬ËµÃ÷ÒѾ­°²×° AzureRM Ä£¿é¡£

·ñÔòÇëÖ´ÐÐÏÂÁдúÂ룬°²×° AzureRM

Install-Module -Name 'AzureRm.Bootstrapper' -Scope CurrentUser
Install-AzureRmProfile -profile '2017-03-09-profile' -Force -Scope CurrentUser
Install-Module -Name AzureStack -RequiredVersion 1.2.9 -Scope CurrentUser

ÏÖÔÚÎÒÃÇ´ò¿ª PowerShell£¬ ¿ªÊ¼½øÐа²×°¹ý³Ì¡£

Ê×ÏȰ²×° Azure Stack TP3 Ö§³ÖÎļþ¡£È»ºó cd µ½¸ÃÎļþĿ¼Ï£¬×îºóÖ´ÐС°PrepareBootFromVHD.ps1¡±¡£

# Variables$Uri = 'https://raw.githubusercontent.com/Azure/AzureStack-Tools/master/Deployment/'$LocalPath = 'c:\AzureStack_TP3_SupportFiles'# Create folderNew-Item $LocalPath -Type directory# Download files'BootMenuNoKVM.ps1', 'PrepareBootFromVHD.ps1', 'Unattend.xml', 'unattend_NoKVM.xml' | foreach { Invoke-WebRequest ($uri + $_)`
-Out File ($LocalPath + '\' + $_) }

# Deploy from VHD.\PrepareBootFromVHD.ps1 -CloudBuilderDiskPath C:\CloudBuilder.vhdx -ApplyUnattendRestart-Computer -Force

Ö´ÐÐÍêÉÏÊö²Ù×÷ºó£¬ÐèÒªÖØÐÂÆô¶¯¡£

Restart-Computer-force

ËÄ¡¢Ô¶³ÌÁ¬½Ó

·ÃÎÊ Azure Stack ·þÎñ£¬ÓÐÁ½ÖÖ;¾¶¡£Ò»ÖÖÊÇͨ¹ýÔ¶³Ì×ÀÃæ£¨RDP£©·ÃÎÊ Azure Stack ËÞÖ÷»úÖÐµÄ MSA-CON01 »úÆ÷¡£µÚ¶þÖÖ·½Ê½Í¨¹ý VPN ËíµÀµÄÐÎʽ£¬Ê¹ÎÒÃÇʹÓõĵçÄÔ³ÉΪ Azure Stack ÍøÂçÖеÄÒ»²¿·Ö£¬¶Ô Azure Stack ½øÐзÃÎÊ¡£Á¬½Ó VPN µÄºÃ´¦ÔÚÓÚ¿ÉÒÔÈöà¸öÓû§ÔÚͬһʱ¼ä¶Ô Azure Stack ½øÐÐʹÓá£ÕâÒ»½Ú£¬ÎÒÃÇ»á½éÉÜÈçºÎʹÓà VPN Á¬½Ó Azure Stack¡£

ÎÒÃÇÁ˽âÏ Azure Stack VPN Á¬½ÓµÄÁ÷³Ì

Azure Stack Tools ¹¤¾ß°üÖÐÓжà¸öÄ£¿é£¬µ¼Èë Connect Îļþ¼ÐÖÐµÄ AzureStack.Connect.psm1¡£

Import-Module .\ComputeAdmin\AzureStack.ComputeAdmin.psm1

ʹÓà window remote manager£¬ÔÚ±¾µØµçÄÔÖÐÌí¼Ó Azure Stack Ö÷»úºÍ MAS-CA ·þÎñÐÅÈÎģʽ¡£ÕâÀïµÄ $hostIP ¾ÍÊǰ²×° Azure Stack ƽ̨µÄÖ÷»ú IP µØÖ·¡£

# ÔÚ Powershell ÖÐÖ´ÐÐ winrm quickconfig# Add Azure Stack One Node host & CA to the trusted hosts on your client computerSet-Item wsman:\localhost\Client\TrustedHosts -Value $hostIP -Concatenate
Set-Item wsman:\localhost\Client\TrustedHosts -Value mas-ca01.azurestack.local -Concatenate

Á¬½Ó BGP-NAT ·þÎñÆ÷£¬»ñÈ¡ NAT IP µØÖ·¡£$password Ϊ°²×° Azure Stack ƽ̨²¿ÊðʱËùÉ趨µÄ»ù´¡¼Ü¹¹ÐéÄâ»úµÄ¹ÜÀíÔ±ÃÜÂë

# Update Azure Stack host address to be the IP Address of the Azure Stack POC Host$natIp = Get-AzureStackNatServerAddress -HostComputer $hostIP -Password $Password

µ±ÎÒÃÇ»ñÈ¡ NAT IP Ö®ºó£¬Ìí¼Ó VPN Á¬½Ó£¬Ê¹ÓÃÈçÏ´úÂë¼´¿É¡£

# Create VPN connection entry for the current userAdd-AzureStackVpnConnection -ServerAddress $natIp -Password $Password# Connect to the Azure Stack instance. This command can be used to reconnectConnect-AzureStackVpn -Password $Password

ÎÒÃÇ´ò¿ª windows µçÄÔÏÔÊ¾ÍøÂç½çÃæ£¬´ËʱÎÒÃǵĵçÄÔÒѾ­Óë Azure Stack ÍøÂçÁªÍ¨¡£

Íê³ÉÉÏÊö²Ù×÷Ö®ºó£¬ÎÒÃÇ´ò¿ª windows µçÄÔÏÔÊ¾ÍøÂç½çÃæ£¬´ËʱÎÒÃǵĵçÄÔÒѾ­Óë Azure Stack ÍøÂçÁªÍ¨¡£

# To test the portal connection, open an Internet browser and navigate to either the user portal https://publicportal.local.azurestack.external
# the administrator portal, sign in and create resources. https://portal.local.azurestack.external

ÎÒÃÇÏÖÔÚ¿ÉÒÔÔÚä¯ÀÀÆ÷Öдò¿ªÏÂÁеØÖ·¡£

ÔÚ½áÊø VPN Á¬½Ó֮ǰ£¬ÎÒÃÇ¿ÉÒÔΪ Azure Stack RM Ìí¼ÓÁ½¸ö»·¾³£¬ÕâÑù×öµÄºÃ´¦ÔÚÓÚ¡£Èç¹ûÎÒÃÇʹÓà PowerShell ½øÐÐ Azure Stack ½Å±¾²¿ÊðºÍÄ£°å´î½¨£¬ÕâÁ½¸ö»·¾³Äܹ»·½±ãÎÒÃÇ»ñÈ¡×â»§ Id ÐÅÏ¢£¬´Ó¶øÍ¨¹ý AzureRM Ä£¿é¹¤¾ß¶Ô Azure Stack ½øÐпª·¢¡£

# Remove existed EnviromentRemove-AzureRmEnvironment -Name AzureStack
Remove-AzureRmEnvironment -Name AzureStackAdmin# Set AzureStackAdmin ARM EndpointAdd-AzureStackAzureRmEnvironment -Name "AzureStack" -ArmEndpoint "https://management.local.azurestack.external" # Set AzureStackAdmin ARM Endpoint Add-AzureStackAzureRmEnvironment -Name "AzureStackAdmin" -ArmEndpoint "https://adminmanagement.local.azurestack.external"

Azure Stack ´Ó TP3 ¿ªÊ¼£¬Ë³Ó¦¿Í»§µÄÒªÇ󣬷ÖÀëÁË Admin ºÍ Tenant µÄÃÅ»§ºÍ¶Ëµã£¬ÒÔÈ·±£°²È«¡£Ö»ÓйÜÀíÔ±ÔÚÖ´ÐйÜÀíÀàµÄ²Ù×÷£¬ÀýÈçÌí¼Ó Resource Provider¡¢Image µÈ£¬²ÅÐèÒªµÇ¼µ½ AzureStackAdmin »·¾³£»¶ø×â»§×Ô¼ºÖ´ÐвÙ×÷£¬ÔòµÇ¼µ½ AzureStackUser£¬×⻧ûÓÐ Admin ÕË»§È¨ÏÞ£¬Ò²²»¿ÉÄܵǼµ½ AzureStackAdmin¡£

# Get the AAD Tenant GUID$TenantID = Get-DirectoryTenantID -AADTenantName "<mydirectorytenant>.onmicrosoft.com" -EnvironmentName AzureStackAdmin
#Get the ADFS Tenant GUID$Tenantid = Get-DirectoryTenantID -ADFS -EnvironmentName AzureStackAdmin# Sign-in Admin to AzureStackAdmin ARM Endpoint# e.g username: pengtest1@azurestack.localLogin-AzureRmAccount -EnvironmentName "AzureStackAdmin" -TenantId $TenantIDLogin-AzureRmAccount -EnvironmentName "AzureStack" -TenantId $TenantID

Îå¡¢ÉÏ´«¾µÏñ

µ±ÎÒÃǰ²×°Íê³É Azure Stack Ö®ºó£¬»á·¢ÏÖ Azure Stack ÄÚ²¿Ê²Ã´¶¼Ã»ÓУ¬¾µÏñ¿âÀïûÓÐ VHD ¾µÏñ×ÊÔ´£¬Èç¹ûÎÒÃÇÐèÒªÔÚ MarketPlace ÖÐÌí¼Ó¾µÏñ£¬¿ÉÒÔʹÓà Azure Stack Tools ÖÐµÄ ComputeAdmin Ä£¿é½øÐоµÏñµÄÉÏ´«¡£

ÔÚÏÂͼÖУ¬ÎÒÃÇ¿´µ½ Virtual Machines Ñ¡ÏîÖÐÏÔʾ³öÁ½¸ö¾µÏñ×ÊÔ´£¬·Ö±ðΪ Ubuntu14.02 ºÍ Windows Server 2016¡£¶ÔÓÚ Linux ºÍ Windows ϵͳ£¬ÖÆ×÷¾µÏñµÄ;¾¶²»Ò»Ñù¡£ÔÚ±¾ÎÄÖУ¬ÎÒÃÇ×ÅÖØ½øÐоµÏñÉÏ´«µÄ²Ù×÷¡£Èç¹ûÓÐͯЬÐèÒªÁ˽⾵ÏñÖÆ×÷µÄ·½·¨£¬¿ÉÒÔµã»÷¸Ã Á´½Ó https:// docs.microsoft.com/en-us /azure/virtual-machines /linux/create-upload-generic¡£

ÔÚ´´½¨¾µÏñ×ÊԴ֮ǰ£¬ÎÒÃÇÏÈÒªÔØÈë Connect Ä£¿éºÍ ComputeAdmin Ä£¿é

Import-Module .\Connect\AzureStack.Connect.psm1Import-Module .\ComputeAdmin\AzureStack.ComputeAdmin.psm

ÔÚÉÏÒ»½Ú£¬ÎÒÃÇÒѾ­Í¨¹ý VPN µÄ·½Ê½Îª Azure Stack ´òͨËíµÀ£¬ÎÒÃǼÌÐøÊ¹ÓÃÉÏÊö»·¾³£¬ÀûÓà VPN »·¾³»ñÈ¡×â»§µÄ id¡£

# Get tenant id$Tenantid = Get-DirectoryTenantID -ADFS -EnvironmentName AzureStackAdmin

½Ó×Åͨ¹ý AzureRM Ä£¿é£¬µÇ¼ Azure Stack Admin »·¾³¡£Õâ±ßÎÒÃÇÊDz»ÊÇ¿´µ½Ò»¸öÊìϤµÄʹÓû·¾³ÁË£¿¶ÔµÄ£¬Õâ¾ÍÊÇ PowerShell Azure ¿ª·¢ÖÐ×î»ù±¾µÄ½Å±¾ÔËÐдúÂ롣ΪÁËʹ Azure ºÍ Azure Stack ¿ª·¢ºÍÔËά±£³ÖÒ»ÖÂÐÔ£¬Î¢Èí»ù±¾ÑØÓÃÁË Azure Resource Manager µÄÖ¸Áî¡£°üÀ¨ÔÚÏÂÒ»Õ½ڣ¬ÎÒÃÇ´´½¨Ðé»úʹÓõĴúÂë¶¼·ûºÏÕâ¸ö¹æ·¶¡£

»Ø¹éÕýÌ⣬ʹÓÃÏÂÁдúÂëµÇ¼ Azure Stack£º

# Login Administrator AccountLogin-AzureRmAccount -EnvironmentName "AzureStackAdmin" -TenantId $TenantID

´Ëʱ»áµ¯³öÒ»¸ö¶Ô»°¿ò£¬ÐèÒªÎÒÃÇÊäÈë Azure Stack ¹ÜÀíÔ±ÕË»§ÃÜÂ룺

  • ¶ÔÓÚ ADFS ģʽ£ºAzure Stack ÉÏ´«¾µÏñÐèҪͨ¹ý azurestackadmin@azurestack.local ÕË»§½øÐÐÉÏ´«£¬²»ÄÜʹÓà azure\AzureStackAdmin ÓòÕË»§¡£
  • ¶ÔÓÚ AAD ģʽ£ºÐèÒªÌṩ°²×° Azure Stack ÊÇÌṩµÄ¹ú¼Ê°æ Azure ÕË»§ÃÜÂë¡£

¶ÔÓÚ Windows ¾µÏñ£¬ÎÒÃÇʹÓÃÏÂÁдúÂë½øÐа²×°£º

$ISOPath = "<Path to ISO>"New-Server2016VMImage -ISOPath $ISOPath -TenantId $TenantID -EnvironmentName "AzureStackAdmin"

¶ÔÓÚ Linux ¾µÏñ£¬ÎÒÃÇʹÓÃÕâ¶Î´úÂë½øÐа²×°£º

$ISOPath = "<Path to ISO>"Add-VMImage -publisher "Canonical" -offer "UbuntuServer" -sku "14.04.3-LTS" -version "1.0.1" -osType Linux`
-osDiskLocalPath $ISOPath -tenantID $TenantId -EnvironmentName "AzureStackAdmin"

ÓÉÓÚ¾µÏñµÄÈÝÁ¿Í¨³£±È½Ï´ó£¬ËùÒÔͨ¹ýÔ¶³Ì VPN µÄ·½Ê½ÉÏ´«¾µÏñ»á±È½ÏÂý¡£Õâ±ßÓиöÌÖÇɵķ½·¨£¬Í¨¹ý RDP µÇ¼ Azure Stack MAS-CON01 µÄÐéÄâ»ú¡£ÏÖ½«¾µÏñ¿½¹ýÈ¥£¬È»ºóÔÚ¸ÃÐéÄâ»úÄÚ½øÐа²×°¡£

µ±ÎÒÃÇÔËÐÐÏà¹Ø´úÂëÖ®ºó£¬PowerShell ¾Í»áÏÔʾ³öÈçÏÂÐÅÏ¢¡£Í¨¹ý¶Ô Azure Stack µÄ×é¼þ·ÖÎö£¬ÎÒÃÇ¿ÉÒÔÁ˽⵽¡£ÉÏ´«¾µÏñµÄ¹ý³Ì·ÖΪÈý²½£º

Íê³É¾µÏñÉÏ´«Ö®ºó£¬½«×Ô¶¯´´½¨ Gallery items ÓÃÀ´Í¨¹ý GUI ½çÃæÈÃÓû§Í¨¹ý×Ô·þÎñµÄÐÎʽ´´½¨×ÊÔ´¡£Ïà¹Ø×Ô¶¨Òå¾µÏñ´´½¨Á÷³ÌÇë¹Ø×¢ºóÐøÍÆ³öµÄ¡¶Azure Stack ¼¼ÊõÉîÈëdz³öϵÁС·µÚËÄÆª¡£ÏÂͼÏÔʾµÄÊǾµÏñÔÚÉÏ´«µÄ¹ý³Ì£¬ÎÒÃÇ¿ÉÒÔ¿´µ½ Azure Stack Tools ÏÔʾÁËÒ»¸ö JSON ¸ñʽµÄÐÅÏ¢×飬ÕâÊÇÉÏ´«Ö®ºó¾µÏñµÄ»ù±¾ÐÅÏ¢¡£

ÔÚÏÂÃæµÄ½ØÍ¼ÖУ¬ÎÒÃÇ¿ÉÒÔ¿´µ½ÉÏ´«µ½¾µÏñ»á·ÅÖÃÔÚÒ»¸ö½Ð addvmimagestorageaccount ´æ´¢Õ˺ÅÖÐÒ»¸ö blob ´æ´¢ÖÐµÄ container ÀïÃæ¡£

µ±½áÊøÉÏÊöËùÓйý³ÌÖ®ºó£¬ÎÒÃÇ¿ÉÒÔ¿´µ½ StatusCode ÏÔʾ Created£¬ËµÃ÷¾µÏñÒѾ­ÉÏ´«³É¹¦¡£´ËʱÎÒÃǻص½ Azure Stack ÃÅ»§Ò³Ã棬¿ÉÒÔËæÐÄËùÓûµÄ´´½¨¸÷ÖÖ¶¨ÖÆ»¯µÄ¾µÏñ¡£

Áù¡¢²¿ÊðÐé»ú

ÔÚ Azure Stack ²¿ÊðÐé»úÓëÔÚ Azure ÉÏÃæ²¿ÊðÐé»úÒ»Ñù£¬ÎÒÃÇͨ¹ýÒÔÏ´úÂëͨ¹ý Azure Stack ²¿Êð¡£

Ê×ÏÈ£¬ÎÒÃÇ´´½¨×ÊÔ´×é¡£

# Create a resource groupNew-AzureRmResourceGroup -Name 'myResourceGroup1' -Location "local"

×¢Ò⣺-Location µÄ²ÎÊýÐèҪʹÓà local »òÓû§×Ô¶¨ÒåÇøÓòλÖÃÐÅÏ¢£¬Óë Azure ¹«ÓÐÔÆÓÐËùÇø±ð

È»ºó´´½¨ÐéÄâÍøÂçÒÔ¼°×ÓÍø£¬²¢ÎªÍøÂçÅäÖù«¹² IP¡£

############### Create networking resources ############################### Create a subnet configuration$subnetConfig = New-AzureRmVirtualNetworkSubnetConfig -Name 'mySubnet01'`
-AddressPrefix 10.0.1.0/24# Create a virtual network$vnet = New-AzureRmVirtualNetwork -ResourceGroupName 'myResourceGroup1'`
-Location 'local' -Name myResourceGroup1-vnet`
-AddressPrefix 10.0.0/16 -Subnet $subnetConfig# Create a public IP address and specify a DNS name$pip = New-AzureRmPublicIpAddress -ResourceGroupName 'myResourceGroup1'`
-Location 'local' -AllocationMethod Static`
-IdleTimeoutInMinutes 4 -Name "test1-ip"

Ìí¼ÓÍê¹«Íø ip ºó£¬ÎÒÃÇΪÐé»úÌí¼ÓÍøÂ簲ȫ×é¡£

# Create a virtual network card and associate with public IP address and NSG$nic = New-AzureRmNetworkInterface -Name 'myNic'`
-ResourceGroupName 'myResourceGroup1' -Location 'local' `
-SubnetId $vnet.Subnets[0].Id -PublicIpAddressId $pip.Id`
-NetworkSecurityGroupId $nsg.Id# Create an inbound network security group rule for port 3389$nsgRuleRDP = New-AzureRmNetworkSecurityRuleConfig`
-Name myNetworkSecurityGroupRuleRDP -Protocol Tcp `
-Direction Inbound -Priority 1000 -SourceAddressPrefix *`
-SourcePortRange * -DestinationAddressPrefix * `
-DestinationPortRange 3389 -Access Allow# Create an inbound network security group rule for port 80$nsgRuleWeb = New-AzureRmNetworkSecurityRuleConfig -Name`
myNetworkSecurityGroupRuleWWW -Protocol Tcp `
-Direction Inbound -Priority 1001 -SourceAddressPrefix *`
-SourcePortRange * -DestinationAddressPrefix * `
-DestinationPortRange 80 -Access Allow# Create a network security group$nsg = New-AzureRmNetworkSecurityGroup -ResourceGroupName myResourceGroup1`
-Location local -Name test1-nsg -SecurityRules $nsgRuleRDP,$nsgRuleWeb# Create a virtual network card and associate with public IP address and NSG$nic = New-AzureRmNetworkInterface -Name myNic`
-ResourceGroupName myResourceGroup1 -Location local `
-SubnetId $vnet.Subnets[0].Id -PublicIpAddressId $pip.Id`
-NetworkSecurityGroupId $nsg.Id

×îºóÔÚ Azure Stack ÖÐÌí¼ÓÐé»ú¡£

################################ Create VM ############################### Define a credential object$cred = Get-Credential# Create a virtual machine configuration$vmConfig = New-AzureRmVMConfig -VMName myVM -VMSize Standard_D1 | `
Set-AzureRmVMOperatingSystem -Windows -ComputerName myVM `
-Credential $cred | Set-AzureRmVMSourceImage -PublisherName `
MicrosoftWindowsServer -Offer WindowsServer -Skus 2016-Datacenter `
-Version latest | Add-AzureRmVMNetworkInterface -Id $nic.Id

New-AzureRmVM -ResourceGroupName myResourceGroup -Location 'local' -VM $vmConfig

×îºóÎÒÃÇ»áÔÚ Azure Stack ½çÃæÉÏ¿´µ½ÈçÏÂн¨×ÊÔ´£¬ËµÃ÷ÒѾ­Ìí¼Ó³É¹¦¡£

Æß¡¢²¿ÊðÄ£°å

ÔÚ Azure Stack Ä£°å¹¤¾ßºÍȨÏÞ¹¤¾ßµÄ¹²Í¬×÷ÓÃÏ£¬ÎÒÃÇ¿ÉÒÔͨ¹ýÐÞ¸Ä´Ó Azure ÉÏ»ñÈ¡µÄÄ£°å£¬½«Æäת»¯³É Azure Stack µÄÄ£°å£¬´Ó¶ø´Ù½ø Azure Stack µÄ¸üºÃ¿ª·¢¡£

¶ÔÓÚ Azure Stack µÄ ARM Ä£°å²ÎÊý£¬ÀýÈç Location¡¢´æ´¢¶ËµãµÈʱ£¬Ä¿Ç°µÄʹÓõķ¶ÀýÖÐÌØÖ¸ POC »·¾³ (POC »·¾³¶ËµãĬÈÏÊÇ azurestack.external¡¢Location ĬÈÏÊÇ Local)£¬Èç¹ûÊÇÉú²ú»·¾³£¬ÕâЩ¶¼Êǿͻ§×Ô¼º¶¨Ò壬ÿ¸ö Azure Stack ʵÀýµÄ Location ºÍ¶Ëµã²¢²»»áÏàͬ¡£

Template Validator Tool£¨Ä£°åÑéÖ¤¹¤¾ß£©£º ÓÃÓÚ Azure ºÍ Azure Stack µÄ×ÊÔ´ºÍÅäÖÃÓÐËù²»Í¬£¬ËùÒÔ Azure Stack Tools ÖÐÌṩÁËÄ£°åÑéÖ¤¹¤¾ß¡£ËüµÄÖ÷Òª¹¦ÄÜÔÚÓÚÑéÖ¤´Ó Azure ÖÐÒÆÖ²µÄ ARM ÊÇ·ñÕýÈ·¡¢ÊÇ·ñ·ûºÏ Azure Stack µÄ¹æ·¶¡£ÎÒÃÇ¿ÉÒÔÔÚ Azure Stack Template https:// github.com/Azure/ AzureStack-QuickStart-Templates ÖÐÕÒµ½·ûºÏ Azure Stack ¹æ·¶µÄÄ£°å¡£

Azure Stack ¹æ·¶ÈçÏ£º

1¡¢ Azure Stack ×ÊԴλÖã¨location£©

ÔÚ ARM Ä£°åÖÐͨ³£´Ó×ÊÔ´×éÖлñÈ¡ Azure ·þÎñµÄλÖã¬Í¨¹ý -location À´È·¶¨Ä£°åËùҪʹÓÃ×ÊÔ´µÄÎïÀíλÖá£ÔÚ Azure ÖУ¬ÎÒÃÇ»á»ñµÃ 40 ¶à¸öλÖã¬Èç ¡°chinaeast¡¢chinanorth¡¢westus¡±µÈ¡£ÔÚ Azure Stack »·¾³Ï£¬Ä¬ÈÏΪ¡°local¡±»òÕßÓû§×Ô¶¨ÒåλÖã¬ÈçÏÂÃæÀý×Ó£º

{ "resources":[
{ "name": XXXXXXXX, "type": XXXXXXXXXXXXXX, "apiVersion": XXXXXXXXXXXXXXXX, "location": "[resourceGroup().location]", //Incorrect Version: chinaeast "comments": "This storage account is used to store the VM disks", "properties":{ "accountType": "Standard_LRS"
}
}
]
}

2¡¢Blob ´æ´¢ Endpoint

ÔÚ Azure ÖУ¬ÎÒÃÇʹÓÃ.blob.core.windows.net À´±íʾ Azure µÄ blob ´æ´¢¶Ëµã¡£¶øÔÚ Azure Stack ÖУ¬ÎÒÃÇʹÓà .blob.local.azurestack.external À´±êʶ´æ´¢µØÖ·

"osDisk":
{ "name": "osDisk", "vhd": { "uri": "[
concat('Microsoft.Storage/storageAcounts/',
parameters('newStroageAccountName'), //'.blob.core.windows.net'
variables('vmStorageAccountContainerName'),'/'
variables('OSDiskName'),'.vhd')
]",
} "caching": "ReadWrite"£¬
¡°createOption¡±£º "FromImage"}

3¡¢Ìṩ×îРAPI °æ±¾¹ÜÀí

Azure Stack µÄµ×²ã¼¼ÊõջʼÖÕ×ñÑ­ Azure µÄ¼¼Êõ£¬²¢Ê¹Óà Azure ×îÐ嵀 API °æ±¾¡£Ï±íΪĿǰʹÓõÄ×îРAPI ½Ó¿Ú¡£

¸ü¶à×îÐ嵀 API °æ±¾²îÒìÇë²é¿´¹ÙÍøÎĵµ£º

  • https:// docs.microsoft.com/en-us /azure/azure-stack/ azure-stack-vm-considerations
  • https:// docs.microsoft.com/en-us /azure/azure-stack/ azure-stack-acs-differences

4¡¢Ìáʾ֧³Ö×ÊÔ´µÄÀàÐÍ

ͬʱ Azure Stack »¹»áУÑé×ÊÔ´µÄ sku ºÍ¾µÏñ¡¢À©Õ¹µÈ¸øÁË¿ª·ÅµÄ¹¦ÄÜ¡£

Policy Tool(ȨÏÞ²ßÂÔ¹¤¾ß)£ºËæ×Å Azure Stack ¿ª·¢µÄ²»¶ÏÉîÈ룬ԽÀ´Ô½¶à Azure ÌṩµÄ IaaS¡¢PaaS ·þÎñÒ²»áÖð²½ÔÚ Azure Stack Öпª·¢£¬ÆäÖв»·¦ÎÞ·þÎñ¿ò¼Ü£¨App function£©¡¢Çø¿éÁ´£¨Blockchain£©µÈ¡£ÔÚ Azure Stack ÖÚ¶àµÄ·þÎñÖУ¬Èç¹ûÎÒÃÇÏ£ÍûÏÞ¶¨Ä³¸ö×ÊÔ´×éµÄ·þÎñºÍ×ÊԴʹÓÃÁ¿£¬ÎÒÃÇ¿ÉÒÔµ¼ÈëÏÂÃæÊÇ Policy Îļþ¡£

"policyRule": {
"if": {
"not": {
"field": "location",
"in": "[parameters('allowedLocations')]"
}
},
"then": {
"effect": "deny"
}
}

¶øÔÚ Azure Stack Tools ÖÐÎÒÃÇ¿ÉÒÔµ½Ê¹Óà Azure Stack Tools ÖÐµÄ AzureStack.Policy.psm1 Îļþ

Import-Module .\AzureStack.Policy.psm1

Login-AzureRmAccount$s = Select-AzureRmSubscription -SubscriptionName "<sub name>"$subId = $s.Subscription.SubscriptionId$policy = New-AzureRmPolicyDefinition -Name AzureStack -Policy (Get-AzureStackRmPolicy)

New-AzureRmPolicyAssignment -Name AzureStack -PolicyDefinition $policy -Scope /subscriptions/$subId#Specify the resource group where you would like to apply the policy$rgName = 'AzureStack'New-AzureRmPolicyAssignment -Name AzureStack -PolicyDefinition $policy -Scope /subscriptions/$subID/resourceGroups/$rgNameRemove-AzureRmPolicyAssignment -Name AzureStack -Scope /subscriptions/$subId/resourceGroups/$rgNameRemove-AzureRmPolicyAssignment -Name AzureStack -Scope /subscriptions/$subId

°Ë¡¢ÆäËû¹¤¾ß

ÔÚ Azure Stack Tool ÖУ¬ÌṩÁËÒ»Ì×¹ÜÀíÔ±¹¤¾ß¡£ÕýÈç֮ǰÌá¼°µÄÉÏ´«¾µÏñ¹¦ÄÜÒ»Ñù£¬ÔÚ¹ÜÀíÔ±¹¤¾ßÖÐÓзþÎñ¹ÜÀíÄ£¿é£¨ServiceAdmin£©¡¢¼ÆËãÄ£¿é£¨ComputeAdmin£©¡¢É豸ģ¿é£¨InfraAdmin£©¡£

  • ·þÎñ¹ÜÀíÄ£¿é£º ¹ÜÀíÔ±¿ÉÒÔͨ¹ý¸Ã¹¤¾ß´´½¨Ô¤¶¨£¨offer£©¡¢¼Æ»®£¨plan£©ºÍÒýÓã¨quota£©µÈ·þÎñÄ£¿é¡£
  • ¼ÆËãÄ£¿é£ºÌí¼ÓºÍɾ³ýÐé»ú¾µÏñ¡£
  • É豸ģ¿é£ºÔÚ Azure Stack É豸ÖÐÌṩ¼à¿Ø½çÃæºÍÊý¾Ý½Ó¿Ú

¾Å¡¢×ܽá

ͨ¹ýÕâÒ»½²£¬ÎÒÃÇÁ˽âÁË Azure Stack Tools µÄ»ù±¾¹¦ÄÜ£¬Ï£ÍûÓû§ÔĶÁÖ®ºó£¬Äܹ»Ê¹Óà Azure Stack Tools ÉÏ´«Ðé»ú¾µÏñºÍ´´½¨ÐéÄâ»ú¡£¶ÔÓÚ Azure Stack µÄ¹ÜÀíÔ±£¬Äܹ»Í¨¹ý Azure Stack Tools ¶Ô Azure Stack ½øÐÐ×ÊÔ´µÄÏÞÖÆ¡¢¶©ÔÄÖÐ offer µÄ·Ö·¢ÒÔ¼°¶Ô Azure Stack »ù´¡ÉèÊ©µÄ¼à¿ØÓÐÒ»¶¨µÄ°ïÖú¡£ÏàÐÅÔÚʹÓà Azure Stack Tools µÄ¹ý³ÌÖУ¬Í¯Ð¬ÃÇ¿ÉÒÔÌå»á Azure ºÍ Azure Stack Ò»ÖÂÐÔÌåÑéµÄÀíÄî¡£

   
1714 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

ÔÆ¼ÆËãµÄ¼Ü¹¹
¶ÔÔÆ¼ÆËã·þÎñÄ£ÐÍ
ÔÆ¼ÆËãºËÐļ¼ÊõÆÊÎö
Á˽âÔÆ¼ÆËãµÄ©¶´
Ïà¹ØÎĵµ

ÔÆ¼ÆËã¼ò½é
ÔÆ¼ÆËã¼ò½éÓëÔÆ°²È«
ÏÂÒ»´úÍøÂç¼ÆËã--ÔÆ¼ÆËã
ÈídzÎöÔÆ¼ÆËã
Ïà¹Ø¿Î³Ì

ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ
ÔÆ¼ÆËãÓ¦ÓÃÓ뿪·¢
CMMIÌåϵÓëʵ¼ù
»ùÓÚCMMI±ê×¼µÄÈí¼þÖÊÁ¿±£Ö¤