日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

(译)如何用命令行在windows Azure上安装负载平衡的web Farm虚拟机(linux或其他)...

發(fā)布時(shí)間:2025/3/21 linux 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (译)如何用命令行在windows Azure上安装负载平衡的web Farm虚拟机(linux或其他)... 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

我一哥們考慮把他的一些基于linux的網(wǎng)站移到Azure上。如果你現(xiàn)在的網(wǎng)站是node.js,?

ASP,ASP.NET,或PHP做的,使用Azure web站點(diǎn)是最容易的。我會(huì)在這篇文章里向你展示如何
在幾分鐘內(nèi)用Git安裝Azure web站點(diǎn)。它們對(duì)你隱藏了底層操作系統(tǒng),自動(dòng)更新,易擴(kuò)展,
而且共享硬盤。

然而,他喜歡虛擬機(jī)和虛擬機(jī)賦予他的控制,另外他可以到處運(yùn)行,移動(dòng)?xùn)|西,控制他的世
界。

我會(huì)在Azure上使用開源的(GitHub)跨平臺(tái)CLI工具(命令行接口)。如果你有node
package manager你可以使用“npm install azure-cli--global”命令導(dǎo)入你的簽名。你也
可以從www.windowsazure.com下載安裝命令行工具。

設(shè)立一個(gè)linux虛擬機(jī)

我們會(huì)用門戶創(chuàng)建一個(gè)初步的虛擬機(jī)(我會(huì)向你展示如何在一分鐘內(nèi)用命令行做到)。這個(gè)
虛擬機(jī)會(huì)被用來設(shè)立一個(gè)虛擬機(jī)鏡像模版。我要?jiǎng)?chuàng)建一個(gè)Ubuntu 13.04服務(wù)器,然后安裝
Apache和PHP。然后我就獲得了一個(gè)我現(xiàn)在安裝的機(jī)器的通用的鏡像,可以被拷貝添加到farm
。這個(gè)鏡像將會(huì)在Azure 門戶的“我的鏡像”里顯示。

注意:在Open Tech VM Depot上有個(gè)很棒的社區(qū)驅(qū)動(dòng)的關(guān)于準(zhǔn)備虛擬機(jī)鏡像的類別。這像是
最值得保存的Azure秘密。我待會(huì)兒會(huì)在上面發(fā)布,但這確實(shí)值得深入查看一下。

從Azure門戶開始,我開始新建|虛擬機(jī)|然后選擇Ubuntu Server 13.04。

名字不重要,但我要配置一個(gè)用戶名和密碼(或者使用SSH密鑰):

注意我要?jiǎng)?chuàng)建一個(gè)獨(dú)立的虛擬機(jī)了:

貼士:如果我根本不想用門戶創(chuàng)建虛擬機(jī),我甚至可以通過命令行編程來發(fā)現(xiàn)虛擬機(jī)鏡像,
然后創(chuàng)建虛擬機(jī)實(shí)例。使用“azure vm list”命令能幫我獲取到可選取的虛擬機(jī)列表。我想
要的那個(gè)Ubuntu是“Ubuntu-13_04-amd64-server-20130501-en-us-30GB”(名字里帶了個(gè)
guid)。所以我只要鍵入“azure vm create MyDNSName ImageName [options]”處理他們。

一旦這個(gè)linux虛擬機(jī)啟動(dòng),我會(huì)通過SSH進(jìn)入。你可以看到Azure已經(jīng)為虛擬機(jī)內(nèi)部的SSH端
口22隨機(jī)匹配了一個(gè)高數(shù)值的公共端口。

我用SSH進(jìn)去。我將要添加Apache,PHP,重啟apache,然后添加一個(gè)test.php,這會(huì)顯示PHP
和當(dāng)前的IP地址都正常工作,如此我就知道哪臺(tái)機(jī)器處理的請(qǐng)求。

我將添加一個(gè) test.php


然后
加入

接著我將退出SSH。虛擬機(jī)默認(rèn)的被鎖上了,所以為了測試這個(gè)我要添加一個(gè)終端。我可以通
過門戶來做,但我更想看看可否通過Azure命令行來做。

運(yùn)行vm endpoint create來匹配外部的80端口到內(nèi)部的80端口。

這時(shí)候我可以點(diǎn)擊mylinuxtemplate.cloudapp.net:80/test.php看是否工作。

酷。這樣我已經(jīng)得到了我想要的linux虛擬機(jī)模版。現(xiàn)在我想把它做成鏡像,這樣就可以做的
更多。這個(gè)linux上的“waagent”和windows上的“sysprep”一樣。

通過SSH會(huì)話,運(yùn)行waagent -deprovision。

windows用戶:如果你是windows用戶,你可以用你喜歡的方式安裝windows,然后運(yùn)
行%windir%\system32\sysprep.exe,獲得一個(gè)虛擬機(jī)的鏡像然后像這篇博文里一樣操作。

我可以關(guān)機(jī)并從門戶獲得一個(gè)鏡像,但是再一次,今天我們要玩命令行。注意,關(guān)機(jī)可能要
花一點(diǎn)時(shí)間。

capture命令會(huì)刪除虛擬機(jī)。記住這只是個(gè)模版。然而,我有一個(gè)可重用的鏡像!我可以看到
azure虛擬機(jī)列表里的鏡像都可用,包括用戶鏡像和gallery鏡像。

注意:當(dāng)你刪除虛擬機(jī),你只是刪除了虛擬機(jī)的配置。你沒有刪除相關(guān)的硬盤,這讓你可以
再次啟動(dòng)虛擬機(jī)。如果你真的想移除這些東西,確保你刪除了虛擬機(jī)實(shí)例并刪除了硬盤。

通過命令行創(chuàng)建一個(gè)linux虛擬機(jī)farm

現(xiàn)在我的存儲(chǔ)賬戶里有了一個(gè)鏡像,可以用它創(chuàng)建N個(gè)虛擬機(jī)。我要開始建一個(gè)虛擬機(jī)。建完
后我可以在“azure站點(diǎn)列表”里看到它啟動(dòng)。當(dāng)機(jī)器準(zhǔn)備就緒,我可以做的更多!確保你使
用--ssh switch否則你無法通過SSH進(jìn)入機(jī)器!

奇怪:Azure有個(gè)概念叫“云服務(wù)”,這是個(gè)很爛的名字。對(duì)我們來說,就把它當(dāng)作我們虛擬
機(jī)的容器吧。這是個(gè)邏輯上的容器,會(huì)包含并關(guān)聯(lián)所有的虛擬機(jī)(和其他的云之類的東西)
到一起。當(dāng)你有一個(gè)虛擬機(jī)的時(shí)候,你將有一個(gè)云服務(wù)關(guān)聯(lián)到它,但你在門戶上看不到這個(gè)
云服務(wù),因?yàn)檫€沒有真正用到。當(dāng)你在一個(gè)容器中有兩個(gè)虛擬機(jī),接著你就會(huì)發(fā)現(xiàn)門戶里出
現(xiàn)了“容器”云服務(wù)。

我現(xiàn)在已經(jīng)創(chuàng)建了一個(gè)hanselmanlinuxfarm 虛擬機(jī),所以也就有了一個(gè)hanselmanlinuxfarm
云服務(wù)“容器”?,F(xiàn)在,我要?jiǎng)?chuàng)建更多的虛擬機(jī),但要和第一臺(tái)虛擬機(jī)連接起來。有兩種方
法。第一種,用命令行里的connect選項(xiàng)。注意,如果你在意的話,你不用這樣控制你的虛擬
機(jī)名字。如果你有上百臺(tái)機(jī)器,你一定不想這樣做。

命令行會(huì)發(fā)現(xiàn)存在的云服務(wù)(還是,“容器”),然后創(chuàng)建一個(gè)新的虛擬機(jī)。我將運(yùn)行這個(gè)
命令兩次,這樣我總共將有3臺(tái)虛擬機(jī)。

很重要:在第二臺(tái)虛擬機(jī)上用到的connect命令被稱作key。這創(chuàng)建了第二臺(tái)(以后還有N+1)
虛擬機(jī)并添加到一樣的云服務(wù)“容器”??雌饋磉@些虛擬機(jī)都互相關(guān)聯(lián)。下一臺(tái)虛擬機(jī)的名
字將是-2,接著-3,等等。但他們也用一樣的外部名字,像
hanselmanlinuxfarm.cloudapp.net。

我將這樣做兩次,每次使用不同的SSH端口號(hào)來匹配內(nèi)部的22端口號(hào)。如果我不想SSH暴露在
外面,之后可以刪除公共終端。

當(dāng)創(chuàng)建一個(gè)linux虛擬機(jī)的時(shí)候,你必須添加一個(gè)--ssh標(biāo)識(shí)到命令行否則你將無法通過SSH進(jìn)
去。確保添加高數(shù)值的端口號(hào),這樣你可以匹配端口22,比如12346->22等等。如果你通過門
戶創(chuàng)建的這些虛擬機(jī),會(huì)隨機(jī)給你分配端口。當(dāng)你通過命令行做的時(shí)候要自己選擇。

這會(huì)兒,azure vm list說我有三臺(tái)。兩臺(tái)已經(jīng)準(zhǔn)備就緒,最后一臺(tái)現(xiàn)在被創(chuàng)建好了。你可以
看到這些虛擬機(jī)在同樣的云服務(wù)“容器”里運(yùn)行,因?yàn)镈NS名是一樣的。這些虛擬機(jī)正式稱呼
是“farm”。

好了,現(xiàn)在通過門戶創(chuàng)建第四臺(tái)虛擬機(jī),只是給你看看。

通過門戶創(chuàng)建一個(gè)linux虛擬機(jī)并添加到farm

就像你知道的,你也可以從門戶添加虛擬機(jī)到你的farm。

給你的新虛擬機(jī)起個(gè)名字,然后“連接到一個(gè)已有的虛擬機(jī)”。我不喜歡這表述,我也很好
奇你是怎么想的?;旧线@里的意思是“添加這個(gè)虛擬機(jī)到虛擬機(jī)集合中”。這無關(guān)那個(gè)你
從下拉列表中選取的,只要你從云服務(wù)“容器”中選取一個(gè)。

我不會(huì)點(diǎn)擊OK,但如果我點(diǎn)擊了,這會(huì)兒我已經(jīng)有第四臺(tái)虛擬機(jī)了,這個(gè)是通過門戶創(chuàng)建的
。

讓我的linux虛擬機(jī)farm負(fù)載平衡

我已經(jīng)有了三個(gè)一樣的虛擬機(jī)運(yùn)行著Apache和PHP還有我的test.php頁面。

讓我打開這三臺(tái)機(jī)器上的80端口。我想讓它們負(fù)載平衡但是不行,這是匹配單一非負(fù)載平衡
的端口方法。

為了負(fù)載平衡的端口我需要使用“create-multiple”。我不僅想一次打開多個(gè)端口,為了負(fù)
載平衡我還想要一個(gè)探索安裝。例如,我用http,如果有從test.php返回的200個(gè)結(jié)果,我會(huì)
希望虛擬機(jī)從farm中拉出來。如果30秒內(nèi)沒有回應(yīng),也將會(huì)把虛擬機(jī)從回轉(zhuǎn)中拉回來。

這里我創(chuàng)建了這些80端口到80端口的匹配,但還更多的監(jiān)控test.php,不只一個(gè)HTTP 200狀
態(tài)。

這里的“HttpTrafficIn”就是我所說的負(fù)載平衡集的名字。

注意:我在做一個(gè)拉取請(qǐng)求來添加一個(gè)通過終端命令查看探索路徑的功能,但現(xiàn)在你可以在
“azure vm show”里看到:

好,現(xiàn)在我們來看一下我是不是已經(jīng)有一個(gè)負(fù)載平衡的farm。

注意:為了從你的Azure虛擬機(jī)(或其他云虛擬機(jī))獲得最好的性能,考慮放入一些像
MySQL/PostgreS 數(shù)據(jù)庫,放到不同的盤上,用不同的緩存大小。你要讓系統(tǒng)盤和數(shù)據(jù)盤分開
。例如,我有一個(gè)windows 虛擬機(jī)運(yùn)行MySQL。系統(tǒng)盤在一個(gè)標(biāo)準(zhǔn)的30G的盤上,但MySQL數(shù)據(jù)
庫在單獨(dú)的一個(gè)5G的附加的盤上。這讓東西分開,整潔,并且性能更好。

查看我的新farm

如果我登入門戶,我可以看到每個(gè)獨(dú)立的虛擬機(jī)或把farm看成一個(gè)“云服務(wù)”。懂?

讓我的farm更可靠

我想確信我的新虛擬機(jī)都在Azure數(shù)據(jù)中心的不同機(jī)架上。我知道它們?cè)凇癢est US”,因?yàn)?
我把它們放在那里,但我不清楚它們是在一個(gè)機(jī)架上還是相鄰的或是其他什么。因?yàn)橐粋€(gè)機(jī)
架在一個(gè)“錯(cuò)誤域”中,意味著一個(gè)機(jī)架可能,我不知道,自爆?我想告訴Azure,所有這些
虛擬機(jī)都是一個(gè)“可用集”的一部分。這個(gè)名字是我用在虛擬機(jī)上的,意思是“通過把它們
分開讓這些機(jī)器更具可用性”。

從門戶上我將選擇第一臺(tái)虛擬機(jī)并選擇配置,然后創(chuàng)建一個(gè)可用集。我把它命名
為“hanselmanlinux”,但它可以是任何名字。

添加可用集意味著Azure可以移動(dòng)我的虛擬機(jī)到數(shù)據(jù)中心的其他任何地方,而且這可能需要重
啟。有時(shí)候很快,有時(shí)候要花一到十分鐘,看最初大小。所以要明白,放在這個(gè)集的東西要
小。

當(dāng)這些做好后,轉(zhuǎn)頭去把其他的虛擬機(jī)一個(gè)個(gè)添加到一樣的可用集里。這看起來像是在門戶
中,現(xiàn)在我保證了我的三臺(tái)虛擬機(jī)都在不同的錯(cuò)誤域(機(jī)架)上。

點(diǎn)擊我的web farm

現(xiàn)在我可以點(diǎn)擊hanselmanlinuxfarm.cloudapp.net/test.php并看到IP改變(還有在門戶中
看到cup利用率的改變)或者甚至可以通過SSH觀察HTOP,得到一個(gè)實(shí)時(shí)的視圖。嗨,我已經(jīng)
有一個(gè)小的Linux farm了!

這里有我用SSH進(jìn)入其中一個(gè),看看htop(比top還棒)

我的完整腳本,總結(jié)

這里是我的完整腳本。我使用azure vm image list | find /I "13_04"來發(fā)現(xiàn)一個(gè)Ubuntu鏡
像。我也可以用bash完成它。

一旦我發(fā)現(xiàn)一個(gè)鏡像,我用命令行在自己選定的路徑下創(chuàng)建我的第一個(gè)虛擬機(jī)。再次,這是
linux,不要忘了-ssh

用你喜歡的方式得到它。用SSH進(jìn)入,安裝,運(yùn)行waagent來prep它。關(guān)閉并捕獲它。

最終,這里有個(gè)基礎(chǔ)腳本文件來安裝5臺(tái)虛擬機(jī)。記住第一條命令不同于后面的。當(dāng)然,用
bash你可以make一個(gè)腳本叫“spinup5”并以你想要的方式自動(dòng)化。在終端創(chuàng)建中HTTP探測器
是可選的。

這些都運(yùn)行完后,我進(jìn)到門戶并手動(dòng)安裝可用集?,F(xiàn)在還只能用powershell,但很快就可用
跨平臺(tái)工具來設(shè)置可用集了!

下次,也許我會(huì)嘗試“azure vm scale”移動(dòng)這些小虛擬機(jī)到8處理器56G的大機(jī)器上。

轉(zhuǎn)載于:https://www.cnblogs.com/ongoing/archive/2013/05/25/3099331.html

總結(jié)

以上是生活随笔為你收集整理的(译)如何用命令行在windows Azure上安装负载平衡的web Farm虚拟机(linux或其他)...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。