一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

您好,歡迎來(lái)電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>數(shù)值算法/人工智能>

詳細(xì)分析以模板引擎為核心部署框架

大?。?/span>0.5 MB 人氣: 2017-09-28 需要積分:1

  導(dǎo)讀:容器創(chuàng)建或者應(yīng)用部署配置繁雜且存在變數(shù),為了保證系統(tǒng)靈活性和復(fù)用性,本文重點(diǎn)講述如何以模板引擎為核心,構(gòu)建統(tǒng)一的容器部署框架。

  在大家使用容器的過(guò)程中,都會(huì)有一種經(jīng)歷,容器配置項(xiàng)眾多大概有四五十項(xiàng),且需要一定技術(shù)背景才能理解。部署過(guò)程中,用戶常常會(huì)因?yàn)閷?duì)于配置參數(shù)缺乏理解,導(dǎo)致容器啟動(dòng),應(yīng)用部署或者升級(jí)時(shí)遇到各種各樣的問(wèn)題。用戶如何加快對(duì)不同參數(shù)的理解并且能夠根據(jù)不同的應(yīng)用類型和場(chǎng)景,做相應(yīng)擴(kuò)展,本文將重點(diǎn)要探討和解決這些問(wèn)題。

  容器創(chuàng)建或者應(yīng)用部署配置繁雜且存在變數(shù),為了保證系統(tǒng)靈活性和復(fù)用性,決定以模板引擎為核心,構(gòu)建統(tǒng)一的容器部署框架。本文重點(diǎn)講述如何構(gòu)建模板引擎以及以模板引擎為核心構(gòu)建容器部署框架的運(yùn)行原理。模板引擎中,符合一定格式規(guī)范的文件是基礎(chǔ),對(duì)于可能有變化或者根據(jù)部署流程需要變化的位置,使用參數(shù)標(biāo)識(shí)站位。模板文件結(jié)尾追加參數(shù)標(biāo)識(shí)的定義,用來(lái)執(zhí)行參數(shù)標(biāo)識(shí)語(yǔ)義轉(zhuǎn)化。模板或者參數(shù)標(biāo)識(shí)的具體內(nèi)容,可以通過(guò)特定配置文件讀取或者接收客戶端請(qǐng)求參數(shù)。

  模板引擎

  模板引擎由模板定義,模板解析,模板轉(zhuǎn)換,模板執(zhí)行四個(gè)模塊組成。模板定義依賴于容器集群的管理框架,是非可執(zhí)行的文件。模板解析器負(fù)責(zé)把模板一分為二:一部分形成非可執(zhí)行的部署模板;一部分形成部署模板中參數(shù)的定義說(shuō)明,參數(shù)定義說(shuō)明通過(guò)唯一的站位標(biāo)識(shí)符與部署模板中的站位標(biāo)識(shí)符一一對(duì)應(yīng)。模板轉(zhuǎn)換器接受參數(shù)值,結(jié)合解析器中生成的部署模板,參數(shù)值標(biāo)識(shí)與模板中占位標(biāo)識(shí)關(guān)聯(lián),參數(shù)值通過(guò)占位標(biāo)識(shí)替換,生成可執(zhí)行文件。模板執(zhí)行器負(fù)責(zé)根據(jù)模板創(chuàng)建對(duì)象,一般有調(diào)度框架或者容器引擎承擔(dān)。

  模板引擎的執(zhí)行原理如圖1所示:

  詳細(xì)分析以模板引擎為核心部署框架

  圖1 模板引擎的執(zhí)行原理

  模板定義

  模板定義包括兩類信息:部署模板;參數(shù)標(biāo)識(shí)。

  以kubernetes的部署模板為例,部署模板涉及到4種不同類型定義,分別是:資源、版本、信息說(shuō)明、數(shù)據(jù)配置。

  資源:表示kubernetes中定義的對(duì)象類型。

  版本:表示對(duì)象的版本

  信息說(shuō)明:包括對(duì)象名稱,標(biāo)簽,注釋等,為對(duì)象查找或者調(diào)度提供索引。

  數(shù)據(jù)配置:負(fù)責(zé)定義容器處于運(yùn)行態(tài)遵循的標(biāo)準(zhǔn),包括端口、環(huán)境變量、資源、調(diào)度、健康檢查等。

  參數(shù)標(biāo)識(shí)由6個(gè)屬性組成,分別是parameters、name、deion、displayname、value、type。

  parameters:參數(shù)定義起始標(biāo)志

  deion:參數(shù)的提示信息

  displayname:具體語(yǔ)義信息

  name:與引用參數(shù)名稱對(duì)應(yīng),表示描述信息為對(duì)應(yīng)的引用參數(shù)

  value:參數(shù)默認(rèn)值

  type:代表不同的樣式,客戶端根據(jù)type類型,呈現(xiàn)具體樣式

  以kubernetes中的namespace對(duì)象為例,模板的完整定義如下代碼所示:

  apiVersion: v1kind: Namespacemetadata: name: ${name }---{“parameters”: [ { “deion”: “命名空間”, “displayName”: “命名空間”, “name”: “name”, “value”: “”, “type”: “String” }]}

  由上述代碼中,包含兩部分內(nèi)容:部署模板,參數(shù)說(shuō)明。

  部署模板如下代碼塊所示:

  apiVersion:v1kind:Namespacemetadata:name: ${name }

  部署模板定義對(duì)象創(chuàng)建的所有內(nèi)容,模板中字段含義描述如下:

  apiVersion:通用選項(xiàng),定義版本信息

  Kind:定義對(duì)象類型,區(qū)別不同的對(duì)象

  Metadata:定義部署時(shí)指定的參數(shù)鍵值對(duì)

  ${}:表示參數(shù)的引用值,即可替代參數(shù)

  參數(shù)標(biāo)識(shí),定義了客戶端動(dòng)態(tài)獲取參數(shù)后的展現(xiàn)形態(tài),下面代碼示例參數(shù)標(biāo)識(shí)定義:

  {“parameters”: [ { “deion”: “命名空間”, “displayName”: “命名空間”, “name”: “name”, “value”: “”, “type”: “String” }]}

  參數(shù)標(biāo)識(shí)定義統(tǒng)一的格式。通過(guò)語(yǔ)義轉(zhuǎn)化,把繁雜的配置轉(zhuǎn)變?yōu)橛脩粢子诶斫獾姆绞?。客戶端讀取到Parameters標(biāo)識(shí),通過(guò)模板解析器抽象可輸入?yún)?shù),展示需要的Form表單,提供用戶輸入的功能。

  模板定義由對(duì)Kubernetes或者Docker熟悉的專業(yè)人員編寫(xiě)。可以根據(jù)具體的業(yè)務(wù)場(chǎng)景,進(jìn)行實(shí)時(shí)和動(dòng)態(tài)調(diào)整,保證部署的靈活性和擴(kuò)展性。同時(shí),系統(tǒng)根據(jù)不同的對(duì)象,提供基礎(chǔ)模板。用戶在具備一定知識(shí)背景的基礎(chǔ)上同樣可以進(jìn)行模板制作和維護(hù)。

非常好我支持^.^

(0) 0%

不好我反對(duì)

(0) 0%

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?