婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 使用 powershell 創建虛擬機

使用 powershell 創建虛擬機

熱門標簽:使用電話機器人電銷是否違法 金融電銷公司怎么辦理外呼系統 安徽400電話辦理 雷霆電話機器人電話 湖州電銷防封卡 真人和電話機器人對話 信陽話務外呼系統怎么收費 什么渠道可以找外呼系統客戶 電話智能外呼系統誠信合作

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

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

定義變量

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

$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 自動登錄》一文中有詳細的介紹,有興趣的朋友可以參考。

您可能感興趣的文章:
  • Powershell小技巧之設置IE代理
  • PowerShell基本使用教程
  • PowerShell 指令操作集合(小結)
  • 如何利用PowerShell監控Win-Server性能詳解
  • PowerShell中Job相關命令及并行執行任務詳解
  • PowerShell 腳本中的密碼保存的方法
  • PowerShell 遠程執行任務的方法步驟
  • 如何防范PowerShell代碼注入漏洞繞過受限語言模式
  • 自動設置安卓手機wifi代理的PowerShell腳本

標簽:運城 湛江 六盤水 岳陽 鶴崗 德州 濟南 山南

巨人網絡通訊聲明:本文標題《使用 powershell 創建虛擬機》,本文關鍵詞  使用,powershell,創建,虛擬機,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《使用 powershell 創建虛擬機》相關的同類信息!
  • 本頁收集關于使用 powershell 創建虛擬機的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 随州市| 信丰县| 清原| 华蓥市| 沂水县| 同心县| 南宁市| 哈尔滨市| 鄯善县| 互助| 保亭| 岳普湖县| 新巴尔虎左旗| 揭西县| 奇台县| 陈巴尔虎旗| 望江县| 仙桃市| 长丰县| 淮北市| 财经| 隆林| 五大连池市| 三原县| 白城市| 奇台县| 大足县| 安吉县| 汤阴县| 剑川县| 绥阳县| 大同县| 龙门县| 红原县| 深泽县| 呼图壁县| 卢龙县| 开江县| 定日县| 亚东县| 祁阳县|