Windows Azure雲服務用命令列管理雲端

來源:互聯網
上載者:User
關鍵字 雲服務 Azure Azure 命令列 管理雲端

幾個星期前,我發表了一篇關於Windows Azure 雲服務的博客。 我正在挖掘新的東西,並且在Mac,PC和Linux(我更喜歡Ubuntu)上做著不同的嘗試。 作為很長一段時間的PowerShell和命令列的粉絲,我一直在尋找在「文字模式」中處理事務的方法,以及腳本網站的創建和部署。

原來有一大堆用命令列訪問Azure的方法-比我想像的還多。 有一個基於JSON的Web API,這會讓那些工具終止對話。 如果你想的話,你當然可以直接調用那些API,但是命令列工具確實非常有趣。

Windows PowerShell Cmdlets Mac 命令列工具 Linux 命令列工具

你可以在Mac上安裝Mac Azure SDK 安裝程式來獲得這些工具以及更多,或者,如果你在Windows或Mac或Linux上安裝node.js,你可以用Node Page Manager(npm)來像這樣安裝Azure:

npm install azure --global

你也可以用apt-get或者其他存儲命令。 在這之後,你可以運行「azure」,這能以非常直觀的方式為你提供連結在一起的命令。 「azure topic(名詞)動詞選項」或者「azure 網站清單」或者「azure 虛擬硬碟創建」,如下:

甚至有ASCII碼 的藝術,誰能不喜歡它呢。

認真的說,雖然它是很老套的。 這裡有一個我剛剛做的交互的例子。 我削減了一些無聊的東西,但是這是始于一個全新的沒有安裝工具的機器,並用我的Windows Azure 帳戶結束交互的。

scott@hanselmac:~$ npm install azure


npm HTTP GET HTTPs://registry.npmjs.org/azure


...bunch of GETS...


scott@hanselmac:~$ azure


info: _ _____ _ ___ ___


info: /_\ |_ / | | | _ \ __|


info: _ ___/ _ \__/ /| |_| | / _|___ _ _


info: (___ /_/ \_\/___|\___/|_|_\___| _____)


info: (_______ _ _) _ ______ _)_ _


info: (______________ _ ) (___ _ _)


info:


info: Windows Azure: Microsoft's Cloud Platform


info:


info: Tool version 0.6.0


...bunch of help stuff...





scott@hanselmac:~$ azure account download


info: Executing command account download


info: Launching browser to HTTP://go.microsoft.com/fwlink/?LinkId=254432


help: Save the downloaded file, then execute the command


help: account import <file>


info: account download command OK


scott@hanselmac:~$ cd ~


scott@hanselmac:~$ cd Downloads/


scott@hanselmac:~/Downloads$ ls


3-Month Free Trial.publishsettings


scott@hanselmac:~/Downloads$ azure account import 3-Month\ Free\ Trial.publishsettings


info: Executing command account import


info: Setting service endpoint to: management.core.windows.net


info: Setting service port to: 443


info: Found subscription: 3-Month Free Trial


info: Setting default subscription to: 3-Month Free Trial


warn: Remember to delete it now that it has been imported.


info: Account publish settings imported successfully


info: account import command OK


scott@hanselmac:~/Downloads$ azure site list


info: Executing command site list


+ Enumerating locations


+ Enumerating sites


data: Name State Host names


data: ----------------- ------- -------------------------------------------------------------


data: superawesome Running superawesome.azurewebsites.net,www.acustomdomain.com


info: site list command OK


scott@hanselmac:~/Downloads$ azure site list --json


[


{


"AdminEnabled": "true",


"AvailabilityState": "Normal",


"EnabledHostNames": [


"superawesome.azurewebsites.net",


"www.acustomdomain.com"


],


"HostNames": [


"ratchetandthegeek.azurewebsites.net",


"www.ratchetandthegeek.com"


"State": "Running",


"UsageState": "Normal",


"WebSpace": "eastuswebspace"


}


]

這兒是我如何用命令列創建並啟動一台虛擬機器的。 首先我會列出可用的鏡像,我可以用那些鏡像來開始,然後我就來創建它。 我等待它準備就緒,然後就開始和準備遠端連線(RDP,SSH,等等)。

scott@hanselmac:~$ azure vm image list


info: Executing command vm image list


+ Fetching VM images


data: Name Category OS


data: -------------------------------------------------------------------------- --------- -------


data: CANONICAL__Canonical-Ubuntu-12-04-amd64-server-20120528.1.3-en-us-30GB.vhd Canonical Linux


data: MSFT__Windows-Server-2012-RC-June2012-en-us-30GB.vhd Microsoft Windows


data: MSFT__Sql-Server-11EVAL-11.0.2215.0-05152012-en-us-30GB.vhd Microsoft Windows


data: MSFT__Win2K8R2SP1-120514-1520-141205-01-en-us-30GB.vhd Microsoft Windows


data: OpenLogic__OpenLogic-CentOS-62-20120531-en-us-30GB.vhd OpenLogic Linux


data: SUSE__openSUSE-12-1-20120603-en-us-30GB.vhd SUSE Linux


data: SUSE__SUSE-Linux-Enterprise-Server-11SP2-20120601-en-us-30GB.vhd SUSE Linux


info: vm image list command OK


scott@hanselmac:~$ azure vm create hanselvm MSFT__Windows-Server-2012-RC-June2012-en-us-30GB.vhd scott superpassword - -location "West US"


info: Executing command vm create


+ Looking up image


+ Looking up cloud service


+ Creating cloud service


+ Retrieving storage accounts


+ Creating VM


info: vm create command OK


scott@hanselmac:~$ azure vm list


info: Executing command vm list


+ Fetching VMs


data: DNS Name VM Name Status


data: --------------------- -------- ------------


data: hanselvm.cloudapp.net hanselvm Provisioning


info: vm list command OK

這是給Mac,Linux和可選的Windows的命令列工具。 (如果你安裝node,並運行「npm install azure--global」)並且,還有Windows管理員使用的PowerShell命令。 值得注意的是, 您可以簽出所有代碼,因為它們在github上的HTTP://github.com/windowsazure 都是開源的。 事實上,整個命令列應用程式是用JavaScript編寫的。

正如管理工具的命令列版本有一個非常具體的和舒服的名詞/動詞/選項的風格, comdlets也非常有「PowerShelly」風格,並且會讓使用PowerShell的人感到非常舒服。 文檔和工具是在預覽的模式下,並且正在開發中,所以你在文檔中會發現一些漏洞。

這些PowerShell命令可以一起工作,並且資料在它們之間傳輸。 在這裡創建了一個新的Azure 虛擬機器配置,而它的機器名是從清單中選出的,然後config物件被傳遞到New-AzureVM中。

1: C:\PS>New-AzureVMConfig -Name "MySUSEVM2" -InstanceSize ExtraSmall -ImageName (Get-AzureVMImage)[7]. ImageName `

2: | Add-AzureProvisioningConfig –Linux –LinuxUser $lxUser -Password $adminPassword `

3: | New-AzureVM

接下來,我想找出如何用命令列啟動一整個場網站,如何將一個應用程式部署到新的網路場,以及為場配置流量,然後頻繁地載入測試,這些都使用命令列獲得。 這將會多麼有趣!

贊助者:我要感謝這周在DevExpress贊助源的同事們。 看看他們的DXperience工具,實在是太棒了。 你能用ASP.NET和Web Forms創建一個基於web的iPad應用程式。 我個人印象非常深刻。 DevExpress 引入的DXperience 12.1-技術環境正在發生改變,並且新的平臺正在興起。 新的DevExpress 工具在桌面上,在Web上或者跨越各種各樣的觸摸行動裝置中提供下一代使用者體驗。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.