iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 18
0
Everything on Azure

玩轉 Azure 於指尖隨心所欲系列 第 18

容器式網站不求人,Azure WebApps for containers 實驗給你看

現在到處都是要容器容器的....跟五六年前虛擬化掛嘴邊的榮景滿類似的...

簡單描述一下何謂容器(container)?
這與傳統虛擬化(Virtual Machine)都屬虛擬化技術,但與傳統需要安裝作業系統的虛擬化不同,container技術是共用底層 OS 的資源運算,從 OS 層級的虛擬化轉為應用程式層級的虛擬化,讓原本所需的資源大為降低、執行速度也飛快許多.

最有名的容器技術就屬(Docker)一個開放原始碼軟體專案,讓應用程式布署在軟體容器下的工作可以自動化進行,藉此在Linux作業系統上,提供一個額外的軟體抽象層,以及作業系統層虛擬化的自動管理機制。 Docker利用Linux核心中的資源分離機制,例如cgroups,以及Linux核心命名空間,來建立獨立的軟體容器..來自於維基百科的參考
圖中兩遍的架構應該明顯看出底層隔離上的差異性就此點出為何容器化會是未來的趨勢.
https://ithelp.ithome.com.tw/upload/images/20181018/20025481mpbv93MS3I.png

今天的示範其實並不是完全的容器化介紹.而是Azure WebApps佈建走容器化,所以主要的操作主角還是WebApps喔!
就直接新增資源-->搜尋WebApps
https://ithelp.ithome.com.tw/upload/images/20181018/20025481jgz6077nyk.png

今天先單純一點不先整合SQL,直接選最下面WebApps
https://ithelp.ithome.com.tw/upload/images/20181018/20025481RjeDIWI1M0.png

這裡的重點就是OS請改成Linux,發佈請用Docker
https://ithelp.ithome.com.tw/upload/images/20181018/20025481r21Qt5R71V.png

每個WebApps就想像成只是一個IIS網站下的一個虛擬目錄租用一個掛載的網站,但還是需要有底層的計算資源的,預設是共用D1規格名稱亂數,依需求調整https://ithelp.ithome.com.tw/upload/images/20181018/20025481aDjfGxVAGU.png

我另外選取所需的規格,有為開發測試的規格分類,重點是下面所支援的功能以及CPU / Memory大小視需求選用
https://ithelp.ithome.com.tw/upload/images/20181018/20025481sEZcV6pIyA.png

這就是屬於標準正式環境建議採用的規格,包含還有更高階的ASE串接內部虛擬網路與更多的自動擴展所分配的資源數量
https://ithelp.ithome.com.tw/upload/images/20181018/20025481X1QsJWLeVU.png

這是最貴的.....隔離式規格(小弟就這型沒有機會玩到...)
https://ithelp.ithome.com.tw/upload/images/20181018/20025481MMFJTBf96o.png

自選一個基本型B1做測試即可
https://ithelp.ithome.com.tw/upload/images/20181018/20025481tc6UizgOw3.png

第一次新手就用快速懶人佈建吧!不要一下子就傷了幼小的心靈
https://ithelp.ithome.com.tw/upload/images/20181018/20025481x7qeGaWarZ.png

Sample我選Nginx
https://ithelp.ithome.com.tw/upload/images/20181018/20025481vliC2ivlhA.png

選完後整個會驗證設定是否OK
https://ithelp.ithome.com.tw/upload/images/20181018/20025481j1vG5VXAq7.png

很快地建立完成後就看到分別是網站WebApps與網站主機AppService(只是PaaS服務不需要管原生的OS)
https://ithelp.ithome.com.tw/upload/images/20181018/200254816YyOnaQ2AP.png

點選WebApps的概觀就看到右上方有URL網址直接來試試看
https://ithelp.ithome.com.tw/upload/images/20181018/20025481oFaQOsyFmM.png

OK,是Nginx首頁沒有問題!
https://ithelp.ithome.com.tw/upload/images/20181018/20025481LO1HDGZdRX.png

因為簡單的範例Image就是走Public跟Docker Hub提取下載到Azure上的,故依樣畫葫蘆來試一下其他的Image
改選一個Httpd範例映像
https://ithelp.ithome.com.tw/upload/images/20181018/20025481q51m5pN0aR.png

比去年剛測試的簡單超多.....你只要改一下要的範例名稱存檔就好...大概要等一下的時間
https://ithelp.ithome.com.tw/upload/images/20181018/20025481VjLeGjQBMV.png

重新更新網頁就看到已經變更了...
https://ithelp.ithome.com.tw/upload/images/20181018/20025481tFEjmvc9Li.png

不過這樣怎麼能算玩到容器呢!有發現到WebApps上容器項目有一個是紅色警示嗎!這是可以用內部的ACR來提取佈建的.
但因為我連這服務在哪都不知道當然是找不到喽!
https://ithelp.ithome.com.tw/upload/images/20181018/20025481dtamAxrh6a.png

來吧!繼續給他選到容器找到上面數下來第三位容器登錄@@還是叫ACR比較方便
https://ithelp.ithome.com.tw/upload/images/20181018/200254816sVNT2yjnn.png

地區記得都要一致,規格就基本就好...測試期間成本至上
https://ithelp.ithome.com.tw/upload/images/20181018/20025481em0bJfcpB5.png

很快的就把外殼建立完成
https://ithelp.ithome.com.tw/upload/images/20181018/20025481cGgEQ1PVrX.png

記得把這ACR最重要的金鑰資訊複製記錄起來,等等會用到
https://ithelp.ithome.com.tw/upload/images/20181018/20025481OM83bYJzYz.png

因為我的NB是Mac沒有Windows就下載for Mac的Docker工具等等要安裝來用
https://ithelp.ithome.com.tw/upload/images/20181018/20025481gL3CL4IaP3.png

Mac的捧油...這Docker軟體底兩下掛載起來提示把左方軟體程式Copy至右方,請照做即可
https://ithelp.ithome.com.tw/upload/images/20181018/2002548133OgoBHYNn.png

記得登入一下Docker等等才能用docker指令
https://ithelp.ithome.com.tw/upload/images/20181018/20025481aCd6rnKfz7.png

這段是我很白癡的畫面...好吧!還是公開一下當借鏡.
看起來Docker指定都正常,最愛秀的就是檢視版本/images/emoticon/emoticon07.gif
https://ithelp.ithome.com.tw/upload/images/20181018/20025481gFfRAdaa59.png

看似一切都很正常....動作就是提取微軟做好的範例偷吃步的丟到我的ACR肚子當作我自己的映像檔
https://ithelp.ithome.com.tw/upload/images/20181018/20025481RNNjLUKhQD.png

最後要上傳至ACR....這是啥...沒有驗證直接GG...靠邀@@對齁...我又沒有登入Azure ACR中哪來的權限阿
https://ithelp.ithome.com.tw/upload/images/20181018/20025481voODkWelR9.png

有看到第一行嗎!!剛剛ACR上不是一開始就再三叮嚀金鑰資訊很重要...就用在這啦!沒驗證登入是在傳爽的喔!/images/emoticon/emoticon50.gif
https://ithelp.ithome.com.tw/upload/images/20181018/20025481hVkHnfQl18.png

已經上傳完成喽!檢查一下ACR的存放庫肚子內有沒有.....就是它啦
https://ithelp.ithome.com.tw/upload/images/20181018/20025481Fw9SmB8WXu.png

再回到WebApps上的容器找到透過ACR佈建....嘿嘿..把惱人的紅色去除掉了,超方便都是下拉選單,因為我只有一個非常一目了然,選好就存檔.
https://ithelp.ithome.com.tw/upload/images/20181018/20025481Enapv1IVwt.png

在重新整理此WebApps網站耶呼!!就是它啦
https://ithelp.ithome.com.tw/upload/images/20181018/20025481nUjNLwKJhQ.png

快速推拿....ㄜ!不是!是推送指令整理:
登入 ACR
docker login --username --password

推送映像到 ACR
docker pull microsoft/aci-helloworld
docker tag microsoft/aci-helloworld /aci-helloworld:v1

今天WebApps for Docker的簡單示範就先到這!明天再會......81


上一篇
網站資料傳輸龜速....Azure CDN 可以幫助到你(內附儲存體靜態網站新玩意)
下一篇
搭上容器服務熱潮,來試試 Azure Container Instances (ACI) 吧!
系列文
玩轉 Azure 於指尖隨心所欲32

尚未有邦友留言

立即登入留言