國美&華為,戰(zhàn)略合作簽約!
681
2025-03-31
1、什么是容器?
容器是一種基礎工具;泛指任何可以用于容納其它物品的工具,可以部分或完全封閉,被用于容納、儲存、運輸物品;物體可以被放置在容器中,而容器則可以保護內容物;人類使用容器的歷史至少有十萬年,甚至可能有數百萬年的歷史。
2、容器技術的特點
容器的特點其實我們拿跟它跟硬件抽象層虛擬化hypervisor技術對比就清楚了,我們之前也提到過,傳統(tǒng)的虛擬化(虛擬機)技術,創(chuàng)建環(huán)境和部署應用都很麻煩,而且應用的移植性也很繁瑣,比如你要把vmware里的虛擬機遷移到KVM里就很繁瑣(需要做鏡像格式的轉換)。那么有了容器技術就簡單了,總結下容器技術主要有四個特點:
極其輕量:只打包了必要的Bin/Lib;
秒級部署:根據鏡像的不同,容器的部署大概在毫秒與秒之間(比虛擬機強很多);
易于移植:一次構建,隨處部署;
彈性伸縮:Kubernetes、Swam、Mesos這類開源、方便、好使的容器管理平臺有著非常強大的彈性管理能力。
3、容器的標準化
當前,docker幾乎是容器的代名詞,很多人以為docker就是容器。其實,這是錯誤的認識,除了docker 還有coreos。所以,容器世界里并不是只有docker一家。既然不是一家就很容易出現分歧。任何技術出現都需要一個標準來規(guī)范它,不然各搞各的很容易導致技術實現的碎片化,出現大量的沖突和冗余。因此,在2015年,由Google,Docker、CoreOS、IBM、微軟、紅帽等廠商聯合發(fā)起的OCI(Open Container Initiative)組織成立了,并于2016年4月推出了第一個開放容器標準。標準主要包括runtime運行時標準和image鏡像標準。標準的推出,有助于替成長中市場帶來穩(wěn)定性,讓企業(yè)能放心采用容器技術,用戶在打包、部署應用程序后,可以自由選擇不同的容器Runtime;同時,鏡像打包、建立、認證、部署、命名也都能按照統(tǒng)一的規(guī)范來做。
兩種標準主要包含以下內容:
容器運行時標準 (runtime spec)
a). creating:使用 create 命令創(chuàng)建容器,這個過程稱為創(chuàng)建中
b). created:容器創(chuàng)建出來,但是還沒有運行,表示鏡像和配置沒有錯誤,容器能夠運行在當前平臺
c). running:容器的運行狀態(tài),里面的進程處于 up 狀態(tài),正在執(zhí)行用戶設定的任務
d). stopped:容器運行完成,或者運行出錯,或者 stop 命令之后,容器處于暫停狀態(tài)。這個狀態(tài),容器還有很多信息保存在平臺中,并沒有完全被刪除
容器鏡像標準(image spec)
a). 文件系統(tǒng):以 layer 保存的文件系統(tǒng),每個 layer 保存了和上層之間變化的部分,layer 應該保存哪些文件,怎么表示增加、修改和刪除的文件等; b). config 文件:保存了文件系統(tǒng)的層級信息(每個層級的 hash 值,以及歷史信息),以及容器運行時需要的一些信息(比如環(huán)境變量、工作目錄、命令參數、mount 列表),指定了鏡像在某個特定平臺和系統(tǒng)的配置。比較接近我們使用 docker inspect
4、容器的主要應用場景
容器技術的誕生其實主要解決了PAAS的層的技術實現。像OpenStack、Cloudstack這樣的技術是解決IAAS層的問題。IAAS層和PAAS層大家估計也聽得很多了,關于他們的區(qū)別和特性我這里不在描述。那么容器技術主要應用在哪些場景呢?目前主流的有以下幾種:
1、容器化傳統(tǒng)應用 容器不僅能提高現有應用的安全性和可移植性,還能節(jié)約成本。
每個企業(yè)的環(huán)境中都有一套較舊的應用來服務于客戶或自動執(zhí)行業(yè)務流程。即使是大規(guī)模的單體應用,通過容器隔離的增強安全性、以及可移植性特點,也能從 Docker 中獲益,從而降低成本。一旦容器化之后,這些應用可以擴展額外的服務或者轉變到微服務架構之上。
2、持續(xù)集成和持續(xù)部署 (CI/CD) 通過 Docker 加速應用管道自動化和應用部署,交付速度提高至少 13 倍。
現代化開發(fā)流程快速、持續(xù)且具備自動執(zhí)行能力,最終目標是開發(fā)出更加可靠的軟件。通過持續(xù)集成 (CI) 和持續(xù)部署 (CD),每次開發(fā)人員簽入代碼并順利測試之后,IT 團隊都能夠集成新代碼。作為開發(fā)運維方法的基礎,CI/CD 創(chuàng)造了一種實時反饋回路機制,持續(xù)地傳輸小型迭代更改,從而加速更改,提高質量。CI 環(huán)境通常是完全自動化的,通過 git 推送命令觸發(fā)測試,測試成功時自動構建新鏡像,然后推送到 Docker 鏡像庫。通過后續(xù)的自動化和腳本,可以將新鏡像的容器部署到預演環(huán)境,從而進行進一步測試。
3、微服務 加速應用架構現代化進程。
應用架構正在從采用瀑布模型開發(fā)法的單體代碼庫轉變?yōu)楠毩㈤_發(fā)和部署的松耦合服務。成千上萬個這樣的服務相互連接就形成了應用。Docker 允許開發(fā)人員選擇最適合于每種服務的工具或技術棧,隔離服務以消除任何潛在的沖突,從而避免“地獄式的矩陣依賴”。這些容器可以獨立于應用的其他服務組件,輕松地共享、部署、更新和瞬間擴展。Docker 的端到端安全功能讓團隊能夠構建和運行最低權限的微服務模型,服務所需的資源(其他應用、涉密信息、計算資源等)會適時被創(chuàng)建并被訪問。
4、IT 基礎設施優(yōu)化 充分利用基礎設施,節(jié)省資金。
Docker 和容器有助于優(yōu)化 IT 基礎設施的利用率和成本。優(yōu)化不僅僅是指削減成本,還能確保在適當的時間有效地使用適當的資源。容器是一種輕量級的打包和隔離應用工作負載的方法,所以 Docker 允許在同一物理或虛擬服務器上毫不沖突地運行多項工作負載。企業(yè)可以整合數據中心,將并購而來的IT資源進行整合,從而獲得向云端的可遷移性,同時減少操作系統(tǒng)和服務器的維護工作。
【與云原生的故事】有獎征文火熱進行中:https://bbs.huaweicloud.com/blogs/345260
云原生 容器
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。