uncategorized

Azure Container Service初體驗

研究Docker時候,總是在想為了來使用Docker技術,我必須架設具有Container機制的Server,或是在自己PC上使用Docker for Windows建立Container,然後才可以使用Docker Image,雖然不複雜,但有時候也覺得不方便,尤其在寫程式時候,會需要做到測試部分,會用到Docker建置相關環境,如果這環境會被地域限制住,感覺又那樣不方便,在Azure上看到一個叫做Azure Container Service的東西,感覺這東西就像把Container變成PaaS,可以方便來使用

Azure Container Service


Azure Container Service是採用標準的Docker容器規範,所以,目前市面上的Docker技術,都是可以被放入這裡面,而在Azure Container Service內有三種模式可以選擇,分別為DC/OSDocker SwarmKubernetes

  • Docker Swarm 使用Docker CLI
  • DC/OS使用DCOS CLI
  • Kubernetes使用kubectl

可以依照個人習慣或是喜好來選擇自己想要的模式,後面範例會採用Docker Swarm模式來做操作,預設Azure中沒有Azure Container Service,必須自己到Marketplace安裝Azure Container Service服務,到Marketplace搜尋Azure Container Service,就可以找到此服務

找到之後,就能進行安裝Azure Container Service,這時候可以自己選擇自己想要的Docker模式

設定Azure Container Service


進入設定模式,大致上會有四個步驟要進行,首先,要設定你服務的基本配置,如前面所提,這裡選定Swarm作為我的Docker模式

基本設定完後,就設定服務的位置和連線進入的憑證

  • DNS︰用來為主要節點網域名稱的前置詞。
  • 使用者名稱︰在叢集中每個 Linux 虛擬機器上帳戶的使用者名稱。
  • SSH RSA 公開金鑰:新增要用於對 Linux 虛擬機器進行驗證的公開金鑰。
  • 主要主機計數:叢集中主要主機的數目。

後續就是要建立Agent,雖然,感覺是在用Container的PaaS,但實際上背後還是透過VM方式建立Container,所以,這邊必須選定啟用多少agent以及要使用的VM大小

完成後,會產生這樣的資訊

只要確認無誤後,按下OK,就開始建立了,不過,這樣建立需要一點點時間,建立完畢後,在你剛剛設定的資源群組中會發現被添加了許多的Azure服務

與Azure Container Service連線


如果要跟Azure Container Service連線,因為先前我們在建立此服務時候,是使用SSH Key,所以,連線時候必須要有可以透過SSH連線的Client軟體,這裡我使用是PuTTY的軟體進行,因此,這邊開啟Putty,進行連線設定,在Host Name部分,在containerservice-XXX內的Master FQDN可以找到,而Port部分就輸入2200

連線資訊設定完成後,就是設定Auth登入資訊,這邊提供剛剛在Azure Container Service的SSH私鑰,它會是.PPK的檔案

最後,就是設定對應的Port資訊,因為,這邊是採用Swarm,所以,對應的Port都使用2375

都設定完成後就可以開始連線,進去之後輸入docker info就可以看到關於docker的資訊了

以上方式就可以建置屬於Linux的Container,如果今日你要安裝的Docker Image是屬於Windows Container,就不能使用Swarm模式,必須使用Kubernetes模式,透過這樣方式,後續要在VSTS進行DevOps中的測試時候,也可以透過這樣方式進行,就不需要額外自行架設VM進行管理,至於,對於企業來說怎樣比較方便,後續還是要有實際案例再來進行比較,使用哪一種方式會是比較簡潔好用

文中有提到關於SSH相關設定,要知道怎樣設定SSH,可以參考這篇
- 建立Azure管理中的SSH金鑰