最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Kubernetes架構(gòu)+核心組件最全介紹合集

2021-03-25 10:16 作者:微軟MVP-Eleven  | 我要投稿

本篇目標

分析為什么選擇kubernetes

kubernetes概述

kubernetes架構(gòu)介紹和分析

kubernetes核心概念POD,POD控制器,Service詳解

下一篇完整安裝Kubernetes


為什么需要Kubernetes

? ? ? 很多小伙伴兒對Kubernetes可能都是聽過但沒用過,然而如果你真的去落地微服務架構(gòu)會發(fā)現(xiàn),Kubernetes是繞不開的。在架構(gòu)班壓軸實戰(zhàn)-微服務架構(gòu)電商平臺中,一共有15個微服務,7個定時作業(yè)processor,再加上Redis、RabbitMQ、MongoDB、ElasticSearch、Kafka、ELK、Apollo等各種組件,分別還得集群部署,算起來都得100多個進程了,怎么部署?當然是容器化的,但是100多容器真不是人能管的過來的。中途我演示了用docker-compose管理,寫腳本都能讓人崩潰,Kubernetes才是正解!






Kubernetes是什么

Kubernetes誕生之初就是個管理容器的工具,然而在管理好容器之后,又提供了各種進階好用的功能,在架構(gòu)班的實戰(zhàn)中得到了很好的應用,下面一一介紹下:

自動發(fā)布與伸縮

可以通過聲明式的配置文件定義想要部署的容器,Kubernetes將自動進行容器的部署,達到期望的結(jié)果;通過指定容器副本數(shù),或者設(shè)置根據(jù)資源負載情況(如CPU、內(nèi)存使用率),自動對容器組進行快速的伸縮——增大或縮小容器數(shù)量,做到流量自適應

滾動升級與灰度發(fā)布:采用逐步替換的策略實現(xiàn)滾動升級,使用Kubernetes也可以很輕易地管理系統(tǒng)的灰度發(fā)布

服務發(fā)現(xiàn)與負載均衡:Kubernetes通過DNS名稱或IP地址暴露容器的訪問方式,并且可在同一容器組內(nèi)實現(xiàn)負載分發(fā)與均衡

存儲編排:Kubernetes可以自動掛載指定的存儲系統(tǒng),如local storage/nfs/云存儲等

故障恢復:Kubernetes自動重啟已經(jīng)停機的容器,替換不滿足健康檢查的容器


密鑰與配置管理:Kubernetes可以存儲與管理敏感信息,如Docker Registry的登錄憑證,密碼,ssh密鑰等

Kubernetes架構(gòu):kubernetes是用于自動部署,擴展和管理容器化應用程序的開源系統(tǒng)。它源自Google15年生產(chǎn)環(huán)境的運維經(jīng)驗,他的靈活性能讓我們在應對復雜系統(tǒng)時得心應手。



k8s核心組件:

  • etcd 保存了整個集群的狀態(tài);

  • apiserver 提供了資源操作的唯一入口,并提供認證、授權(quán)、訪問控制、API注冊和發(fā)現(xiàn)等機制;

  • controller manager負責維護集群的狀態(tài),比如故障檢測、自動擴展、滾動更新等;

  • scheduler負責資源的調(diào)度,按照預定的調(diào)度策略將Pod調(diào)度到相應的機器上;

  • kubelet 負責維護容器的生命周期,同時也負責Volume(CSI)和網(wǎng)絡(luò)(CNI)的管理;

  • Container runtime負責鏡像管理以及Pod和容器的真正運行(CRI);

  • kube-proxy負責為Service提供cluster內(nèi)部的服務發(fā)現(xiàn)和負載均衡;

  • 除了核心組件,還有一些推薦的插件,其中有的已經(jīng)成為CNCF中的托管項目:

  • CoreDNS負責為整個集群提供DNS服務

  • Ingress Controller為服務提供外網(wǎng)入口

  • Prometheus提供資源監(jiān)控

  • Dashboard提供GUI

  • Federation提供跨可用區(qū)的集群

  • Kubernetes架構(gòu)示意圖

整體架構(gòu)

Master架構(gòu)

Node架構(gòu)

分層架構(gòu)


??說 明? ?????

核心層:Kubernetes最核心的功能,對外提供API構(gòu)建高層的應用,對內(nèi)提供插件式應用執(zhí)行環(huán)境

應用層:部署(無狀態(tài)應用、有狀態(tài)應用、批處理任務、集群應用等)和路由(服務發(fā)現(xiàn)、DNS解析等)、Service Mesh(部分位于應用層)

管理層:系統(tǒng)度量(如基礎(chǔ)設(shè)施、容器和網(wǎng)絡(luò)的度量),自動化(如自動擴展、動態(tài)Provision等)以及策略管理(RBAC、Quota、PSP、NetworkPolicy等)、Service Mesh(部分位于管理層)

接口層:kubectl命令行工具、客戶端SDK以及集群聯(lián)邦

生態(tài)系統(tǒng):在接口層之上的龐大容器集群管理調(diào)度的生態(tài)系統(tǒng),可以劃分為兩個范疇

Kubernetes外部:日志、監(jiān)控、配置管理、CI/CD、Workflow、FaaS、OTS應用、ChatOps、GitOps、SecOps等

Kubernetes內(nèi)部:CRI、CNI、CSI、鏡像倉庫、Cloud Provider、集群自身的配置和管理等


K8S核心概念

POD是什么

POD是K8S創(chuàng)建、管理和部署的最小單元,其他資源對象都是支撐和擴展POD,一個POD包含一個或者多個容器。為了將容器的生命周期和進程的生命周期綁定,通常一個容器內(nèi)只包含一個進程;當一個服務運行需要多個進程時,為了保持這個規(guī)則,因此需要比容器更高一級的對象,這就是POD。


POD 控 ?制 ?器

POD控制器是什么

為更好的使用POD,K8S一般不直接創(chuàng)建POD而是通過創(chuàng)建中間層POD控制器來使用POD。通過POD控制器可以更好的實現(xiàn)POD的保活、擴縮容和升級等操作。

Service&Ingress

Service是什么



本篇文章偏理論介紹,在下一篇將實操Kubernetes集群環(huán)境構(gòu)建,一起來試試吧!

Kubernetes架構(gòu)+核心組件最全介紹合集的評論 (共 條)

分享到微博請遵守國家法律
塔河县| 开远市| 皋兰县| 色达县| 房山区| 汽车| 富民县| 罗城| 南川市| 甘肃省| 浦江县| 汉沽区| 勐海县| 陈巴尔虎旗| 察雅县| 和田市| 菏泽市| 杭锦后旗| 茌平县| 库尔勒市| 襄樊市| 达拉特旗| 洞头县| 洱源县| 贡觉县| 和政县| 滁州市| 盈江县| 湘阴县| 民和| 云霄县| 澄江县| 南岸区| 长乐市| 洛川县| 武陟县| 绿春县| 增城市| 大足县| 蓬莱市| 武陟县|