通過PowerCLI開始使用vRealize Orchestrator
現(xiàn)在VRealize Orchestrator 8.1讓你可以使用其他語言運(yùn)行腳本,包括PowerCLI,這簡化了整個(gè)vSphere環(huán)境中的任務(wù)自動化。
vRealize Orchestrator的早期版本僅支持將JavaScript作為腳本語言;你只能通過JavaScript訪問命令。這使需要其他語言的某些任務(wù)變得復(fù)雜,例如與微軟產(chǎn)品集成–需要PowerShell。但是,這并沒有阻礙管理員成功開發(fā)定制的工作流程。
Scriptable Tasks與操作
當(dāng)你在vRealize Orchestrator中運(yùn)行PowerCLI腳本時(shí),你可以將其作為Scriptable Task運(yùn)行,或者作為操作運(yùn)行。操作代表靜態(tài)腳本功能,你可以將其拖動到工作流中。你可以反復(fù)使用在操作中使用的代碼,甚至在Scriptable Tasks中也是如此。你可以將操作整理為模塊,這些模塊代表特定操作組。
當(dāng)你使用Scriptable Tasks運(yùn)行工作流時(shí),該工作流可在每個(gè)新的執(zhí)行運(yùn)行時(shí)中將這些任務(wù)作為不同的工作流項(xiàng)目執(zhí)行。
如何在vRealize Orchestrator中運(yùn)行PowerCLI腳本
此前你可以從vRealize Orchestrator執(zhí)行PowerShell代碼,但不能在vRealize Orchestrator服務(wù)器中本地運(yùn)行該腳本,系統(tǒng)會要求你設(shè)置Windows主機(jī)來為你運(yùn)行這些腳本。
你所選腳本語言的解釋器可處理你放置在服務(wù)器Scriptable Task中的所有腳本。這消除了對額外主機(jī)的需求。
與Node.js或Python相比,你可能會更頻繁地使用PowerCLI。PowerCLI是來自VMware的PowerShell擴(kuò)展,它使VMware管理員可以直接為VMware環(huán)境調(diào)用有用的命令,例如大規(guī)模創(chuàng)建或配置VM。
為了測試此功能,請先創(chuàng)建一個(gè)簡單的腳本,以報(bào)告所有具有快照的VM。 請使用get-vm | get-snapshot命令,然后將其格式化以顯示相關(guān)字段:
- get-vm | get-snapshot | format-table created,VM,@{label=”Size in GB”;Expression={“{0:N2}” -f ( $_.SizeGB)}}
如果你的vCenter Server具有自簽名證書,則可能無法創(chuàng)建連接。請輸入命令以指示PowerCLI忽略任何無效的證書,例如:
- Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -ParticipateInCeip:$false -Scope Session -Confirm:$false
然后,通過你的登陸憑證連接到vCenter Server–使用命令Connect-VIServer。由于此命令無需用戶交互即可運(yùn)行,因此請輸入服務(wù)器、用戶和密碼的參數(shù):
- Connect-VIServer -Server $inputs.server -Protocol https -User $inputs.user -Password $inputs.password
如果你從Scriptable Task工作流中運(yùn)行任務(wù),則可能會顯示錯(cuò)誤消息,表明你的內(nèi)存不足。為避免此錯(cuò)誤,請確保在執(zhí)行這些任務(wù)前,可用內(nèi)存超過64 MB。
操作元素
當(dāng)你通過PowerCLI執(zhí)行任務(wù)時(shí),操作元素使你可以保留一定量的RAM。你無法通過criptable Task,來執(zhí)行此操作,但是你可以在操作中編寫腳本,然后從工作流中執(zhí)行操作來解決該問題。
例如,你可以在屬性中為Runtime Limit保留512 MB RAM。
當(dāng)你從工作流執(zhí)行操作時(shí),vRealize Orchestrator會記錄該操作。