更新時間:2021-01-19 16:04:49 來源:動力節點 瀏覽2123次
Kubernetes是一個全新的基于容器技術的分布式架構領先方案。Kubernetes(k8s)是Google開源的容器集群管理系統(谷歌內部:Borg)。在Docker技術的基礎上,為容器化的應用提供部署運行、資源調度、服務發現和動態伸縮等一系列完整功能,提高了大規模容器集群管理的便捷性。
Kubernetes是一個完備的分布式系統支撐平臺,具有完備的集群管理能力,多擴多層次的安全防護和準入機制、多租戶應用支撐能力、透明的服務注冊和發現機制、內建智能負載均衡器、強大的故障發現和自我修復能力、服務滾動升級和在線擴容能力、可擴展的資源自動調度機制以及多粒度的資源配額管理能力。同時Kubernetes提供完善的管理工具,涵蓋了包括開發、部署測試、運維監控在內的各個環節。
Kubernetes中,Service是分布式集群架構的核心,一個Service對象擁有如下關鍵特征:
擁有一個唯一指定的名字
擁有一個虛擬IP(Cluster IP、Service IP、或VIP)和端口號
能夠體統某種遠程服務能力
被映射到了提供這種服務能力的一組容器應用上
Service的服務進程目前都是基于Socket通信方式對外提供服務,比如Redis、Memcache、MySQL、Web Server,或者是實現了某個具體業務的一個特定的TCP Server進程,雖然一個Service通常由多個相關的服務進程來提供服務,每個服務進程都有一個獨立的Endpoint(IP+Port)訪問點,但Kubernetes能夠讓我們通過服務連接到指定的Service上。有了Kubernetes內奸的透明負載均衡和故障恢復機制,不管后端有多少服務進程,也不管某個服務進程是否會由于發生故障而重新部署到其他機器,都不會影響我們隊服務的正常調用,更重要的是這個Service本身一旦創建就不會發生變化,意味著在Kubernetes集群中,我們不用為了服務的IP地址的變化問題而頭疼了。
容器提供了強大的隔離功能,所有有必要把為Service提供服務的這組進程放入容器中進行隔離。為此,Kubernetes設計了Pod對象,將每個服務進程包裝到相對應的Pod中,使其成為Pod中運行的一個容器。為了建立Service與Pod間的關聯管理,Kubernetes給每個Pod貼上一個標簽Label,比如運行MySQL的Pod貼上name=mysql標簽,給運行PHP的Pod貼上name=php標簽,然后給相應的Service定義標簽選擇器Label Selector,這樣就能巧妙的解決了Service于Pod的關聯問題。
在集群管理方面,Kubernetes將集群中的機器劃分為一個Master節點和一群工作節點Node,其中,在Master節點運行著集群管理相關的一組進程kube-apiserver、kube-controller-manager和kube-scheduler,這些進程實現了整個集群的資源管理、Pod調度、彈性伸縮、安全控制、系統監控和糾錯等管理能力,并且都是全自動完成的。Node作為集群中的工作節點,運行真正的應用程序,在Node上Kubernetes管理的最小運行單元是Pod。Node上運行著Kubernetes的kubelet、kube-proxy服務進程,這些服務進程負責Pod的創建、啟動、監控、重啟、銷毀以及實現軟件模式的負載均衡器。
在Kubernetes集群中,它解決了傳統IT系統中服務擴容和升級的兩大難題。你只需為需要擴容的Service關聯的Pod創建一個Replication Controller簡稱(RC),則該Service的擴容及后續的升級等問題將迎刃而解。在一個RC定義文件中包括以下3個關鍵信息。
目標Pod的定義
目標Pod需要運行的副本數量(Replicas)
要監控的目標Pod標簽(Label)
在創建好RC后,Kubernetes會通過RC中定義的的Label篩選出對應Pod實例并實時監控其狀態和數量,如果實例數量少于定義的副本數量,則會根據RC中定義的Pod模板來創建一個新的Pod,然后將新Pod調度到合適的Node上啟動運行,知道Pod實例的數量達到預定目標,這個過程完全是自動化。
Kubernetes優勢:
Kubernetes是從事運維人員的必備技術,但是對于開發人員來說也應該掌握這一門技術,我們可以采用Kubernetes技術來進行微服務的部署,想要學的更加進入,動力節點Kubernetes入門實戰,課程以精煉的篇幅,在比較短的時間內讓你快速掌握Kubernetes,以快速適應公司的需要,不管是開發人員還是運維人員都能快速掌握這一門技術;
課程核心內容目錄
Kubernetes管理員認證(CKA)
Kubernetes整體架構
Kubernetes環境搭建方式
Kubeadm部署Kubernetes
Kubernetes部署環境要求
Kubernetes部署環境準備
Kubernetes安裝具體步驟
Kubernetes部署網絡插件
Kubernetes部署“容器化應用”
在Kubernetes集群中部署一個Nginx
在Kubernetes集群中部署一個Tomcat
在Kubernetes集群中部署SpringBoot應用
部署Kubernetes Dashbaord
采用Ingress暴露應用
采用Ingress暴露容器化應用(Nginx)
kubernetes部署Spring Cloud微服務
Kubernetes架構及和核心組件
完整目錄可以關注動力節點Java視頻教程
以上就是動力節點Java培訓機構的小編針對“Kubernetes視頻教程,零基礎入門學習”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習