作者簡介: 辭七七,目前大二,正在學(xué)習(xí)C/C++,Java,Python等
作者主頁: 七七的個(gè)人主頁
文章收錄專欄: 七七的閑談
歡迎大家點(diǎn)贊 ?? 收藏 ? 加關(guān)注哦!????
前言
kubernetes,簡稱K8s,是用8代替名字中間的8個(gè)字符“ubernete”而成的縮寫。是一個(gè)開源的,用于管理云平臺中多個(gè)主機(jī)上的容器化的應(yīng)用,Kubernetes的目標(biāo)是讓部署容器化的應(yīng)用簡單并且高效(powerful),Kubernetes提供了應(yīng)用部署,規(guī)劃,更新,維護(hù)的一種機(jī)制。
內(nèi)容簡介
Kubernetes是Google開源的一個(gè)容器編排引擎,它支持自動化部署、大規(guī)??缮炜s、應(yīng)用容器化管理。在生產(chǎn)環(huán)境中部署一個(gè)應(yīng)用程序時(shí),通常要部署該應(yīng)用的多個(gè)實(shí)例以便對應(yīng)用請求進(jìn)行負(fù)載均衡。
在Kubernetes中,我們可以創(chuàng)建多個(gè)容器,每個(gè)容器里面運(yùn)行一個(gè)應(yīng)用實(shí)例,然后通過內(nèi)置的負(fù)載均衡策略,實(shí)現(xiàn)對這一組應(yīng)用實(shí)例的管理、發(fā)現(xiàn)、訪問,而這些細(xì)節(jié)都不需要運(yùn)維人員去進(jìn)行復(fù)雜的手工配置和處理。
產(chǎn)品特點(diǎn)
- 可移植: 支持公有云,私有云,混合云,多重云(multi-cloud)
- 可擴(kuò)展: 模塊化,插件化,可掛載,可組合
- 自動化: 自動部署,自動重啟,自動復(fù)制,自動伸縮/擴(kuò)展
Kubernetes的主要特點(diǎn)和關(guān)鍵概念
-
容器編排: Kubernetes允許用戶定義、部署和擴(kuò)展容器化應(yīng)用程序。它能夠自動化應(yīng)用的部署、升級和擴(kuò)展,確保應(yīng)用在整個(gè)生命周期中的高可用性。
-
抽象層和標(biāo)準(zhǔn)化: Kubernetes引入了一系列的抽象層,如Pod、Service、Deployment等,提供了一種標(biāo)準(zhǔn)化的方式來描述、部署和管理應(yīng)用程序。
-
自動伸縮: Kubernetes能夠根據(jù)應(yīng)用程序的負(fù)載自動伸縮,調(diào)整運(yùn)行實(shí)例的數(shù)量,以滿足性能需求,并在負(fù)載下降時(shí)減少資源使用。
-
服務(wù)發(fā)現(xiàn)和負(fù)載均衡: 通過Service抽象,Kubernetes提供了服務(wù)發(fā)現(xiàn)和負(fù)載均衡的機(jī)制,使應(yīng)用程序能夠可靠地相互通信,并確保流量分布均勻。
-
存儲管理: Kubernetes支持多種存儲后端,并提供了持久卷(Persistent Volumes)和持久卷聲明(Persistent Volume Claims)等機(jī)制,確保應(yīng)用程序?qū)?shù)據(jù)的持久性和可靠性。
-
配置管理: 使用ConfigMap和Secrets,Kubernetes允許將配置信息和敏感數(shù)據(jù)與應(yīng)用程序分離,實(shí)現(xiàn)更靈活的配置管理。
-
多集群管理: Kubernetes支持多集群部署,允許用戶在不同的云環(huán)境或數(shù)據(jù)中心中管理和擴(kuò)展容器化應(yīng)用。
產(chǎn)品組件
1. API Server(API服務(wù)器):
功能: 提供Kubernetes API,是所有組件之間通信的入口點(diǎn)。
作用: 接收和處理來自命令行工具、Web UI或其他部分的請求,并協(xié)調(diào)集群中的操作。
2. etcd:
功能: 一致性鍵值存儲,用于保存集群配置數(shù)據(jù)和元數(shù)據(jù)。
作用: 存儲集群的狀態(tài)信息,包括配置、節(jié)點(diǎn)信息、Pod狀態(tài)等。
3. Controller Manager(控制器管理器):
功能: 包含一系列控制器,用于監(jiān)控集群狀態(tài)并進(jìn)行調(diào)整以滿足期望狀態(tài)。
作用: 確保系統(tǒng)中的實(shí)際狀態(tài)與期望的狀態(tài)一致,例如自動伸縮、滾動更新等。
4. Scheduler(調(diào)度器):
功能: 負(fù)責(zé)將新的Pod調(diào)度到集群中的節(jié)點(diǎn)上。
作用: 根據(jù)節(jié)點(diǎn)資源、約束條件和調(diào)度策略選擇最適合的節(jié)點(diǎn),并分配Pod。
5. Kubelet:
功能: 在每個(gè)節(jié)點(diǎn)上運(yùn)行,負(fù)責(zé)與API服務(wù)器通信,并確保在節(jié)點(diǎn)上運(yùn)行的Pod處于健康狀態(tài)。
作用: 管理Pod的生命周期,包括拉取容器鏡像、啟動、停止和監(jiān)控容器。
6. Container Runtime(容器運(yùn)行時(shí)):
功能: 負(fù)責(zé)運(yùn)行容器。
作用: 將容器鏡像轉(zhuǎn)換為運(yùn)行時(shí)實(shí)例,通常使用Docker、containerd、CRI-O等。
7. kube-proxy:
功能: 提供網(wǎng)絡(luò)代理和負(fù)載均衡服務(wù)。
作用: 確保Pod能夠相互通信,實(shí)現(xiàn)服務(wù)發(fā)現(xiàn)和負(fù)載均衡。
8. Ingress Controller:
功能: 提供HTTP和HTTPS路由到集群中服務(wù)的規(guī)則。
作用: 允許從集群外部訪問集群內(nèi)的服務(wù),并執(zhí)行負(fù)載均衡和路由。
9. Service:
功能: 定義一組Pod的抽象,提供一個(gè)統(tǒng)一的訪問入口。
作用: 允許應(yīng)用程序通過服務(wù)名而不是IP地址相互通信。
10. ConfigMap和Secrets:
功能: 分別用于存儲配置數(shù)據(jù)和敏感信息,如密碼或API密鑰。
作用: 允許將配置信息和敏感數(shù)據(jù)從應(yīng)用程序中分離出來,方便管理和更新。
這些組件共同工作,構(gòu)成了Kubernetes強(qiáng)大的容器編排平臺,為用戶提供了高度可擴(kuò)展、自動化和彈性的容器化應(yīng)用管理環(huán)境。
Kubernetes集群所需的各種二進(jìn)制組件
Master 組件
- Master組件提供集群的管理控制中心。
- Master組件可以在集群中任何節(jié)點(diǎn)上運(yùn)行。但是為了簡單起見,通常在一臺VM/機(jī)器上啟動所有Master組件,并且不會在此VM/機(jī)器上運(yùn)行用戶容器。請參考構(gòu)建高可用群集以來構(gòu)建multi-master-VM。
ETCD
- etcd是Kubernetes提供默認(rèn)的存儲系統(tǒng),保存所有集群數(shù)據(jù),使用時(shí)需要為etcd數(shù)據(jù)提供備份計(jì)劃。
kube-controller-manager
- kube-controller-manager運(yùn)行管理控制器,它們是集群中處理常規(guī)任務(wù)的后臺線程。
插件 addons文章來源:http://www.zghlxwxcb.cn/news/detail-776097.html
- 插件(addon)是實(shí)現(xiàn)集群pod和Services功能的。Pod由Deployments,ReplicationController等進(jìn)行管理。Namespace 插件對象是在kube-system Namespace中創(chuàng)建。
??關(guān)于 【K8s】K8s是什么,一文帶你了解kubernetes的詳細(xì)講解,七七就先分享到這里了,如果你認(rèn)為這篇文章對你有幫助,請給七七點(diǎn)個(gè)贊吧,如果發(fā)現(xiàn)什么問題,歡迎評論區(qū)留言?。????文章來源地址http://www.zghlxwxcb.cn/news/detail-776097.html
到了這里,關(guān)于【K8s】K8s是什么,一文帶你了解kubernetes的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!