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

主頁(yè) > 知識(shí)庫(kù) > 使用 powershell 創(chuàng)建虛擬機(jī)

使用 powershell 創(chuàng)建虛擬機(jī)

熱門標(biāo)簽:使用電話機(jī)器人電銷是否違法 金融電銷公司怎么辦理外呼系統(tǒng) 安徽400電話辦理 雷霆電話機(jī)器人電話 湖州電銷防封卡 真人和電話機(jī)器人對(duì)話 信陽(yáng)話務(wù)外呼系統(tǒng)怎么收費(fèi) 什么渠道可以找外呼系統(tǒng)客戶 電話智能外呼系統(tǒng)誠(chéng)信合作

在進(jìn)行與 azure 相關(guān)的自動(dòng)化過(guò)程中,創(chuàng)建虛擬主機(jī)是避不開(kāi)的操作。由于系統(tǒng)本身的復(fù)雜性,很難用一兩條簡(jiǎn)單的命令完成虛擬主機(jī)的創(chuàng)建。所以專門寫(xiě)一篇文章來(lái)記錄使用 PowerShell 在 azure 上創(chuàng)建虛擬主機(jī)(Ubuntu 服務(wù)器)。
虛擬主機(jī)虛擬主機(jī)需要與其他的一些基礎(chǔ)性組件關(guān)聯(lián)在一起才能提供可用的服務(wù),這些組件包括:網(wǎng)卡、public IP 地址、虛擬網(wǎng)絡(luò)、網(wǎng)絡(luò)安全組、存儲(chǔ)等。下圖包含了新建一個(gè)虛機(jī)所需要的其他組件:

也就是說(shuō)在我們創(chuàng)建虛機(jī)的同時(shí)也要把這些組件一一的創(chuàng)建出來(lái)。

定義變量

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

$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"

希望沒(méi)有嚇到你。沒(méi)錯(cuò)!就是需要這么多的變量,這里先不解釋,在后面用到一個(gè)說(shuō)一個(gè)。

創(chuàng)建登錄虛機(jī)的憑據(jù)

通過(guò)這個(gè)腳本創(chuàng)建的虛機(jī)默認(rèn)會(huì)創(chuàng)建一個(gè)用戶,你需要指定用戶的名稱和登錄密碼(我們的創(chuàng)建的用戶通過(guò)公鑰認(rèn)證登錄,這個(gè)密碼并不真正使用)。通過(guò)用戶名和密碼創(chuàng)建憑據(jù)對(duì)象:

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

創(chuàng)建 Resource Group

創(chuàng)建一個(gè)新的 Resource Group,這個(gè)虛機(jī)及其所有相關(guān)的組件都?xì)w屬于同一個(gè) Resource Group:

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

創(chuàng)建虛擬網(wǎng)絡(luò)

接下來(lái)創(chuàng)建與虛擬網(wǎng)絡(luò)。先創(chuàng)建一個(gè)子網(wǎng)的配置:

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

需要先配置一個(gè)允許訪問(wèn) 22 端口的規(guī)則:

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

主機(jī)還缺一張網(wǎng)卡,所以為主機(jī)創(chuàng)建一個(gè)虛擬網(wǎng)卡:

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

虛機(jī)的磁盤(pán)文件是以 blob 的形式存放在 azure 的存儲(chǔ)中的,所以我們需要?jiǎng)?chuàng)建一個(gè) StorageAccount 來(lái)存儲(chǔ)磁盤(pán)文件:

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

下面定義磁盤(pán)文件的存放位置和名稱:

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

下面創(chuàng)建虛機(jī)相關(guān)的配置:

$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
我們創(chuàng)建的虛機(jī)操作系統(tǒng)為 Ubuntu Server 16.04-LTS,禁止使用用戶名密碼的方式登錄。要讓用戶能夠通過(guò)公鑰的方式登錄必須提供用戶的公鑰:
$sshPublicKey = "nick's ssh public key"
下面的命令會(huì)把你提供的公鑰寫(xiě)入到用戶的 authorized_keys 文件中:
Add-AzureRmVMSshPublicKey -VM $vmconfig -KeyData $sshPublicKey -Path "/home/$userName/.ssh/authorized_keys"
下面的命令真正的在 azure 上創(chuàng)建虛機(jī):
New-AzureRmVM -ResourceGroupName $rgName -Location $rgLocation -VM $vmConfig
訪問(wèn)權(quán)限問(wèn)題

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

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

標(biāo)簽:運(yùn)城 湛江 六盤(pán)水 岳陽(yáng) 鶴崗 德州 濟(jì)南 山南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《使用 powershell 創(chuàng)建虛擬機(jī)》,本文關(guān)鍵詞  使用,powershell,創(chuàng)建,虛擬機(jī),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《使用 powershell 創(chuàng)建虛擬機(jī)》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于使用 powershell 創(chuàng)建虛擬機(jī)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 鄄城县| 禹州市| 精河县| 深州市| 保定市| 内丘县| 鹤壁市| 林口县| 大同市| 淳安县| 衡南县| 靖西县| 榆中县| 东丰县| 安龙县| 玉树县| 湘乡市| 青冈县| 潞西市| 双江| 启东市| 新巴尔虎左旗| 遵义市| 鹿邑县| 通城县| 保康县| 泸水县| 汉源县| 沁源县| 宝山区| 平顶山市| 运城市| 桃园市| 阳泉市| 宜宾县| 阳高县| 明溪县| 东兰县| 泗阳县| 宜都市| 府谷县|