麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > PowerShell > 正文

使用 powershell 創建虛擬機

2020-03-26 18:52:18
字體:
來源:轉載
供稿:網友

在進行與 azure 相關的自動化過程中,創建虛擬主機是避不開的操作。由于系統本身的復雜性,很難用一兩條簡單的命令完成虛擬主機的創建。所以專門寫一篇文章來記錄使用 PowerShell 在 azure 上創建虛擬主機(Ubuntu 服務器)。
虛擬主機虛擬主機需要與其他的一些基礎性組件關聯在一起才能提供可用的服務,這些組件包括:網卡、public IP 地址、虛擬網絡、網絡安全組、存儲等。下圖包含了新建一個虛機所需要的其他組件:

powershell,創建虛擬機,powershell創建虛擬機

也就是說在我們創建虛機的同時也要把這些組件一一的創建出來。

定義變量

我們希望今后可以重用這個腳本,所以把用到的變量全都放在一起便于修改或使用腳本的參數進行初始化:

$rgName = "vmpool"$rgLocation = "East Asia"$subnetConfigName = $rgName + "subnet"$vnetName = $rgName + "vnet"$vmName = "vmxman"$pipName = $vmName + "pip"$nsgRule22Name = "nsgRule22"$nsgName = $rgName + "nsg"$interfaceName = $vmName + "nic"$storageName = $rgName + "storage"$storageType = "Standard_GRS"$oSDiskName = $vmName + "OSDisk"$vmSize = "Standard_D1"$vmVersion = "16.04-LTS"$userName = "nick"$userPassword = "123456"
 

希望沒有嚇到你。沒錯!就是需要這么多的變量,這里先不解釋,在后面用到一個說一個。

創建登錄虛機的憑據

通過這個腳本創建的虛機默認會創建一個用戶,你需要指定用戶的名稱和登錄密碼(我們的創建的用戶通過公鑰認證登錄,這個密碼并不真正使用)。通過用戶名和密碼創建憑據對象:

$securePassword = ConvertTo-SecureString $userPassword -AsPlainText -Force$userCred = New-Object System.Management.Automation.PSCredential ($userName, $securePassword)
 

創建 Resource Group

創建一個新的 Resource Group,這個虛機及其所有相關的組件都歸屬于同一個 Resource Group:

New-AzureRmResourceGroup -Name $rgName -Location $rgLocation
在參數 Location 中指定 Resource Group 的位置為東亞(訪問速度比較快)。

創建虛擬網絡

接下來創建與虛擬網絡。先創建一個子網的配置:

$subnetConfig = New-AzureRmVirtualNetworkSubnetConfig -Name $subnetConfigName -AddressPrefix 192.168.1.0/24
然后創建具有一個子網的虛擬網絡:
$vnet = New-AzureRmVirtualNetwork -ResourceGroupName $rgName -Location $rgLocation `                 -Name $vnetName -AddressPrefix 192.168.0.0/16 -Subnet $subnetConfig
最后為主機創建一個可以外網訪問的 public IP:
$pip = New-AzureRmPublicIpAddress -ResourceGroupName $rgName -Location $rgLocation `                 -AllocationMethod Static -IdleTimeoutInMinutes 4 `                 -Name $pipName
創建網絡安全組

需要先配置一個允許訪問 22 端口的規則:

$nsgRule22 = New-AzureRmNetworkSecurityRuleConfig -Name $nsgRule22Name -Protocol Tcp `  -Direction Inbound -Priority 200 -SourceAddressPrefix * -SourcePortRange * -DestinationAddressPrefix * `  -DestinationPortRange 22 -Access Allow
然后創建網絡安全組:
$nsg = New-AzureRmNetworkSecurityGroup -ResourceGroupName $rgName -Location $rgLocation `  -Name $nsgName -SecurityRules $nsgRule22
創建網絡接口

主機還缺一張網卡,所以為主機創建一個虛擬網卡:

$nic = New-AzureRmNetworkInterface -Name $interfaceName -ResourceGroupName $rgName -Location $rgLocation `  -SubnetId $vnet.Subnets[0].Id -PublicIpAddressId $pip.Id -NetworkSecurityGroupId $nsg.Id
創建 Storage Account

虛機的磁盤文件是以 blob 的形式存放在 azure 的存儲中的,所以我們需要創建一個 StorageAccount 來存儲磁盤文件:

$storageAccount = New-AzureRmStorageAccount -ResourceGroupName $rgName -Name $storageName -Type $storageType -Location $rgLocation
 

下面定義磁盤文件的存放位置和名稱:

$oSDiskUri = $storageAccount.PrimaryEndpoints.Blob.ToString() + "vhds/" + $oSDiskName + ".vhd"
創建虛機

下面創建虛機相關的配置:

$vmConfig = New-AzureRmVMConfig -VMName $vmName -VMSize $vmSize | `      Set-AzureRmVMOperatingSystem -Linux -ComputerName $vmName -Credential $userCred -DisablePasswordAuthentication | `      Set-AzureRmVMSourceImage -PublisherName Canonical -Offer UbuntuServer -Skus $vmVersion -Version latest | `      Add-AzureRmVMNetworkInterface -Id $nic.Id | `      Set-AzureRmVMOSDisk -VhdUri $oSDiskUri -CreateOption FromImage
我們創建的虛機操作系統為 Ubuntu Server 16.04-LTS,禁止使用用戶名密碼的方式登錄。要讓用戶能夠通過公鑰的方式登錄必須提供用戶的公鑰:
$sshPublicKey = "nick's ssh public key"
下面的命令會把你提供的公鑰寫入到用戶的 authorized_keys 文件中:
Add-AzureRmVMSshPublicKey -VM $vmconfig -KeyData $sshPublicKey -Path "/home/$userName/.ssh/authorized_keys"
下面的命令真正的在 azure 上創建虛機:
New-AzureRmVM -ResourceGroupName $rgName -Location $rgLocation -VM $vmConfig
訪問權限問題

在 azure 上執行操作需要用戶先進行登錄,那么在 PowerShell 腳本中該如何做呢?
筆者在《Azure 基礎:用 PowerShell 自動登錄》一文中有詳細的介紹,有興趣的朋友可以參考。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 成人毛片视频免费看 | 精品一区二区三区日本 | 国产一级毛片高清视频完整版 | 国产一区二区成人在线 | 日本精品视频一区二区三区四区 | 99爱福利视频在线观看 | 激情小说激情图片激情电影 | 欧洲黄色一级视频 | 成人店女老板视频在线看 | 一级片九九 | 欧美精品久久久久久久久久 | 亚洲精品aa | 色婷婷av一区二区三区久久 | 日本精品视频一区二区三区四区 | 免费欧美一级视频 | 精品久久久一二三区播放播放播放视频 | 网站激情 | 国产欧美在线一区二区三区 | 国产伦乱视频 | 男女隐私免费视频 | 欧美日韩在线视频一区 | 19禁国产精品福利视频 | 国产精品99免费视频 | 国产91九色 | 精品91av | 九九热在线观看视频 | xxxeexxx性国产 | 一级全毛片 | 国产在线精品一区二区三区不卡 | 国产69久久精品成人看 | 欧美在线观看黄色 | 亚洲男人的天堂在线视频 | 91av久久| 午夜在线观看视频网站 | 国产一区二区三区影视 | 欧美一区在线观看视频 | 国产99视频在线观看 | 亚洲视频精选 | 久草手机在线视频 | 久久精热 | 正在播放91精 |