久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

kubernetes簡介

 tycoondeng 2023-01-13 發(fā)布于廣東
    你想要學習k8s嗎?如果想要學習k8s就需要了解什么是k8s,,這篇文章通過圖文形式很好的解釋了k8s到底是什么,,正所謂眾里尋他千百度,驀然回首,,那人卻在,,燈火闌珊處。只有讀到通俗易懂的文章你才不會迷路,,下面開始跟著筆者進入到k8s學習之旅吧,。

kubernetes基本介紹

**一、kubernetes是什么,? **
Kubernetes是一個開源的容器管理平臺,,簡稱k8s,用于管理多個主機上的容器化應用程序,,提供應用程序的快速部署,,擴縮容,升級,,維護和擴展等機制,,利用service可以實現(xiàn)服務注冊、發(fā)現(xiàn)以及四層負載均衡,通過ingress可以實現(xiàn)七層負載均衡等功能,,Kubernetes這個名字源于希臘語,,意思是舵手或飛行員,結合了社區(qū)中的最佳創(chuàng)意和實踐,,社區(qū)活躍度極高,,幕后擁有大量技術人員在維護和支持。

二,、kubernetes容器編排工具的優(yōu)勢
1.用戶體驗效果好,,可以快速上手操作:
擁有良好的web ui界面,可以實現(xiàn)應用程序的快速部署,,升級,,擴容,縮容,,回滾等,。
2.根據(jù)節(jié)點資源的使用情況對pod進行合理的調度:
可以按照用戶需要調度pod,例如保證Pod只在資源足夠的節(jié)點上運行,,會嘗試把同一功能的pod分散在不同的節(jié)點上,,還會嘗試平衡不同節(jié)點的資源使用率等。
3.靈活部署:
支持多種平臺,,如公有云、私有云,、混合云,,VMware vSphere、VMware Workstation,、虛擬機,、物理機等。
4.完善的認證授權機制,,自帶審計功能:
可以對多用戶做細化的授權管理,,達到相互之間的操作完全隔離,互不影響,,而且自身帶有審計功能,,可以對操作過程進行實時的日志記錄,出現(xiàn)問題可以方便排查,。
5.可擴展性強:
擁有強大的集群擴展能力,,可以根據(jù)業(yè)務規(guī)模自動增加和縮減主機節(jié)點的數(shù)量,確保服務可以承受大量并發(fā)帶來的壓力,,保證業(yè)務穩(wěn)定運行,。
6.擁有完善的災備預警解決方案:
擁有多種災備解決方案,支持備份和容災,出現(xiàn)故障可以達到秒級切換,,保證線上業(yè)務不受影響,。
7.支持windows節(jié)點:
kubernetes支持將windows節(jié)點添加為工作節(jié)點并部署windows容器,確保不再受到具體的操作系統(tǒng)類型的影響,,提升整體部署的效率,。

三、應用場景實踐
1.kubernetes在日志管理系統(tǒng)中的應用:在生產環(huán)境中,,日志對于排查問題至關重要,,我們需要有一個日志管理系統(tǒng),如efk,,kubernetes可以實現(xiàn)efk的快速部署,,通過采用daemonset控制器部署fluentd組件,來收集節(jié)點和k8s集群的日志,,通過kubernetes部署efk日志管理系統(tǒng)可實現(xiàn)如下功能:

(1)如果集群擴容,,那么daemonset控制器會自動檢測到新增加的node節(jié)點,就會在新的node節(jié)點上部署fluentd,,完成日志收集,,這就可以減少人為干預,提高工作效率,,確保日志可以被正常收集,;
(2)如果es數(shù)據(jù)量大,kubernetes可以實現(xiàn)集群中pod應用的水平擴展,,完成應用的彈性擴容和收縮等操作,。

2.kubernetes在DevOps場景下的應用:
DevOps是一套完整的運維開發(fā)流程,可以實現(xiàn)快速的構建,、測試和發(fā)布軟件,,整個流程包括敏捷開發(fā)->持續(xù)集成->持續(xù)交付->持續(xù)部署->DevOps,通過 Kubernetes,,我們可以實現(xiàn)容器在多個計算節(jié)點上的統(tǒng)一調度,,可以將容器對接到持久存儲、虛擬網(wǎng)絡,,還可以實現(xiàn)彈性伸縮等,,提高了產品的迭代速度,在DevOps體系下加入k8s可以實現(xiàn)如下功能:

(1)多集群管理:可以根據(jù)客戶需求對開發(fā),,測試,,生產環(huán)境部署多套kubernetes集群,每個環(huán)境使用獨立的物理資源,,相互之間避免影響,;
(2)多環(huán)境一致性:Kubernetes是基于docker的容器編排工具,,因為容器的鏡像是不可變的,所以鏡像把 OS,、業(yè)務代碼,、運行環(huán)境、程序庫,、目錄結構都包含在內,,鏡像保存在我們的私有倉庫,只要用戶從我們提供的私有倉庫拉取鏡像,,就能保證環(huán)境的一致性,;
(3)持續(xù)集成,持續(xù)部署,,持續(xù)交付:可以讓產品快速迭代,,自動部署,根據(jù)客戶的要求達到持續(xù)交付的能力,。

3.kubernetes在微服務中的應用:
service Mesh可以很好地保證未拆分的應用與已經(jīng)拆分出來的微服務之間的互通和統(tǒng)一治理,,不將業(yè)務代碼與任何框架,平臺或者服務綁定,,管理微服務時,,我們需要對這些微服務和它們的調用關系進行注冊、為其分配資源,、創(chuàng)建一定數(shù)量的節(jié)點副本,、并發(fā)布到集群中去;同時還要為其配置好網(wǎng)絡和負載均衡,,使這些微服務能夠被外部訪問,,在這些微服務的運行過程中,需要始終保持其可用性,,一旦有節(jié)點出現(xiàn)問題,需要立即創(chuàng)建新的節(jié)點將其替換掉,,運行過程中需要對這些微服務進行監(jiān)控和日志收集,;在負載發(fā)生變化的時候,還要能夠迅速調整資源分配,,kubernetes在微服務中可實現(xiàn)如下功能:

(1)服務發(fā)現(xiàn):通過service可以實現(xiàn)服務發(fā)現(xiàn),,負載均衡,自修復,,自動關聯(lián),;
(2)提供統(tǒng)一的配置管理中心:對于配置中心,K8S提供了configMap,,可以在容器啟動的時候,,將配置注入到環(huán)境變量或者Volume里面,;
(3)彈性伸縮:通過控制器創(chuàng)建指定數(shù)量的pod副本,通過hpa可以實現(xiàn)pod應用的水平擴容和回收,;
(4)通過jenkins實現(xiàn)持續(xù)集成/持續(xù)部署
(5)自動擴展:當Kubernetes集群的資源嚴重不足而導致Job排隊等待時,,可以很容易的添加一個Kubernetes Node到集群中,從而實現(xiàn)擴展,。

四,、kubernetes特點

  1. 可移植: 支持公有云,私有云,,混合云,,多重云(multi-cloud)

  2. 可擴展: 模塊化, 插件化, 可掛載, 可組合

  3. 自愈: 自動布置,自動重啟,,自動復制,,自動擴展。

五,、kubernetes功能詳細介紹

  1. 多租戶的網(wǎng)絡隔離:
    Kubernetes支持多種網(wǎng)絡插件,,如flannel,calico,,canel等,,每個插件都有獨特的性能,可以分別適用于多種場景,,我們可以利用calico的network policy(網(wǎng)絡策略)解決k8s中的網(wǎng)絡隔離,,對于多租戶場景,可以每一個用戶一個名稱空間,,然后對這個名稱空間設置網(wǎng)絡隔離,。
  2. 高可用:
kubernetes中支持多種高可用解決方案,如keepalive+nginx,,keepalived+haproxy等,,
可以使訪問流量分發(fā)到不同的主機節(jié)點,減輕節(jié)點壓力,,如果某個節(jié)點出現(xiàn)故障,,可以實現(xiàn)妙級切換,達到高可用,,保證業(yè)務不中斷,;
  1. 用戶數(shù)據(jù)的持久化存儲:
    kubernetes支持多種持久化存儲解決方案,保證數(shù)據(jù)可以得到很好的備份,,降低用戶數(shù)據(jù)丟失的風險,,kubernetes中可使用的存儲方案如下:
(1)本地存儲
emptyDir,hostPath
(2)網(wǎng)絡連接類存儲
SAN/網(wǎng)絡附加存儲:iSCSI
NAS/存儲局域網(wǎng)絡:nfs,,cifs
(3)分布式存儲
glusterfs,,ceph/塊級別的存儲,,cephfs/文件系統(tǒng)級別的存儲
(4)云存儲:Azure Disk等
  1. 擁有多種更新回滾策略:
通過管理kubernetes的控制器和service等,可以實現(xiàn)灰度發(fā)布,,藍綠部署,,
金絲雀發(fā)布等,達到業(yè)務的快速和回滾等操作,,用以滿足不同客戶的不同升級需求,。
  1. 彈性伸縮:
根據(jù)訪問的流量壓力,可以實現(xiàn)pod的水平擴容和縮減,,達到秒級擴容,,讓pod始終處于滿足業(yè)務正常運行時所需的數(shù)量即可,避免了資源的浪費,。
  1. Kubernetes可以滿足很多運行環(huán)境中應用的需求,,如下:
進程協(xié)同,利用復合應用保證應用和容器一對一的模型
存儲系統(tǒng)掛載
分發(fā)密鑰
應用健康檢測
應用實例復制
水平自動擴展
命名和發(fā)現(xiàn)
負載均衡
滾動更新
資源監(jiān)控
日志訪問
自檢和調試
識別和認證
這為PaaS提供了IaaS層的便利,,提供了基礎設施提供者間的可移植性,。

六、kubernetes架構
kubernetes的物理架構是master/node模式,,master一般是三個節(jié)點或者五個節(jié)點做高可用,,根據(jù)集群規(guī)模來定,master高可用指的是對apiserver做高可用或者對master的物理節(jié)點做高可用,,node可以有多個節(jié)點,,專門用來部署應用的,架構圖如下所示:
kubernetes簡介-這是一篇學習k8s必看的文章_docker

七,、kubernetes核心組件
1.master節(jié)點組件
apiserver:提供了資源操作的唯一入口,,并提供認證、授權,、訪問控制,、API注冊和發(fā)現(xiàn)等機制,負責接收,、解析,、處理請求。
scheduler:調度器,,負責資源的調度,按照預定的調度策略將Pod調度到相應的機器上,。
kube-controller-manager:控制器,,負責維護集群的狀態(tài),檢查pod的健康狀態(tài),,比如故障檢測,、自動擴展,、滾動更新等一些操作。
docker:是一個容器引擎,,用于運行容器,。
etcd:etcd是一個key/value形式的鍵值存儲,保存了整個kubernetes集群的狀態(tài),,在kubernetes中使用etcd時,,需要對etcd做備份,保證高可用,,整個kubernetes系統(tǒng)中一共有兩個服務需要用到etcd用來協(xié)同和存儲配置,,分別是:

(1)網(wǎng)絡插件calico、對于其它網(wǎng)絡插件也需要用到etcd存儲網(wǎng)絡的配置信息,;
(2)kubernetes本身,,包括各種對象的狀態(tài)和元信息配置。

** 注:**關于etcd API版本的說明:
網(wǎng)絡插件操作etcd使用的是v2的API,,而kubernetes操作etcd使用的v3的API,,所以在下面我們執(zhí)行etcdctl的時候需要設置ETCDCTL_API環(huán)境變量,該變量默認值為2,,表示使用v2版本的api,,v3表示使用v3版本的api。

2.node節(jié)點(工作節(jié)點)組件
kubelet:負責與master節(jié)點的apiserver進行通信的,,接收到客戶的請求,,進行創(chuàng)建Pod,管理Pod,,啟動pod等相關操作,。
kube-proxy:k8s代理,是在群集中的每個節(jié)點上運行的網(wǎng)絡代理,,kube-proxy負責請求轉發(fā),,一旦發(fā)現(xiàn)了某一個Service關聯(lián)的Pod信息發(fā)生了改變(如IP、Port等),,由Kube-Proxy就會把變化后的service轉換成IPVS或IPtables規(guī)則中,,完成對后端pod的負載均衡。
docker:是一個容器引擎,,用于運行容器,。

3.附加組件
coredns:k8s1.11之前使用的是kubedns,1.11之后才有coredns,,coredns是一個DNS服務器,,能夠為 Kubernetes services提供 DNS記錄
dashboard:k8s的web界面,通過這個界面可以對k8s資源進行操作
Ingress Controller :七層負載均衡控制器,,可以創(chuàng)建nginx或者traefik這種七層負載應用,,實現(xiàn)域名和https訪問
prometheus+alertmanager+grafana:監(jiān)控組件
efk:日志采集組件

摘自 kubernetes簡介-這是一篇學習k8s必看的文章_hxc的技術博客_51CTO博客

    本站是提供個人知識管理的網(wǎng)絡存儲空間,,所有內容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內容中的聯(lián)系方式,、誘導購買等信息,謹防詐騙,。如發(fā)現(xiàn)有害或侵權內容,,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多