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

分享

基于Docker及Kubernetes技術(shù)構(gòu)建容器云(PaaS)平臺(tái)概述

 yespon 2017-11-10

【編者的話】

目前很多的容器云平臺(tái)通過Docker及Kubernetes等技術(shù)提供應(yīng)用運(yùn)行平臺(tái),,從而實(shí)現(xiàn)運(yùn)維自動(dòng)化,快速部署應(yīng)用,、彈性伸縮和動(dòng)態(tài)調(diào)整應(yīng)用環(huán)境資源,,提高研發(fā)運(yùn)營效率。

從宏觀到微觀(從抽象到具體)的思路來理解:云計(jì)算→PaaS→ App Engine→XAE[XXX App Engine] (XAE泛指一類應(yīng)用運(yùn)行平臺(tái),,例如GAE,、SAE、BAE等),。

本文簡要介紹了與容器云相關(guān)的幾個(gè)重要概念:PaaS,、App Engine、Docker,、Kubernetes,。

1. PaaS概述

1.1. PaaS概念

  1. PaaS(Platform as a service),平臺(tái)即服務(wù),,指將軟件研發(fā)的平臺(tái)(或業(yè)務(wù)基礎(chǔ)平臺(tái))作為一種服務(wù),,以SaaS的模式提交給用戶。
  2. PaaS是云計(jì)算服務(wù)的其中一種模式,,云計(jì)算是一種按使用量付費(fèi)的模式的服務(wù),,類似一種租賃服務(wù),服務(wù)可以是基礎(chǔ)設(shè)施計(jì)算資源(IaaS),,平臺(tái)(PaaS),,軟件(SaaS)。租用IT資源的方式來實(shí)現(xiàn)業(yè)務(wù)需要,,如同水力,、電力資源一樣,計(jì)算,、存儲(chǔ),、網(wǎng)絡(luò)將成為企業(yè)IT運(yùn)行的一種被使用的資源,,無需自己建設(shè),可按需獲得,。
  3. PaaS的實(shí)質(zhì)是將互聯(lián)網(wǎng)的資源服務(wù)化為可編程接口,,為第三方開發(fā)者提供有商業(yè)價(jià)值的資源和服務(wù)平臺(tái)。簡而言之,,IaaS就是賣硬件及計(jì)算資源,,PaaS就是賣開發(fā)、運(yùn)行環(huán)境,,SaaS就是賣軟件,。

1.2. IaaS/PaaS/SaaS說明

 

類型
說明
比喻
例子
IaaS:Infrastructure-as-a-Service(基礎(chǔ)設(shè)施即服務(wù))提供的服務(wù)是計(jì)算基礎(chǔ)設(shè)施地皮,需要自己蓋房子Amazon EC2(亞馬遜彈性云計(jì)算)
PaaS: Platform-as-a-Service(平臺(tái)即服務(wù))提供的服務(wù)是軟件研發(fā)的平臺(tái)或業(yè)務(wù)基礎(chǔ)平臺(tái)商品房,,需要自己裝修GAE(谷歌開發(fā)者平臺(tái))
SaaS: Software-as-a-Service(軟件即服務(wù))提供的服務(wù)是運(yùn)行在云計(jì)算基礎(chǔ)設(shè)施上的應(yīng)用程序酒店套房,,可以直接入住谷歌的Gmail郵箱

 

1.3. PaaS的特點(diǎn)(三種層次)

特點(diǎn)
說明
平臺(tái)即服務(wù)PaaS提供的服務(wù)就是個(gè)基礎(chǔ)平臺(tái),一個(gè)環(huán)境,,而不是具體的應(yīng)用
平臺(tái)及服務(wù)不僅提供平臺(tái),,還提供對(duì)該平臺(tái)的技術(shù)支持、優(yōu)化等服務(wù)
平臺(tái)級(jí)服務(wù)“平臺(tái)級(jí)服務(wù)”即強(qiáng)大穩(wěn)定的平臺(tái)和專業(yè)的技術(shù)支持團(tuán)隊(duì),,保障應(yīng)用的穩(wěn)定使用

2. App Engine概述

2.1. App Engine概念

App Engine是PaaS模式的一種實(shí)現(xiàn)方式,,App Engine將應(yīng)用運(yùn)行所需的 IT 資源和基礎(chǔ)設(shè)施以服務(wù)的方式提供給用戶,包括了中間件服務(wù),、資源管理服務(wù),、彈性調(diào)度服務(wù)、消息服務(wù)等多種服務(wù)形式,。App Engine的目標(biāo)是對(duì)應(yīng)用提供完整生命周期(包括設(shè)計(jì),、開發(fā)、測(cè)試和部署等階段)的支持,,從而減少了用戶在購置和管理應(yīng)用生命周期內(nèi)所必須的軟硬件以及部署應(yīng)用和IT 基礎(chǔ)設(shè)施的成本,,同時(shí)簡化了以上工作的復(fù)雜度。常見的App Engine有:GAE(Google App Engine),,SAE(Sina App Engine),,BAE(Baidu App Engine)。

App Engine利用虛擬化與自動(dòng)化技術(shù)實(shí)現(xiàn)快速搭建部署應(yīng)用運(yùn)行環(huán)境和動(dòng)態(tài)調(diào)整應(yīng)用運(yùn)行時(shí)環(huán)境資源這兩個(gè)目標(biāo),。一方面實(shí)現(xiàn)即時(shí)部署以及快速回收,,降低了環(huán)境搭建時(shí)間,避免了手工配置錯(cuò)誤,,快速重復(fù)搭建環(huán)境,,及時(shí)回收資源,, 減少了低利用率硬件資源的空置,。另一方面,,根據(jù)應(yīng)用運(yùn)行時(shí)的需求對(duì)應(yīng)用環(huán)境進(jìn)行動(dòng)態(tài)調(diào)整,實(shí)現(xiàn)了應(yīng)用平臺(tái)的彈性擴(kuò)展和自優(yōu)化,,減少了非高峰時(shí)硬件資源的空置,。

簡而言之,App Engine主要目標(biāo)是:Easy to maintain(維護(hù)), Easy to scale(擴(kuò)容), Easy to build(構(gòu)建),。

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

 

2.3. 組成模塊說明

組成模塊
模塊說明
App Router[流量接入層]接收用戶請(qǐng)求,,并轉(zhuǎn)發(fā)到不同的App Runtime。
App Runtime[應(yīng)用運(yùn)行層]應(yīng)用運(yùn)行環(huán)境,,為各個(gè)應(yīng)用提供基本的運(yùn)行引擎,,從而讓app能夠運(yùn)行起來。
Services[基礎(chǔ)服務(wù)層]各個(gè)通用基礎(chǔ)服務(wù),,主要是對(duì)主流的服務(wù)提供通用的接入,,例如數(shù)據(jù)庫等。
Platform Control[平臺(tái)控制層]整個(gè)平臺(tái)的控制中心,,實(shí)現(xiàn)業(yè)務(wù)調(diào)度,,彈性擴(kuò)容、資源審計(jì),、集群管理等相關(guān)工作,。
Manage System[管理界面層]提供友好可用的管理操作界面方便平臺(tái)管理員來控制管理整個(gè)平臺(tái)。
Platform Support[平臺(tái)支持層]為應(yīng)用提供相關(guān)的支持,,比如應(yīng)用監(jiān)控,、問題定位、分布式日志重建,、統(tǒng)計(jì)分析等,。
Log Center[日志中心]實(shí)時(shí)收集相關(guān)應(yīng)用及系統(tǒng)的日志(日志收集),提供實(shí)時(shí)計(jì)算和分析平臺(tái)(日志處理),。
Code Center[代碼中心]完成代碼存儲(chǔ),、部署上線相關(guān)的工作。

3. 容器云平臺(tái)技術(shù)棧

功能組成部分
使用工具
應(yīng)用載體Docker
編排工具Kubernetes
配置管理Etcd
網(wǎng)絡(luò)管理Flannel
存儲(chǔ)管理Ceph
底層實(shí)現(xiàn)Linux內(nèi)核的Namespace[資源隔離]和CGroups[資源控制]
  • Namespace[資源隔離]
    Namespaces機(jī)制提供一種資源隔離方案,。PID,IPC,Network等系統(tǒng)資源不再是全局性的,,而是屬于某個(gè)特定的Namespace。每個(gè)namespace下的資源對(duì)于其他namespace下的資源都是透明,,不可見的,。
  • CGroups[資源控制]
    CGroup(control group)是將任意進(jìn)程進(jìn)行分組化管理的Linux內(nèi)核功能。CGroup本身是提供將進(jìn)程進(jìn)行分組化管理的功能和接口的基礎(chǔ)結(jié)構(gòu),,I/O或內(nèi)存的分配控制等具體的資源管理功能是通過這個(gè)功能來實(shí)現(xiàn)的,。CGroups可以限制、記錄,、隔離進(jìn)程組所使用的物理資源(包括:CPU,、memory,、IO等),為容器實(shí)現(xiàn)虛擬化提供了基本保證,。CGroups本質(zhì)是內(nèi)核附加在程序上的一系列鉤子(hooks),,通過程序運(yùn)行時(shí)對(duì)資源的調(diào)度觸發(fā)相應(yīng)的鉤子以達(dá)到資源追蹤和限制的目的。

4. Docker概述

更多詳情請(qǐng)參考:Docker整體架構(gòu)圖

4.1. Docker介紹

  1. Docker - Build, Ship, and Run Any App, Anywhere
  2. Docker是一種Linux容器工具集,,它是為“構(gòu)建(Build),、交付(Ship)和運(yùn)行(Run)”分布式應(yīng)用而設(shè)計(jì)的。
  3. Docker相當(dāng)于把應(yīng)用以及應(yīng)用所依賴的環(huán)境完完整整地打成了一個(gè)包,,這個(gè)包拿到哪里都能原生運(yùn)行,。因此可以在開發(fā)、測(cè)試,、運(yùn)維中保證環(huán)境的一致性,。
  4. Docker的本質(zhì):Docker=LXC(Namespace+CGroups)+Docker Images,即在Linux內(nèi)核的Namespace[資源隔離]和CGroups[資源控制]技術(shù)的基礎(chǔ)上通過鏡像管理機(jī)制來實(shí)現(xiàn)輕量化設(shè)計(jì),。

4.2. Docker的基本概念


4.2.1. 鏡像

Docker 鏡像就是一個(gè)只讀的模板,,可以把鏡像理解成一個(gè)模子(模具),由模子(鏡像)制作的成品(容器)都是一樣的(除非在生成時(shí)加額外參數(shù)),,修改成品(容器)本身并不會(huì)對(duì)模子(鏡像)產(chǎn)生影響(除非將成品提交成一個(gè)模子),,容器重建時(shí),即由模子(鏡像)重新制作成一個(gè)成品(容器),,與其他由該模子制作成的成品并無區(qū)別,。

例如:一個(gè)鏡像可以包含一個(gè)完整的 ubuntu 操作系統(tǒng)環(huán)境,里面僅安裝了 Apache 或用戶需要的其它應(yīng)用程序,。鏡像可以用來創(chuàng)建 Docker 容器,。Docker 提供了一個(gè)很簡單的機(jī)制來創(chuàng)建鏡像或者更新現(xiàn)有的鏡像,用戶可以直接從其他人那里下載一個(gè)已經(jīng)做好的鏡像來直接使用,。

4.2.2. 容器

Docker 利用容器來運(yùn)行應(yīng)用,。容器是從鏡像創(chuàng)建的運(yùn)行實(shí)例。它可以被啟動(dòng),、開始,、停止、刪除,。每個(gè)容器都是相互隔離的,、保證安全的平臺(tái)??梢园讶萜骺醋鍪且粋€(gè)簡易版的 Linux 環(huán)境(包括root用戶權(quán)限,、進(jìn)程空間、用戶空間和網(wǎng)絡(luò)空間等)和運(yùn)行在其中的應(yīng)用程序。

4.2.3. 倉庫

倉庫是集中存放鏡像文件的場(chǎng)所,。有時(shí)候會(huì)把倉庫和倉庫注冊(cè)服務(wù)器(Registry)混為一談,,并不嚴(yán)格區(qū)分。實(shí)際上,,倉庫注冊(cè)服務(wù)器上往往存放著多個(gè)倉庫,,每個(gè)倉庫中又包含了多個(gè)鏡像,,每個(gè)鏡像有不同的標(biāo)簽(tag),。

4.3. Docker的優(yōu)勢(shì)

 

  1. 容器的快速輕量

    容器的啟動(dòng),停止和銷毀都是以秒或毫秒為單位的,,并且相比傳統(tǒng)的虛擬化技術(shù),,使用容器在CPU、內(nèi)存,,網(wǎng)絡(luò)IO等資源上的性能損耗都有同樣水平甚至更優(yōu)的表現(xiàn),。

  2. 一次構(gòu)建,到處運(yùn)行

    當(dāng)將容器固化成鏡像后,,就可以非??焖俚丶虞d到任何環(huán)境中部署運(yùn)行。而構(gòu)建出來的鏡像打包了應(yīng)用運(yùn)行所需的程序,、依賴和運(yùn)行環(huán)境,, 這是一個(gè)完整可用的應(yīng)用集裝箱,在任何環(huán)境下都能保證環(huán)境一致性,。

  3. 完整的生態(tài)鏈

    容器技術(shù)并不是Docker首創(chuàng),,但是以往的容器實(shí)現(xiàn)只關(guān)注于如何運(yùn)行,而Docker站在巨人的肩膀上進(jìn)行整合和創(chuàng)新,,特別是Docker鏡像的設(shè)計(jì),,完美地解決了容器從構(gòu)建、交付到運(yùn)行,,提供了完整的生態(tài)鏈支持,。

5. Kubernetes概述

更多詳情請(qǐng)參考:Kubernetes總架構(gòu)圖

5.1. Kubernetes介紹

Kubernetes是Google開源的容器集群管理系統(tǒng)。它構(gòu)建Docker技術(shù)之上,,為容器化的應(yīng)用提供資源調(diào)度,、部署運(yùn)行、服務(wù)發(fā)現(xiàn),、擴(kuò)容縮容等整一套功能,,本質(zhì)上可看作是基于容器技術(shù)的Micro-PaaS平臺(tái),即第三代PaaS的代表性項(xiàng)目,。

5.2. Kubernetes的基本概念

5.2.1. Pod

Pod是若干個(gè)相關(guān)容器的組合,,是一個(gè)邏輯概念,Pod包含的容器運(yùn)行在同一個(gè)宿主機(jī)上,這些容器使用相同的網(wǎng)絡(luò)命名空間,、IP地址和端口,,相互之間能通過localhost來發(fā)現(xiàn)和通信,共享一塊存儲(chǔ)卷空間,。在Kubernetes中創(chuàng)建,、調(diào)度和管理的最小單位是Pod。一個(gè)Pod一般只放一個(gè)業(yè)務(wù)容器和一個(gè)用于統(tǒng)一網(wǎng)絡(luò)管理的網(wǎng)絡(luò)容器,。

5.2.2. Replication Controller

Replication Controller是用來控制管理Pod副本(Replica,,或者稱實(shí)例),Replication Controller確保任何時(shí)候Kubernetes集群中有指定數(shù)量的Pod副本在運(yùn)行,,如果少于指定數(shù)量的Pod副本,,Replication Controller會(huì)啟動(dòng)新的Pod副本,反之會(huì)殺死多余的以保證數(shù)量不變,。另外Replication Controller是彈性伸縮,、滾動(dòng)升級(jí)的實(shí)現(xiàn)核心。

5.2.3. Service

Service是真實(shí)應(yīng)用服務(wù)的抽象,,定義了Pod的邏輯集合和訪問這個(gè)Pod集合的策略,,Service將代理Pod對(duì)外表現(xiàn)為一個(gè)單一訪問接口,外部不需要了解后端Pod如何運(yùn)行,,這給擴(kuò)展或維護(hù)帶來很大的好處,,提供了一套簡化的服務(wù)代理和發(fā)現(xiàn)機(jī)制。

5.2.4. Label

Label是用于區(qū)分Pod,、Service,、Replication Controller的Key/Value鍵值對(duì),實(shí)際上Kubernetes中的任意API對(duì)象都可以通過Label進(jìn)行標(biāo)識(shí),。每個(gè)API對(duì)象可以有多個(gè)Label,,但是每個(gè)Label的Key只能對(duì)應(yīng)一個(gè)Value。Label是Service和Replication Controller運(yùn)行的基礎(chǔ),,它們都通過Label來關(guān)聯(lián)Pod,,相比于強(qiáng)綁定模型,這是一種非常好的松耦合關(guān)系,。

5.2.5. Node

Kubernets屬于主從的分布式集群架構(gòu),,Kubernets Node(簡稱為Node,早期版本叫做Minion)運(yùn)行并管理容器,。Node作為Kubernetes的操作單元,,將用來分配給Pod(或者說容器)進(jìn)行綁定,Pod最終運(yùn)行在Node上,,Node可以認(rèn)為是Pod的宿主機(jī),。

5.3. Kubernetes架構(gòu)


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

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多