免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

Azure自動化部署運維淺談-創(chuàng)新互聯(lián)

    本次來談一談如何在Azure中實現(xiàn)一些簡單的自動化運維的需求,一般來講自動化運維我們通過很多第三方的工具平臺實現(xiàn),比較流行的目前有很多,比如老牌的chef, puppet,新興的PowerShell DSC, ansible。這些應(yīng)該都是耳熟能詳?shù)牧恕?/p>

創(chuàng)新互聯(lián)公司溝通電話:18980820575,為您提供成都網(wǎng)站建設(shè)網(wǎng)頁設(shè)計及定制高端網(wǎng)站建設(shè)服務(wù),創(chuàng)新互聯(lián)公司網(wǎng)頁制作領(lǐng)域10余年,包括成都垃圾桶等多個行業(yè)擁有豐富的網(wǎng)站營銷經(jīng)驗,選擇創(chuàng)新互聯(lián)公司,為企業(yè)保駕護航!

    那么在Azure平臺,如何實現(xiàn)自動化部署和運維?

    方法其實很多,第一種方法比較傳統(tǒng),即仍然使用Chef, Ansible等工具平臺進行自動化運維,仍然可以保持以往的體驗,無需學(xué)習(xí)任何新的技術(shù)

    在Azure中也對這種方式提供了很多的技術(shù)支持,在應(yīng)用市場中也可以找到這種鏡像

Azure自動化部署運維淺談

Azure自動化部署運維淺談

    在VM的extension里也可以找到很多相關(guān)的extension

Azure自動化部署運維淺談

    這種方式對于已經(jīng)很熟悉這些工具的人來說,應(yīng)該是最容易的方式

    當然,除此之后還有一些其他的方法也可以實現(xiàn)一些簡單的自動化運維,部署的目的,如果是一些簡單的需求,也可以考慮使用這類方法,比如說多臺Windows VM想要加入同一個域里,或者是多臺web服務(wù)器想要統(tǒng)一安裝某些軟件或者角色,這類較為簡單的需求,則可以使用Azure自帶的Custom Script Extension來實現(xiàn)

    舉例來說,想要實現(xiàn)多臺VM加域,一般來講加域可以通過批量推送腳本,或者是手動的方式來實現(xiàn),在Azure中,實際上我們不需要登錄到任何一臺VM中,只需要在外部網(wǎng)絡(luò)即可實現(xiàn)加域的效果,只要要加域的vm到DC之間的網(wǎng)絡(luò)是聯(lián)通的,并且DNS可以正常解析到域名即可。

    比如,現(xiàn)在我們有一臺DC,兩位web服務(wù)器,web01及web02,現(xiàn)在有兩個需求

1.     將兩臺服務(wù)器加入到域中

2.     對兩臺服務(wù)器安裝IIS角色

    第一個需求,我們可以通過Azure自帶的JsonADDomainExtension實現(xiàn),只需要提供一個加域的cred,以及域名,即可將服務(wù)器加入到域中,命令也非常簡單

    直接在PowerShell中運行以下命令,將<>里的內(nèi)容替換為實際的內(nèi)容即可

Set-AzureRmVMADDomainExtension -DomainName <Domain name> -Credential <domain Cred> -Restart -ResourceGroupName <resource group name> -VMName <vm name> -Name <Extension Name> -TypeHandlerVersion "1.3" -JoinOption 3

    這里又衍生出另一個問題,credential如果寫在腳本中,很有可能是以明文的形式,這樣肯定是不行的,如何能保證credential的安全呢?一種方法是可以通過Get-Credential實現(xiàn),將賬戶密碼直接以加密形式保存在變量里。但是這樣的話加域過程中,還需要一些人為的參與。除此之外,其實還可以通過Azure的key vault服務(wù),將賬戶密碼保存在key vault中,通過powershell進行調(diào)取

    Azure Key Vault 是一個用于安全地存儲和訪問機密的工具。 可以通過Azure Key Vault保存例如API 密鑰、密碼或證書等關(guān)鍵信息。舉例來說,我們可以把有權(quán)限加域的域賬戶賬戶名和密碼保存在key vault中,然后通過PowerShell獲取這些信息,作為加域的credential進行加域操作

    創(chuàng)建key vault的方法很簡單,首先在Azure中選擇好Key Vault服務(wù),點擊添加

Azure自動化部署運維淺談

    這里輸入一些基本信息,比如location, vault的名字等

Azure自動化部署運維淺談

    創(chuàng)建完成后,因為我們是要保護一些明文信息,所以只需要選擇secrets即可,如果是要保存證書,也可以選擇certificates,選擇generate secret

Azure自動化部署運維淺談

    之后分別錄入domain username以及domain password

Azure自動化部署運維淺談

    Azure自動化部署運維淺談

    可以看到這些信息在key vault里是以加密的形式存在的,之后可以通過PowerShell命令Get-AzureKeyVaultSecret獲取這些值

    運行Get-AzureKeyVaultSecret -VaultName mxytestvault -Name domainuser可以看到這個secret的相關(guān)信息

Azure自動化部署運維淺談

    如果獲取這個secret的secretvalue,會看到這是一個加密的字符串

Azure自動化部署運維淺談

    如果想獲取明文信息,可以獲取SecretValueText屬性

Azure自動化部署運維淺談

    通過這種方式,即可實現(xiàn)無人參與的部署,同時又能保證信息的安全

    下邊來看下具體如何將key vault與vm extension結(jié)合在一起,實現(xiàn)自動化的部署操作

    假設(shè)要加域的VM都在一個資源組中,則可以通過以下腳本,直接將資源組中的VM添加到域中

    腳本內(nèi)容如下:

param (     [parameter(Mandatory = $true)]     [string]$RGName,#資源組名     [parameter(Mandatory = $false)]     [string]$vaultname = "mxytestvault",#Azure key vault 名稱     [parameter(Mandatory = $false)]     [string]$Domain = "mxyo365.com" #要加入的域名 ) function Join-Domain {     param (         [Parameter(Mandatory = $true)]         $RGName,         [Parameter(Mandatory = $true)]         $VMName,         [Parameter(Mandatory = $true)]         $Cred                                )               #filter dc vms      if ($VMName -notlike "*DC*") {         #Get Azure vm         $vm = Get-AzureRmVM -ResourceGroupName $RGName -Name $VMName -erroraction SilentlyContinue         if ($vm -ne $null) {             $ExtensionName = $VMName + (Get-Random -Minimum 1 -Maximum 100)                          try {                 #join domain with Azure dommain extension                 $Error.Clear()                 Write-Output "Setting domain join extension for vm $VMName, extension name:$ExtensionName"                 Set-AzureRmVMADDomainExtension -DomainName $Domain -Credential $Cred -Restart -ResourceGroupName $RGName -VMName $VMName -Name $ExtensionName -TypeHandlerVersion "1.3" -JoinOption 3                  }             catch {                 Write-Output $Error[0].Exception.Message             }         }         else {             Write-Output "VM $VMName does not exist."                      }     }      } #Get secret with PowerShell $domainuname = (Get-AzureKeyVaultSecret -VaultName $vaultname -Name domainuser).SecretValueText Write-Output "Get username from vault $vaultname" $domainfulluname = "$domainuname@$Domain" $domainpwd = (Get-AzureKeyVaultSecret -VaultName $vaultname -Name domainpassword).SecretValue Write-Output "Get password from vault $vaultname" #Create credential with secret  $DomainCred = New-Object System.Management.Automation.PSCredential($domainfulluname, $domainpwd) #Get VMs $VMS = Get-AzureRmVM -ResourceGroupName $RGName foreach ($VM in $VMS) {     Join-Domain -RGName $RGName -VMName $VM.Name -Cred $DomainCred }

腳本運行時,只需要指定資源組名,vault名稱,要加入的域名即可

.\RGJoinDomain.ps1 -RGNAME test -vaultname mxytestvault -Domain mxyo365.com

通過提示可以看到,Web01和web02已經(jīng)成功安裝extension

Azure自動化部署運維淺談

登錄到VM后,可以看到WEB01和WEB02都已經(jīng)加入到域中了

Azure自動化部署運維淺談

Azure自動化部署運維淺談

 加域完成后,如果希望能安裝一些IIS等功能角色,或者是軟件,可通過Azure VM extension實現(xiàn),方法很簡單,以下是通過extension安裝IIS角色的腳本

param(     [Parameter(Mandatory = $true, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true)]     [Alias('VMName')]     [string]$Name,     [Parameter(Mandatory = $true, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true)]     [string]$ResourceGroupName ) begin {          Write-Output "Start to install IIS for vms" } process {     try {         $ExtensionName = $Name + "-IIS-" + (Get-Random -Minimum 1 -Maximum 100)         Write-Output "Trying to install iis for vm $Name, extension name:$ExtensionName"              $vm=Get-AzureRmVM -ResourceGroupName $ResourceGroupName -Name $Name -ErrorAction Stop         Set-AzureRmVMExtension `             -ResourceGroupName $ResourceGroupName `             -ExtensionName $ExtensionName `             -VMName $Name `             -Publisher Microsoft.Compute `             -ExtensionType CustomScriptExtension `             -TypeHandlerVersion 1.4 `             -SettingString '{"commandToExecute":"powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)"}' `             -Location $vm.Location              }     catch {         Write-Warning $_     } } end { }

    這個腳本是支持管道操作的,運行起來非常方便,比如想給包含web名稱的服務(wù)器安裝IIS,可以首先篩選出來這些服務(wù)器,然后通過管道將值傳給install-iis腳本,即可通過extension進行安裝

    Get-AzureRMVM -ResourceGroupName test|?{$_.name -like *web*}|install-iis.ps1Azure自動化部署運維淺談

    安裝完成IIS后,腳本會在default頁添加計算機名,訪問計算機公網(wǎng)IP時,可以看到已經(jīng)可以顯示計算機的名稱

    Azure自動化部署運維淺談

Azure自動化部署運維淺談

    實際上VM extension在運行時,會將命令的內(nèi)容下載到VM內(nèi)部運行,可以在C:\Package\Plugins里看到這些extension的目錄

Azure自動化部署運維淺談

    可以直接在文件夾里看到extension運行的狀態(tài)

Azure自動化部署運維淺談

    也可以在C:\WindowsAzure\Logs\Plugins\Microsoft.Compute.CustomScriptExtension\1.9.3找到對應(yīng)的log等信息

    Azure自動化部署運維淺談

    基本上就是這樣,當然這只是拋磚引玉,Azure VM的extension還是很好用的,可以做多一些嘗試

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

當前文章:Azure自動化部署運維淺談-創(chuàng)新互聯(lián)
網(wǎng)頁鏈接:http://newbst.com/article46/dggoeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作品牌網(wǎng)站設(shè)計App開發(fā)網(wǎng)站制作定制開發(fā)軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)