本文為spring cloud與阿裡雲容器服務系列文章的第二篇,讨論了如何将示例代碼一鍵部署到阿裡雲容器服務上。為了比較全面地展示高可用和負載均衡的能力,這裡也會示範如何建立虛拟專有網和負載均衡。
二、部署spring cloud應用示例(本文)
本步準備工作是可選的,但基于安全性和網絡效率的考慮,強烈建議使用者使用vpc網絡,原因是支援經典網絡的overlay的網絡帶寬損耗很大,而基于vpc的網絡可以做到基本無損。
在<code>專有網絡vpc</code>控制台中選擇<code>華東1</code>地域,點選<code>建立專有網</code>按鈕。

進入建立專有網頁面,填寫<code>專有網名稱</code>字段,例如<code>vpc-springcloud</code>,點選<code>确定</code>按鈕建立vpc。
在建立成功頁面點選<code>管理交換機</code>
在管理交換機頁面建立一個交換機,命名為<code>vs1</code>,配置網段。
本步準備工作是可選的,可以在建立叢集後,建立應用之前完成,如果隻是用于非生産環境的嘗試,也可以用容器服務在建立叢集是自動配置的slb來做,這裡就不示範了。
進入負載均衡控制台建立負載均衡,選擇<code>華東1</code>區,其他設定保持不變,點選<code>立即購買</code>按鈕,支付後靜候短信通知。
負載均衡建立成功後回到控制台,點選<code>端口/健康檢查</code>一欄裡的<code>配置</code>連結。
在監聽和伺服器配置頁面,建立一個監聽:前端http 8080端口,背景8080端口。
點選<code>下一步</code>進入<code>健康檢查配置</code>頁面,将<code>檢查路徑</code>設定為<code>/acs</code>。
示例規格為2節點 2核4g或以上,設定密碼,點選<code>建立叢集</code>按鈕。
注意:開通的叢集規格一定要有2個節點,原因是2個gateway容器,每個容器都會映射 到同一個主機端口,如果隻有1個節點會導緻隻有一個gateway能夠啟動成功。另外,每個 節點的配置最好在2核4g以上,否則會出現因為記憶體不足造成java應用啟動失敗,或啟動 時間過長。
應用名稱定為<code>springcloud-demo</code>,點選<code>使用編排模版建立</code>按鈕。
進入模版編輯器。注意其中的<code>${slbname}</code>将來會替換為前面建立的負載均衡名字或id。
點選<code>建立并部署</code>按鈕,在對話框中輸入負載均衡id,确認後建立應用。
點選通路端點,進入eureka頁面,在這個頁面中可以看到所有注冊到eureka的服務的狀态。其中<code>foo</code>服務的執行個體數目為1。
我們嘗試将<code>foo</code>服務的數目從1增加到2,點選<code>變更配置</code>連結:
進入服務的配置更改頁面,将<code>容器數量</code>從1改為2。
服務更新完成後回到eureka頁面,可以看到其中foo服務的示例數已經由1變成2了。
我們已經了解了如何把建立好的鏡像部署到阿裡雲容器服務上。如果更改了代碼,如何建構鏡像呢,如何在本地開發環境中運作應用呢?
運作前需要修改腳本中的<code>regprefix</code>變量。
運作前需要修改腳本中的<code>regprefix</code>變量,并docker登入。
在項目根目錄下運作如下指令即可啟動本地測試環境。
本文示範了如何在本地開發環境中編譯并運作spring cloud應用,以及如何将spring cloud應用部署到阿裡雲容器服務上。随後文章會詳細介紹spring cloud應用容器化的細節。