“docker、kubernetes”知識分享
來源:湖北國菱計算機科技有限公司-荊州網(wǎng)站建設-荊州軟件開發(fā)-政府網(wǎng)站建設公司
時間:2019-07-22
2019年7月12日湖北國菱公司軟件開發(fā)部成員與運維部成員組織學習關于“docker、kubernetes原理及使用” 知識分享會,知識要點如下:
第一點:什么是容器
在同一臺機器上運行的不同的組件需要不同的,可能存在沖突的依賴庫版本,或者其他的不同環(huán)境需求。
當一個應用程序僅由較少數(shù)量的大組件構成時,完全可以接受每個組件分配專用的虛擬機,以及通過給每個組件提供自己的操作系統(tǒng)實例來隔離他們的環(huán)境。但是當這些組件開始變小且數(shù)量開始增長時,如果不想浪費硬件資源,又想持續(xù)壓低硬件成本,那就不能給每個組件配置一個虛擬機。但是這不僅僅浪費硬件資源,因為每個虛擬機都需要被單獨配置和管理,所以增加虛擬機的數(shù)量也就是導致人力資源的浪費,因為這增加系統(tǒng)管理員的工作負擔。
第二點:什么是docker
Docker是一個打包,分發(fā)和運行應用程序的平臺。正如我們所說,他允許將你的應用程序和應用程序依賴的整個環(huán)境打包在一起。這既可以是一些應用程序需要的庫,也可以是一個被安裝的操作系統(tǒng)所有可用的文件。Docker使的傳輸這個包到一個中央倉庫成為可能,然后這個包就能被分發(fā)到任何運行docker的機器上,在哪兒被執(zhí)行。
Docker三大組件
鏡像:docker鏡像里包含了你打包的應用程序及其所依賴的環(huán)境。它包含應用程序可用的文件系統(tǒng)和其他的元數(shù)據(jù),如鏡像運行時的可執(zhí)行文件路徑,
鏡像倉庫:docker鏡像倉庫用于存放docker鏡像,以及促進不同人和不同主機之間共享這些鏡像。當你編譯你的鏡像時,要么可以在編譯它的電腦上運行,要么可以先上傳到一個鏡像倉庫,然后下載到另外一臺電腦上并運行它。某些倉庫是公開的,允許所有人從中拉取鏡像,同時也有一些是私有的,僅部分人和機器可接入。
容器:docker容器通常是一個linux容器,它基于docker鏡像被創(chuàng)建。一個運行中的容器時一個運行在docker主機上進程,但他和主機,以及所有運行在主機上的其他進程都是隔離的。這個進程也是資源受限的,意味著他只能訪問和使用分配給他的資源(cpu,內(nèi)存等)。
第三點:什么是kubernetes
Kubernetes是一個軟件系統(tǒng),他允許你在其上很容易地部署和管理容器化的應用。他依賴于Linux容器的特性來運行異構應用,而無須知道這些應用的內(nèi)部詳情,也不需要手動將這些應用部署到每臺機器。因為這些應用運行在容器里,他們不會影響運行在同一臺服務器上的其他應用,當你是為完全不同的組織機構運行應用時,這是很關鍵的。對于云供應商來說是至關重要的,因為他們在追求高硬件可用率的同搜索時也必須保障所承載應用的完全隔離。
1、Kubernetes集群架構
主節(jié)點:它承載著kuberentes控制和管理整個集群系統(tǒng)的控制面板。
工作節(jié)點:它們運行用戶實際部署的應用
2、控制面板
控制面板用于控制集群并使它工作。它包含多個組件,組件可以運行在單個主節(jié)點或者通過副本分別部署在多個節(jié)點以確保高可用性。這些組件是:
Kubernetes API服務器,不和其他控制面板組件都要和它通信
Scheculer,它調(diào)度你的應用(為應用的每個可部署組件分配一個工作節(jié)點)
Controller Manager,他執(zhí)行集群級別的功能,如復制組件,持續(xù)跟蹤工作節(jié)點,處理節(jié)點失敗等
Etcd,一個可靠的分布式數(shù)據(jù)存儲,它能持久化存儲集群配置
3、工作節(jié)點
工作節(jié)點是運行容器化應用的機器。運行,監(jiān)控和管理應用服務的任務是由以下組件完成的:
Docker,rtk或其他的容器類型
Kubelet,它與API服務器通信,并管理它所在的節(jié)點的容器
Kubernetes service proxy(kube-proxy),它負責組件之間的負載均衡網(wǎng)絡流量
以上就是這次分享會的全部內(nèi)容了,希望對大家的學習或者工作具有一定的參考學習價值,也希望能給容器小白們一些幫助。