導語:隨著以Docker為代表的容器技術在國內的迅速發展,容器云也逐漸被廣大開發者所熟知,但容器云(CaaS)相比傳統的云主機(IaaS)在實際應用中還存在著一些鴻溝。為此,我們試圖以通俗精煉的語言向廣大開發者介紹容器的特點,應用場景以及優勢等。【深入淺出容器云】系列文章是由時速云出品,本文是第二篇,歡迎大家不吝賜教。
容器服務 (Container Service)是一種高度可擴展的高性能容器管理服務,服務于應用的完整生命周期。通過Docker容器來運行或編排應用程序,您將不再需要安裝、運維、擴展自己的集群管理基礎設施。容器服務具有簡單易用、靈活彈性、秒級部署等特點,通常具備以下能力:
1)容器托管
提供大規模容器集群管理、資源調度、容器編排、代碼構建,屏蔽了底層基礎構架的差異,簡化了分布式應用的管理和運維。
2)服務發現
為每個服務提供二級域名和端口映射,服務之間可通過內網域名進行訪問,不會受容器重啟、遷移或擴展的影響。服務之間還可通過環境變量鏈接起來。
3)存儲卷
容器服務支持有狀態和無狀態服務。可將高可用、分布式存儲卷直接掛載在容器上,并在容器重啟、遷移過程中自動重新掛載。當容器重新部署時也會隨著容器在不同主機之間遷移。
4)彈性伸縮
容器服務的彈性伸縮通常于秒間對容器進行橫向擴展。同時可對CPU、內存等負載數據進行實時監控,實現全自動/半自動彈性伸縮。
5)負載均衡
提供四層、七層負載均衡將流量引導、分攤到服務每個實例,并根據容器狀態自動對負載均衡進行實時配置,提高應用整體可用性及吞吐量。
6)日志監控
提供全方位的日志監控,自動搜集容器輸出日志,并可保留已中斷的容器的歷史日志。可對容器性能作全方位實時監控。
7)灰度升級
灰度升級是指在升級過程中,在用戶無感知的情況下做到不停機,平滑的升級。灰度發布可以保證整體系統的穩定。
8)容災容錯
基于Kubernetes的容器云具有獨特的容器倉技術,可以保證容器實例的副本數量即使在某個主機出錯的情況下也能維持不變。
下面我們將通過實例,帶你快速體驗容器服務的魅力。
1.登錄時速云后臺,進入容器服務,點擊“創建”按鈕
2.在鏡像來源中選擇一個鏡像,示例中選擇的是PHP鏡像,該鏡像都包含了示例代碼,并開放了SSH,您可以像操作云主機一樣,使用 SSH 或 Putty 等工具連接容器,上傳自己的應用代碼。
3.點擊“部署”后,進入到容器基本配置頁面,輸入“服務名稱”,選擇“容器配置”(建議512M內存以上),勾選服務類型“有狀態服務”,有狀態服務支持將外部存儲卷掛載在容器上,從而實現數據的持久化。存儲卷里的內容通常存儲用戶的應用代碼。默認目錄為“/app”
下圖為存儲卷配置,選擇一個已創建的存儲卷的情況
下圖為北京一區默認的存儲卷,無需手動創建的情況
下圖為存儲卷配置,在沒有創建過任何存儲卷的情況下,可直接創建一個存儲卷
3.在“高級設置”中,可以設置容器的SSH密碼(默認是隨機密碼,用戶名為root,從日志中可以查看到),以及其他參數或者端口設置。
4.點擊“創建”,稍等數秒,容器便創建成功了。如下圖所示:
打開“服務地址”,我們將看到示例的應用:
5.您可以選擇自己熟悉的工具,比如Shell或者Putty等連接容器。 進入“容器詳情”里,選擇“端口”標簽,可以查看“22”端口對應的服務地址:
在“日志”里查看生成的密碼:
連接容器,例如:
ssh root@
6.上傳應用代碼至 “/app” 目錄下。可使用“scp”命令或其他工具上傳。
scp?
7.容器的常用操作
1)彈性伸縮,動態調整實例的數量,多個容器實例間本身就是一個負載均衡集群,當面對海量用戶訪問時,也能輕松應對,而無需再手動添加機器,并搭建負載均衡集群。
2)灰度升級,是指在升級過程中,在用戶無感知的情況下做到不停機,平滑的升級。灰度發布可以保證整體系統的穩定。
3)重新部署,允許您重新選擇鏡像的版本進行部署。
4)更改配置,支持動態調整容器的CPU,內存等配置。
5)使用Web-terminal,可以快速探索容器內部,對于開發調試,有web-terminal十分的方便。
6)綁定自定義域名
?
?
?
您也可以關注我們的官方微信公眾號(ID:ctoutiao),給您更多好看的內容。