中文字幕日本最新乱码视频,无码av久久久蜜桃成熟时电影,老熟女 露脸 嗷嗷叫,国产女人水真多18毛片18精品

全球領(lǐng)先的云管理服務(wù)提供商

思普智云的管理團(tuán)隊(duì)都對(duì)云有深刻的理解,從搭建到運(yùn)營(yíng)和咨詢,團(tuán)隊(duì)成員分工明確,始終致力于為客戶提供專業(yè)的技術(shù)支持和服務(wù)。

容器服務(wù)之Kubernetes介紹

發(fā)布時(shí)間:2019-01-07 15:07:36

? ? ? ?? Kubernetes,簡(jiǎn)稱K8s。是一個(gè)開源的,用于管理云平臺(tái)中多個(gè)主機(jī)上的容器化的應(yīng)用,Kubernetes的目標(biāo)是讓部署容器化的應(yīng)用簡(jiǎn)單并且高效,Kubernetes提供了應(yīng)用部署,規(guī)劃,更新,維護(hù)的一種機(jī)制。

? ? ? ?? 傳統(tǒng)應(yīng)用通過(guò)腳本或者插件來(lái)安裝。這種方式的缺點(diǎn)是應(yīng)用的運(yùn)行、配置、生命周期等與當(dāng)前的系統(tǒng)綁定,對(duì)于應(yīng)用的升級(jí)更新、回滾等操作不便。也可以通過(guò)創(chuàng)建虛擬機(jī)來(lái)實(shí)現(xiàn)某些功能,但是虛擬機(jī)非常重,移植性比較差。在這種情況下,容器技術(shù)就順應(yīng)而生。

? ? ? ? 容器之間相互隔離,每個(gè)容器都有自己的文件系統(tǒng),容器之間不會(huì)相互影響,能區(qū)分計(jì)算資源。容器資源占用少、利用率高、部署快,每個(gè)應(yīng)用可以被打包成一個(gè)容器鏡像,應(yīng)用與容器的一對(duì)一關(guān)系也使容器具有更大的優(yōu)勢(shì)。每個(gè)應(yīng)用不需要與其他應(yīng)用堆棧組合,也不需要依賴于生產(chǎn)環(huán)境基礎(chǔ)結(jié)構(gòu),這使得從研發(fā)到測(cè)試、生產(chǎn)能提供一致的環(huán)境,容器比虛擬機(jī)更輕量、更便于監(jiān)控和管理。

什么是Kubernetes?

? ? ? ? Kubernetes(k8s)是一個(gè)用于容器集群的自動(dòng)化部署、擴(kuò)容以及運(yùn)維的開源平臺(tái)。使用Kubernetes可以:

? ? ? ? 自動(dòng)化容器的部署和復(fù)制

? ? ? ? 隨時(shí)擴(kuò)展或收縮容器規(guī)模

? ? ? ? 將容器組織成組,并且提供容器間的負(fù)載均衡

? ? ? ? 很容易地升級(jí)應(yīng)用程序容器的新版本

? ? ? ? 提供容器彈性,如果容器失效就替換它,等等...

Kubernetes特點(diǎn): ?

? ? ?? 可擴(kuò)展: 模塊化, 插件化, 可掛載, 可組合

? ? ?? 自愈: 自動(dòng)布置,自動(dòng)重啟,自動(dòng)復(fù)制,自動(dòng)擴(kuò)展

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

 

Kubernetes架構(gòu)設(shè)計(jì)

? ? ? ?? Kubernetes集群包含有節(jié)點(diǎn)代理kubelet和Master組件(APIs, scheduler, etc),一切都基于分布式的存儲(chǔ)系統(tǒng)。下面這張圖是Kubernetes的架構(gòu)圖。

   

Kubernetes節(jié)點(diǎn)

? ? ? ?? 在這張系統(tǒng)架構(gòu)圖中,我們把服務(wù)分為運(yùn)行在工作節(jié)點(diǎn)上的服務(wù)和組成集群級(jí)別控制板的服務(wù)。

? ? ? ?? Kubernetes節(jié)點(diǎn)有運(yùn)行應(yīng)用容器必備的服務(wù),而這些都是受Master的控制。

? ? ? ?? 每次個(gè)節(jié)點(diǎn)上當(dāng)然都要運(yùn)行Docker。Docker來(lái)負(fù)責(zé)所有具體的映像下載和容器運(yùn)行。

Kubernetes主要由以下幾個(gè)核心組件組成:

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

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

? ? ? ? controller manager負(fù)責(zé)維護(hù)集群的狀態(tài),比如故障檢測(cè)、自動(dòng)擴(kuò)展、滾動(dòng)更新等;

? ? ? ? scheduler負(fù)責(zé)資源的調(diào)度,按照預(yù)定的調(diào)度策略將Pod調(diào)度到相應(yīng)的機(jī)器上;

? ? ? ? kubelet負(fù)責(zé)維護(hù)容器的生命周期,同時(shí)也負(fù)責(zé)Volume(CVI)和網(wǎng)絡(luò)(CNI)的管理;

? ? ? ? Container runtime負(fù)責(zé)鏡像管理以及Pod和容器的真正運(yùn)行(CRI);

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

除了核心組件,還有一些推薦的Add-ons:

? ? ? ? kube-dns負(fù)責(zé)為整個(gè)集群提供DNS服務(wù)

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

? ? ? ? Heapster提供資源監(jiān)控

? ? ? ? Dashboard提供GUI

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

? ? ? ? Fluentd-elasticsearch提供集群日志采集、存儲(chǔ)與查詢

   

分層架構(gòu)

? ? ? ? Kubernetes設(shè)計(jì)理念和功能其實(shí)就是一個(gè)類似Linux的分層架構(gòu),如下圖所示:

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

  • 應(yīng)用層:部署(無(wú)狀態(tài)應(yīng)用、有狀態(tài)應(yīng)用、批處理任務(wù)、集群應(yīng)用等)和路由(服務(wù)發(fā)現(xiàn)、DNS解析等)

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

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

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

  • Kubernetes外部:日志、監(jiān)控、配置管理、CI、CD、Workflow、FaaS、OTS應(yīng)用、ChatOps等

  • Kubernetes內(nèi)部:CRI、CNI、CVI、鏡像倉(cāng)庫(kù)、Cloud Provider、集群自身的配置和管理等

 

為什么 Kubernetes 是一個(gè)平臺(tái)?

? ? ? ?? Kubernetes 提供了很多的功能,總會(huì)有新的場(chǎng)景受益于新特性。它可以簡(jiǎn)化應(yīng)用程序的工作流,加快開發(fā)速度。被大家認(rèn)可的應(yīng)用編排通常需要有較強(qiáng)的自動(dòng)化能力。這就是為什么 Kubernetes 被設(shè)計(jì)作為構(gòu)建組件和工具的生態(tài)系統(tǒng)平臺(tái),以便更輕松地部署、擴(kuò)展和管理應(yīng)用程序。

? ? ? ?? Label允許用戶按照自己的方式組織管理對(duì)應(yīng)的資源。注解使用戶能夠以自定義的描述信息來(lái)修飾資源,以適用于自己的工作流,并為管理工具提供檢查點(diǎn)狀態(tài)的簡(jiǎn)單方法。

? ? ? ?? 此外,Kubernetes 控制面 (Control Plane) 是構(gòu)建在相同的APIs上面,開發(fā)人員和用戶都可以用。用戶可以編寫自己的控制器,調(diào)度器等等,如果這么做,根據(jù)新加的自定義API ,可以擴(kuò)展當(dāng)前的通用CLI命令行工具。

? ? ? ? 這種設(shè)計(jì)使得許多其他系統(tǒng)可以構(gòu)建在 Kubernetes 之上。

Kubernetes 不是什么:

? ? ? ? Kubernetes不是一個(gè)傳統(tǒng)的,包羅一切的PaaS系統(tǒng)。我們保留用戶的選擇,這一點(diǎn)非常重要。

Kubernetes不限制支持應(yīng)用的種類。它不限制應(yīng)用框架,或者支持的運(yùn)行時(shí)語(yǔ)言,也不去區(qū)分?“apps” 或者“services”。 Kubernetes致力于支持不同負(fù)載應(yīng)用,包括有狀態(tài)、無(wú)狀態(tài)、數(shù)據(jù)處理類型的應(yīng)用。只要這個(gè)應(yīng)用可以在容器里運(yùn)行,那么它就可以在Kubernetes上很多地運(yùn)行。

Kubernetes不提供中間件(如message buses),數(shù)據(jù)處理框架(如Spark),數(shù)據(jù)庫(kù)(如Mysql),或者集群存儲(chǔ)系統(tǒng)(如Ceph)。但這些應(yīng)用都可以運(yùn)行于Kubernetes。

Kubernetes沒(méi)有一個(gè)點(diǎn)擊即可用的應(yīng)用市場(chǎng)。

Kubernetes不部署源碼不編譯應(yīng)用。持續(xù)集成的 (CI)工作流方面,不同的用戶有不同的需求和偏好,因此,我們提供分層的 CI工作流,但并不定義它應(yīng)該怎么做。

Kubernetes允許用戶選擇自己的日志、監(jiān)控和報(bào)警系統(tǒng)。

Kubernetes不提供可理解的應(yīng)用配置語(yǔ)言(e.g., jsonnet).

Kubernetes不提供或者任何綜合的機(jī)器配置,維護(hù),管理或者自愈系統(tǒng)。

? ? ? ?? 另一方面,大量的Paas系統(tǒng)都可以運(yùn)行在Kubernetes上,比如Openshift, Deis, 和Gondor。你可以構(gòu)建自己的Paas平臺(tái),CI集成。

? ? ? ? 因?yàn)镵ubernetes運(yùn)行在應(yīng)用而非硬件層面,它提供了普通的Paas平臺(tái)提供的一些通用功能,比如部署,擴(kuò)展,負(fù)載均衡,日志,監(jiān)控等。然而,Kubernetes并非一個(gè)龐然大物,這些功能是可選的。

? ? ? ?? 另外,Kubernetes不僅僅是一個(gè)“編排系統(tǒng)”;它消彌了編排的需要。“編排”的定義是指執(zhí)行一個(gè)預(yù)定的工作流:先做A,之后B,然后C。相反地,Kubernetes是由一系列獨(dú)立的、可組合的驅(qū)使當(dāng)前狀態(tài)走向預(yù)想狀態(tài)的控制進(jìn)程組成的。怎么樣從A到C并不重要:達(dá)到目的就好。當(dāng)然也是需要中心控制的;方法更像排舞的過(guò)程。這讓這個(gè)系統(tǒng)更加好用更加強(qiáng)大、健壯、 有彈性且可擴(kuò)展。