欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

帶你快速了解Docker和k8s的使用及說明

 更新時間:2023年05月26日 17:07:22   作者:我有一頭小花驢  
這篇文章主要介紹了帶你快速了解Docker和k8s的使用及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

隨著k8s 作為容器編排解決方案變得越來越流行,有些人開始拿 Docker 和 k8s進行對比,不禁問道:Docker 不香嗎?

k8s 是kubernets的縮寫,’8‘代表中間的八個字符。

其實 Docker 和 k8s 并非直接的競爭對手,它倆相互依存。 Docker 是一個容器化平臺,而 k8s 是 Docker 等容器平臺的協(xié)調(diào)器。

容器化時代來了

虛擬化技術(shù)已經(jīng)走過了三個時代,沒有容器化技術(shù)的演進就不會有 Docker 技術(shù)的誕生。

虛擬化技術(shù)演進

(1)物理機時代:多個應用程序可能會跑在一臺機器上。

物理機時代

(2)虛擬機時代:一臺物理機器安裝多個虛擬機(VM),一個虛擬機跑多個程序。

虛擬機時代

(3)容器化時代:一臺物理機安裝多個容器實例(container),一個容器跑多個程序。

容器化時代

容器化解決了軟件開發(fā)過程中一個令人非常頭疼的問題,用一段對話描述:

測試人員:你這個功能有問題。

開發(fā)人員:我本地是好的啊。

開發(fā)人員編寫代碼,在自己本地環(huán)境測試完成后,將代碼部署到測試或生產(chǎn)環(huán)境中,經(jīng)常會遇到各種各樣的問題。明明本地完美運行的代碼為什么部署后出現(xiàn)很多 bug,原因有很多:不同的操作系統(tǒng)、不同的依賴庫等,總結(jié)一句話就是因為本地環(huán)境和遠程環(huán)境不一致。

容器化技術(shù)正好解決了這一關(guān)鍵問題,它將軟件程序和運行的基礎環(huán)境分開。開發(fā)人員編碼完成后將程序打包到一個容器鏡像中,鏡像中詳細列出了所依賴的環(huán)境,在不同的容器中運行標準化的鏡像,從根本上解決了環(huán)境不一致的問題。

容器化技術(shù)的尖刀武器

容器化技術(shù)的特點

  • 可移植性:不依賴具體的操作系統(tǒng)或云平臺,比如在阿里云或騰訊云直接隨意遷移。
  • 占地小:容器只需要其應用程序以及它需要運行的所有容器和庫的依賴清單,不需要將所有的依賴庫都打包在一起。共享 bin 和
  • lib:不同的容器可以共享 bin 和 lib,進一步節(jié)省了空間。

Docker 橫空出世

2010年一位年輕小伙子在美國舊金山成立了一家名叫【dotCloud】的公司, 開發(fā)了 Docker的核心技術(shù),從此開啟了容器技術(shù)的時代。

Docker原公司

后面 dotCloud 公司將自己的容器技術(shù)進行了簡化和標準化,取名為 Docker,就是大家熟悉的鯨魚 logo。

Docker新Logo

2013年dotCloud 公司宣布將 Docker 開源,隨著越來越多的工程師發(fā)現(xiàn)了它的優(yōu)點, Docker 的人氣迅速攀升,成為當時最火爆的開源技術(shù)之一。

當前有30%以上的企業(yè)在其AWS環(huán)境中使用Docker,并且這個數(shù)字還在繼續(xù)增長。

Docker使用率越來越高

Docker怎么用?

其實大多數(shù)人都在談論 Docker 時說的是 Docker Engine,這只是一個構(gòu)建和運行的容器。

在運行容器前需要編寫Docker File,通過 dockerFile 生成鏡像,然后才能運行 Docker 容器。

Docker File 定義了運行鏡像(image)所需的所有內(nèi)容,包括操作系統(tǒng)和軟件安裝位置。一般情況下都不需要從頭開始編寫 Docker File,在 Docker Hub 中有來自世界各地的工程師編寫好的鏡像,你可以基于此修改。

編排系統(tǒng)的需求催生 k8s

盡管Docker為容器化的應用程序提供了開放標準,但隨著容器越來越多出現(xiàn)了一系列新問題:

  • 如何協(xié)調(diào)和調(diào)度這些容器?
  • 如何在升級應用程序時不會中斷服務?
  • 如何監(jiān)視應用程序的運行狀況?
  • 如何批量重新啟動容器里的程序?

解決這些問題需要容器編排技術(shù),可以將眾多機器抽象,對外呈現(xiàn)出一臺超大機器?,F(xiàn)在業(yè)界比較流行的有:k8s、Mesos、Docker Swarm。

在業(yè)務發(fā)展初期只有幾個微服務,這時用 Docker 就足夠了,但隨著業(yè)務規(guī)模逐漸擴大,容器越來越多,運維人員的工作越來越復雜,這個時候就需要編排系統(tǒng)解救opers。

應用程序的聲明周期

一個成熟的容器編排系統(tǒng)需要具備以下能力:

  • 處理大量的容器和用戶
  • 負載均衡
  • 鑒權(quán)和安全性
  • 管理服務通信
  • 多平臺部署

k8s與Docker Swarm江湖恩怨

k8s VS Docker Swarm

如果你非要拿 Docker 和 k8s 進行比較,其實你更應該拿 Docker Swarm 和 k8s 比較。

Docker Swarm 是 Docker 自家針對集群化部署管理的解決方案,優(yōu)點很明顯,可以更緊密集成到 Docker 生態(tài)系統(tǒng)中。

雖說 Swarm 是 Docker 親兒子,但依舊沒有 k8s 流行,不流行很大程度是因為商業(yè)、生態(tài)的原因,不多解釋。

k8s是做什么用的?

K8s是Google研發(fā)的容器協(xié)調(diào)器,已捐贈給CNCF,現(xiàn)已開源。

Google 利用在容器管理多年的經(jīng)驗和專業(yè)知識推出了 k8s,主要用于自動化部署應用程序容器,可以支持眾多容器化工具包括現(xiàn)在非常流行的Docker。

目前k8s 是容器編排市場的領(lǐng)導者,開源并公布了一系列標準化方法,主流的公有云平臺都宣布支持。

一流的廠商都在搶占標準的制高點,一堆小廠商跟著一起玩,這就叫生態(tài)了。國內(nèi)的大廠商都在干嘛呢?搶社區(qū)團購市場,玩資本游戲,哎?!

K8s 架構(gòu)和組件

k8s 由眾多組件組成,組件間通過 API 互相通信,歸納起來主要分為三個部分:

  • controller manager
  • nodes
  • pods

k8s集群架構(gòu)圖

  • Controller Manager,即控制平面,用于調(diào)度程序以及節(jié)點狀態(tài)檢測。
  • Nodes,構(gòu)成了Kubernetes集群的集體計算能力,實際部署容器運行的地方。
  • Pods,Kubernetes集群中資源的最小單位。

Docker與k8s 難舍難分

Docker 和 k8s 在業(yè)界非常流行,都已經(jīng)是事實上的標準。

Docker 是用于構(gòu)建、分發(fā)、運行容器的平臺和工具。

而 k8s 實際上是一個使用 Docker 容器進行編排的系統(tǒng),主要圍繞 pods 進行工作。Pods 是 k8s 生態(tài)中最小的調(diào)度單位,可以包含一個或多個容器。

Docker 和 k8s 是根本上不同的技術(shù),兩者可以很好的協(xié)同工作。

開發(fā)實踐,靈魂追問

(1)沒有 k8s 可以使用 docker 嗎?

可以。實際上一些小型公司,在業(yè)務不太復雜的情況下都是直接使用 Docker。盡管 k8s 有很多好處,但是眾所周知它非常復雜,業(yè)務比較簡單可以放棄使用 k8s。

(2)沒有 Docker 可以使用 k8s 嗎?

k8s 只是一個容器編排器,沒有容器拿什么編排?!

k8s 經(jīng)常與 Docker 進行搭配使用,但是也可以使用其他容器,如RunC、Containerted 等。

(3)Docker Swarm 和 k8s 怎么選?

選 k8s。2019年底Docker Enterprise已經(jīng)出售給Mirantis,Mirantis聲明要逐步淘汰Docker Swarm,后續(xù)會將 k8s 作為默認編排工具。

最后一個問題

Docker 不香嗎?為什么還要用 k8s

Docker很香,但 k8s 在業(yè)務達到一定規(guī)模后也得啟用。學會了嗎?

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • docker實現(xiàn)mysql主從復制的示例代碼

    docker實現(xiàn)mysql主從復制的示例代碼

    Docker它不香嗎?即省去了安裝Mysql所需要的步驟,有多個容器之間相互資源獨立,IP互不沖突,具有一定的參考價值,感興趣的可以了解一下
    2021-08-08
  • 最新IDEA快速實現(xiàn)Docker鏡像部署運行的過程詳解

    最新IDEA快速實現(xiàn)Docker鏡像部署運行的過程詳解

    這篇文章主要介紹了最新IDEA快速實現(xiàn)Docker鏡像部署運行的過程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • docker如何導出指定時間段內(nèi)日志

    docker如何導出指定時間段內(nèi)日志

    這篇文章主要介紹了docker如何導出指定時間段內(nèi)日志問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Docker鏡像之不同服務器間遷移方法大全

    Docker鏡像之不同服務器間遷移方法大全

    最近工作中遇到了個需求,要將Docker容器遷移到另外一臺服務器上,所以下面這篇文章主要給大家介紹了關(guān)于Docker鏡像之不同服務器間遷移方法的相關(guān)資料,需要的朋友可以參考下
    2023-06-06
  • Docker查看及修改Redis容器密碼的實用指南

    Docker查看及修改Redis容器密碼的實用指南

    在使用 Docker 部署 Redis 容器時,有時我們需要查看或修改 Redis 的密碼,本文將詳細介紹如何在 Docker 中查看和修改 Redis 容器的密碼,幫助你更好地管理和維護你的 Redis 實例,需要的朋友可以參考下
    2024-07-07
  • Docker容器搭建運行python的深度學習環(huán)境的方法

    Docker容器搭建運行python的深度學習環(huán)境的方法

    本文主要介紹了Docker容器搭建運行python的深度學習環(huán)境的方法,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • 創(chuàng)建支持SSH服務的Docker鏡像的方法

    創(chuàng)建支持SSH服務的Docker鏡像的方法

    這篇文章主要介紹了創(chuàng)建支持SSH服務的Docker鏡像的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • Docker開啟遠程連接并實現(xiàn)安全通信詳解

    Docker開啟遠程連接并實現(xiàn)安全通信詳解

    這篇文章主要為大家介紹了Docker開啟遠程連接并實現(xiàn)安全通信過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • Docker volume 掛載卷的實現(xiàn)方法

    Docker volume 掛載卷的實現(xiàn)方法

    這篇文章主要介紹了Docker volume 掛載卷的實現(xiàn)方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-03-03
  • docker network如何創(chuàng)建橋接網(wǎng)絡

    docker network如何創(chuàng)建橋接網(wǎng)絡

    這篇文章主要介紹了docker network如何創(chuàng)建橋接網(wǎng)絡問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04

最新評論