容器應用測試的妙招推薦!

微軟技術棧 發表於 2021-10-16

image.png
03dbf7b884ad4f66b3534173d719462a.jpg

什麼是容器應用

傳統虛擬機器是對硬體資源的虛擬化

a2eaf6d8356cdd8217275b57dea0705f.png

容器的虛擬化層級比虛機要高一級,它是對作業系統的虛擬化。

abb3ec7249dc549a05f0e8cc771d1d0a.png

容器應用就是把軟體本身及依賴元件打包在一起組成的一個軟體包。它可以在安裝了容器引擎的系統上執行。

容器應用的組成方式為docker映象。docker映象可以分為多層,其最上層為可寫,其它層為只讀。如下為一個docker映象例子:

82b0e6f6ef205986a63f82a9d4d41376.jpg
容器應用與普通應用相比,它具有如下特點:

  • 系統資源使用率高

由於容器不需要進行硬體虛擬以及執行完整作業系統等額外開銷,容器對系統資源的利用率更高。

  • 啟動更快

容器應用執行於宿主核心,無需啟動完整的作業系統,因此可以做到秒級、甚至毫秒級的啟動時間。

  • 執行環境始終保持如一

開發過程中一個常見的問題是環境一致性問題。容器應用提供了除核心外完整的執行時環境,確保了應用執行環境一致性。

  • 遷移輕鬆

容器執行時確保了執行環境的一致性,因此應用的遷移更加容易。

  • 維護和擴充套件輕鬆

容器引擎使用的分層儲存映象,使得應用重複部分的複用更為容易,也使得應用的維護更新更加簡單,基於基礎映象進一步擴充套件映象也變得非常簡單。

對容器應用快速測試

測試流程如下所示:

be7034da70e15663ff5cb75e303f61ea.png
Azure 容器例項是一種解決方案,它提供了託管無伺服器方式容器應用的執行方案。它提供了執行容器的最簡捷的方式,你不用管理虛機,也不用管理其它的服務環境。

下面我們看一下如何快速對一個容器應用進行快速的部署測試:

  1. 準備資源

登入之後,我們首先建立一個資源組。

az group create --name acitest --location eastus

1397d7da8979ea84ecc7fb99b3d588e1.png

  1. 部署應用。

即把我們的應用放到容器倉庫中去,然後開始部署。我們需要記下輸出中的fqdn的內容:

az container create --resource-group acutest --name mycontainer --image mcr.microsoft.com/

azuredocs/aci-helloworld --dns-name-label aci-my-demo --ports 80

c75c45dae8ee765210f747f23b003c77.png
7b088a89b3a9c8f21c9965d44380c4dd.png

  1. 開始測試。

51e18fbe8ca8a6b2252116a5cb3b6195.png

  1. 刪除資源,結束測試。

az group delete --name acitest

常見問題

1. 我的測試應用需要訪問內網資源,請問可以麼?

答:Azure容器例項支援虛擬網路,可以訪問內網資源。請參見:

https://docs.microsoft.com/zh...

2. Azure容器例項支援Windows容器麼?

答:支援。Azure容器例項支援如下Windows Server 2016和Windows Server 2019。更多資訊請參考:

https://docs.microsoft.com/zh...

3. Azure容器例項在中國區有麼?

答:目前我們在東二區已經推出Azure容器例項。

4. Azure容器例項支援哪些容器登錄檔?

答:Azure容器例項支援docker hub, Azure Container Registry以及第三方的登錄檔。這些登錄檔必須能從網際網路訪問。

5. 我的測試環境比較費資源,可能要用數千個CPU核心,我可以用Azure容器例項進行測試麼?

答:某些情況下是可以的,但需要您聯絡技術支援個案處理。 更多資訊請參考:

https://docs.microsoft.com/zh...