容器的那点事
? ? ? ?當我們的后端服務器不夠用的時候,我們可以通過容器技術,可以快速的把這些服務器全部虛擬出來,?當然這個虛擬跟虛擬機是不一樣的,比虛擬機的方式快多了,早期阿里的淘寶平臺如果整個壞掉了,重新搭建部署起來需要一個月的時間,現在,一個小時以內可以把整個淘寶平臺包括天貓和聚劃算等重新搭建部署起來,這是一個非常復雜的系統工程,里面涉及的工程太多了,但是基于阿里云,通過容易容器,可以在一個小時以內把這套平臺全部重新搭建運行起來。
? ? ? ?談到容器就不得不提Docker和Kubernetes,這幾天,相信大家都看到了Kubernetes社區發生了一件大事,1.20版本宣布放棄Docker,容器圈內一下子炸鍋了????????????。
我們先來看一下Docker和Kubernetes分別是什么?
1、Docker,它是一個開源的應用容器引擎,開發者可以打包他們的應用及依賴到一個可移植的容器中,發布到流行的Linux或者Windows機器上,也可實現虛擬化。但是Docker僅僅是容器的一種,容器還有其它類型的容器,比如rkt、runV,不同類型的容器提供的api并不完全一樣,所以Kubernetes要創建這些容器,就需要調用不同的接口。
2、Kubernetes,發音[kub?’netis],重音在第三個音節,讀音:庫伯耐踢死,硅谷的人起名喜歡把一個單詞首字母+跳過的字母數來進行縮寫,比如亞馬遜的Algorithms被縮寫成A9,而kubernetes縮寫為k8s,意思就是k后面跳過8個字母后到s,就變成了k8s;它是谷歌的第三個容器集群管理系統(前兩個:Borg、Omega,這兩個是谷歌內部系統,k8s是開源的),Kubernetes在Docker技術之上,為容器化的應用提供了資源調度、自動化部署運行、服務發現和自動擴容縮容等豐富多樣的功能。在項目公開后不久,微軟、IBM、VMware、Docker、CoreOS以及SaltStack等多家公司便紛紛加入了Kubernetes社區,為該項目發展作出貢獻。
我們再來看看Kubernetes的強大應用
1、k8s是一個編排容器的工具,其實也是管理應用的全生命周期的一個工具,從應用集群創建,應用部署,應用提供服務,應用擴容縮容,應用更新,都非常的方便,而且可以做到故障自愈,例如一個服務器掛了,可以自動將這個服務器上的服務調度到另外一個主機上進行運行,無需進行人工干涉。
2、k8s可以更快的更新新版本,打包應用,更新的時候可以做到不用中斷服務,服務器故障不用停機,從開發環境到測試環境到生產環境的遷移極其方便,一個配置文件搞定,一次生成image,到處運行。
? ? ? ?Kubernetes如此之重要,對于使用容器搭建后臺應用和服務的企業的重要性不言而喻,所以在Kubernetes宣布1.20版本放棄Docker,確實引起Docker使用者的恐慌,但是Mirantis已經同意在Kubernetes之外維護docker shim的代碼了,雖然對使用Docker構建容器鏡像的用戶會有一些影響,但是這樣還是有解決方案的,通過Docker內置的CRI或者我們使用CRI-O都是可以繼續使用docker shim了,不同的是之前是在Kubernetes內置使用,現在需要在外部使用。
總結
- 上一篇: 如何在 ASP.NET Core 中使用
- 下一篇: 四种最令人讨厌的编程语言:Java、Ja