色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于kubernetes托管虛機(jī)后續(xù)管理設(shè)計(jì)

454398 ? 來源:oschina ? 作者:8小時 ? 2020-10-15 16:52 ? 次閱讀

基于kubernetes托管虛機(jī)有一些現(xiàn)成的方案,不過今天筆者要聊的是在虛機(jī)交付后,該如何實(shí)現(xiàn)后續(xù)的管理,包括如何實(shí)現(xiàn)環(huán)境和代碼的部署與更新,感興趣的可以一起看看,本篇是設(shè)計(jì)篇

1. 虛機(jī)應(yīng)用的托管

由于虛機(jī)應(yīng)用交付流程鏈路的復(fù)雜性,我們無法設(shè)計(jì)一套機(jī)制,能cover住100%的異常場景,所以我們專注正常流的交付,后期可以針對異常的案例來進(jìn)行復(fù)盤,不斷提高交付成功率,本節(jié)主要介紹我們設(shè)計(jì)的自動化交付流程、以及用到的k8s相關(guān)的機(jī)制

1.1 面向終態(tài)的交付

虛機(jī)應(yīng)用典型的交付流程大概是這樣的:申請機(jī)器-》部署環(huán)境-》部署代碼-》綁定監(jiān)控-》健康檢查-》灰度上線,如果要對標(biāo)容器則創(chuàng)建機(jī)器、部署環(huán)境、部署代碼相當(dāng)于完成了一個“虛機(jī)鏡像”的交付,也是我們主要要自動化的流程

1.1.1 核心狀態(tài)機(jī)

在云原生中通常都是基于面向終態(tài)的交付方式, 基于目標(biāo)狀態(tài)和當(dāng)前狀態(tài)由系統(tǒng)自動進(jìn)行決策,我們根據(jù)現(xiàn)狀定義了如下的狀態(tài)機(jī):

這里重點(diǎn)說下就緒狀態(tài),就緒狀態(tài)表示應(yīng)用的當(dāng)前的部署環(huán)境、代碼完成,并且健康檢查都通過了即一個節(jié)點(diǎn)可以進(jìn)行灰度引流了

同時如果一個應(yīng)用的環(huán)境變更則會按照對應(yīng)的安全頻率來進(jìn)行節(jié)點(diǎn)環(huán)境的變更,只需要變更節(jié)點(diǎn)的環(huán)境列表,系統(tǒng)會自動發(fā)現(xiàn)當(dāng)前節(jié)點(diǎn)需要進(jìn)行更新,進(jìn)行狀態(tài)機(jī)的轉(zhuǎn)換;然后自動化系統(tǒng)會發(fā)現(xiàn)這個變更則就會進(jìn)行檢查并且自動化的進(jìn)行環(huán)境的安裝

1.1.2 故障轉(zhuǎn)移

如果發(fā)現(xiàn)某個節(jié)點(diǎn)宕機(jī)后,則會由系統(tǒng)首先將系統(tǒng)設(shè)置為下線狀態(tài)(IAAS平臺還不支持這個事情), 然后會根據(jù)策略來進(jìn)行決策是否自動進(jìn)行修復(fù),如果需要修復(fù)則系統(tǒng)會新創(chuàng)建一個節(jié)點(diǎn)然后執(zhí)行上述流程,否則則會修改對應(yīng)的副本數(shù)量

1.1.3 準(zhǔn)入機(jī)制

為了保障穩(wěn)定性我們在自動化的流程中加入準(zhǔn)入機(jī)制,即在對應(yīng)的階段允許引入人工節(jié)點(diǎn)來進(jìn)行決策,將控制權(quán)交給應(yīng)用運(yùn)維,并且提供相關(guān)的數(shù)據(jù)和策略輔助提高運(yùn)維決策效率

1.1.4 任務(wù)列表

那如果如何確定一個節(jié)點(diǎn)處于某個狀態(tài)下該做哪些任務(wù)呢?這里其實(shí)取決于兩部分當(dāng)前狀態(tài)和目標(biāo)狀態(tài),首先我們這里通過系統(tǒng)內(nèi)部(k8s)里面當(dāng)前的狀態(tài)來進(jìn)行計(jì)算以確定節(jié)點(diǎn)當(dāng)前該處于哪個狀態(tài),每當(dāng)進(jìn)入到一個狀態(tài)就會同時追加一個任務(wù)列表,controller則根據(jù)外部狀態(tài)和任務(wù)列表進(jìn)行自動化操作,并更新內(nèi)部狀態(tài),從而不斷的完成不同狀態(tài)的切換,最終達(dá)到目標(biāo)狀態(tài)

1.1.5 異常流程

異常流程的處理可能是所有自動化系統(tǒng)里面最頭痛的了,在我們的系統(tǒng)里面主要通過兩種方式來解決:人工和自動化(好像特么的是廢話),

首先來說自動化,當(dāng)節(jié)點(diǎn)某些自動化任務(wù)無法進(jìn)行時系統(tǒng)會通知運(yùn)維,當(dāng)前系統(tǒng)遇到無法處理的異常了,這時候運(yùn)維會根據(jù)當(dāng)前問題來修復(fù)某些不滿足的條件,比如開通網(wǎng)絡(luò)策略、部署Agent等等,當(dāng)完成后只需要變更節(jié)點(diǎn)狀態(tài),后續(xù)就會自動化修復(fù)

當(dāng)遇到無法通過上述自動化短時間來解決的時候,運(yùn)行運(yùn)維進(jìn)行手工修復(fù),并強(qiáng)制更新對應(yīng)的狀態(tài),則系統(tǒng)會根據(jù)當(dāng)前的狀態(tài)進(jìn)行后續(xù)的操作,比如檢測到就緒之后就進(jìn)行負(fù)載掛載等

1.2 kubernetes相關(guān)機(jī)制

那如何利用k8s的相關(guān)機(jī)制來實(shí)現(xiàn)上述交付流程呢,這里主要通道了webhook、finalizer、annotations幾個機(jī)制

1.2.1 webhook

首先我們通過webhook再server更新的時候通過admission.Mutation機(jī)制來根據(jù)當(dāng)前內(nèi)部狀態(tài)進(jìn)行狀態(tài)的決策,以確定接下來的自動化任務(wù),在這環(huán)節(jié)我們實(shí)現(xiàn)了從部署環(huán)境-》部署代碼-》就緒狀態(tài)的轉(zhuǎn)換

1.2.2 finalizer

在主機(jī)進(jìn)行刪除的時候,需要等待負(fù)載刪除、暫停監(jiān)控、刪除虛機(jī)等流程全部結(jié)束后才能進(jìn)行節(jié)點(diǎn)對象的刪除,從而實(shí)現(xiàn)了節(jié)點(diǎn)信息的異步清理機(jī)制

2. 核心設(shè)計(jì)

2.1 核心對象設(shè)計(jì)

考慮到應(yīng)用的環(huán)境操作和部署操作兩個操作頻率的差異性,我們這里參考k8s聲明了兩個上層控制器,即通過VMReplicaSet來實(shí)現(xiàn)程序運(yùn)行環(huán)境的交付,而將部署操作交由VMDeployment來控制,同時兩個控制在操作某個實(shí)例的時候都會先進(jìn)行狀態(tài)檢測,然后在進(jìn)行資源的鎖定才能進(jìn)行相關(guān)的操作,從而保障執(zhí)行流程的穩(wěn)定性

2.2 狀態(tài)轉(zhuǎn)換機(jī)制

下面我們會按照幾個不同的場景來分別介紹下虛機(jī)狀態(tài)的轉(zhuǎn)換以及對應(yīng)控制器的控制,我們有兩個核心的設(shè)計(jì)理念:

1.人只負(fù)責(zé)環(huán)境配置的描述,由系統(tǒng)完成相關(guān)狀態(tài)和自動化操作

2.狀態(tài)的確定依賴于當(dāng)前現(xiàn)狀,同時人的決策高于一切

2.2.1 初始化

當(dāng)檢測副本數(shù)量發(fā)生變化VMReplicaSet首先會發(fā)送申請,確認(rèn)當(dāng)前是否要進(jìn)行機(jī)器的創(chuàng)建,同時會創(chuàng)建對應(yīng)的Server的Package配置,通過計(jì)算Package狀態(tài)設(shè)置當(dāng)前狀態(tài)為Initializing,并同時創(chuàng)建部署環(huán)境的任務(wù),然后等待環(huán)境部署的結(jié)果,同時會掛載Server的負(fù)載信息

等待環(huán)境部署完成后,控制器會自動檢測狀態(tài)并設(shè)置為Deploying,同時通過部署系統(tǒng)進(jìn)行代碼的部署,并將對象重新入隊(duì),直到狀態(tài)部署完成

代碼部署完成后,會進(jìn)行狀態(tài)檢測,如果系統(tǒng)節(jié)點(diǎn)健康檢查通過并且監(jiān)控狀態(tài)未發(fā)現(xiàn)異常,則會將節(jié)點(diǎn)設(shè)置為Ready狀態(tài),同時負(fù)載控制器和監(jiān)控控制器都會對應(yīng)的配置,至此完成虛機(jī)的初始化完成,后續(xù)如果環(huán)境不變,則代碼部署只需要重復(fù)當(dāng)前操作

2.2.2 有狀態(tài)的下線

虛機(jī)通常是有狀態(tài)的應(yīng)用,如果要下線通常都是選擇指定的節(jié)點(diǎn),并標(biāo)記為下線狀態(tài),同時結(jié)合finalizer和控制器完成對應(yīng)負(fù)載和監(jiān)控的同步操作,當(dāng)所有的finalizer都釋放后,最后進(jìn)行對應(yīng)節(jié)點(diǎn)的刪除

2.2.3 故障轉(zhuǎn)移機(jī)制

如果對應(yīng)的節(jié)點(diǎn)宕機(jī),則只需要加一個處理轉(zhuǎn)換邏輯即可,如果是短時間可以恢復(fù)就只需要將對應(yīng)的節(jié)點(diǎn)標(biāo)記為UnKnown,同時監(jiān)控和負(fù)載控制器進(jìn)行對應(yīng)的操作,然后等待重啟后接收到對應(yīng)的事件后將節(jié)點(diǎn)設(shè)置為Initializing, 然后系統(tǒng)會自動進(jìn)行對應(yīng)的檢測邏輯,自動轉(zhuǎn)換為Ready,監(jiān)控和負(fù)載控制器監(jiān)控自動執(zhí)行相關(guān)邏輯,即可完成上線

如果節(jié)點(diǎn)不可修復(fù)只需要將狀態(tài)設(shè)置為下線狀態(tài),然后對應(yīng)的副本控制器檢測到節(jié)點(diǎn)不足,就會自動調(diào)用IAAS系統(tǒng)進(jìn)行自動創(chuàng)建,然后執(zhí)行初始化流程即可

3. 未完待續(xù)

基于流程驅(qū)動的跟基于k8s的控制器在實(shí)現(xiàn)流程上其實(shí)并沒有本質(zhì)的差別,在云原生里面有很多種玩法,虛機(jī)應(yīng)用的管理本質(zhì)上就是復(fù)雜環(huán)境的管理。

如何管理復(fù)雜的環(huán)境,其實(shí)就是讓環(huán)境可描述,系統(tǒng)自治,盡可能減少人的參與,人只參與影響穩(wěn)定性的決策,而不參與任何關(guān)于流程驅(qū)動。
編輯:hfy

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    16396

    瀏覽量

    178513
  • 狀態(tài)機(jī)
    +關(guān)注

    關(guān)注

    2

    文章

    492

    瀏覽量

    27574
  • 負(fù)載控制器
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    6439
  • kubernetes
    +關(guān)注

    關(guān)注

    0

    文章

    225

    瀏覽量

    8725
收藏 人收藏

    評論

    相關(guān)推薦

    艾體寶與Kubernetes原生數(shù)據(jù)平臺AppsCode達(dá)成合作

    虹科姐妹公司艾體寶宣布與Kubernetes 原生數(shù)據(jù)平臺 AppsCode達(dá)成正式合作,致力于將其核心產(chǎn)品KubeDB引入中國市場,為企業(yè)提供專業(yè)、高效的云原生數(shù)據(jù)庫管理解決方案。
    的頭像 發(fā)表于 12-16 15:07 ?258次閱讀

    AI模型托管原理分析

    AI模型托管是指將訓(xùn)練好的AI模型部署在云端或邊緣服務(wù)器上,由第三方平臺提供模型運(yùn)行、管理和優(yōu)化等服務(wù)。以下,AI部落小編將對AI模型托管的原理進(jìn)行詳細(xì)分析。
    的頭像 發(fā)表于 11-07 09:33 ?205次閱讀

    大沖能源簽訂能源費(fèi)用托管型合同能源管理項(xiàng)目

    近日,大沖能源與徐州星晨婦兒醫(yī)院正式簽訂了能源費(fèi)用托管型合同能源管理項(xiàng)目,標(biāo)志著雙方在醫(yī)療設(shè)施能源優(yōu)化與管理方面邁出了重要一步。此次合作不僅體現(xiàn)了大沖能源在綜合能源托管領(lǐng)域的專業(yè)實(shí)力,
    的頭像 發(fā)表于 11-05 14:46 ?326次閱讀

    大帶寬服務(wù)器托管選擇建議

    大帶寬服務(wù)器托管是指將具有高速網(wǎng)絡(luò)連接傳輸速率的服務(wù)器,放置在專業(yè)的數(shù)據(jù)中心內(nèi)進(jìn)行管理和維護(hù)。主機(jī)推薦小編為您整理發(fā)布大帶寬服務(wù)器托管的一些關(guān)鍵信息及選擇建議。
    的頭像 發(fā)表于 10-29 11:44 ?154次閱讀

    機(jī)房托管費(fèi)用貴嗎?機(jī)房托管要考慮哪些因素?

     機(jī)房托管費(fèi)用受多種因素影響,包括地理位置、設(shè)備規(guī)模、服務(wù)水平、安全性要求等。不同配置和服務(wù)質(zhì)量的托管價(jià)格差異較大,一般1U服務(wù)器托管費(fèi)用一年在2000到5000元之間。Rak部落為您整理發(fā)布機(jī)房
    的頭像 發(fā)表于 08-16 11:34 ?535次閱讀

    機(jī)房托管的好處

    機(jī)房托管提供的專業(yè)級服務(wù)和便利性,是其受到企業(yè)青睞的重要原因。下面將詳細(xì)探討機(jī)房托管的多重優(yōu)勢,并了解這種服務(wù)模式如何幫助企業(yè)提升運(yùn)營效率和安全保障。Rak部落為您整理發(fā)布機(jī)房托管的好處。
    的頭像 發(fā)表于 08-08 10:08 ?236次閱讀

    機(jī)房托管服務(wù)器說明

    機(jī)房托管服務(wù)器是指將企業(yè)或個人的服務(wù)器放置到專業(yè)數(shù)據(jù)中心(IDC機(jī)房)進(jìn)行管理和維護(hù),由數(shù)據(jù)中心提供穩(wěn)定、安全的運(yùn)行環(huán)境以及網(wǎng)絡(luò)連接等基礎(chǔ)設(shè)施支持。rak小編為您整理發(fā)布機(jī)房托管服務(wù)器說明詳細(xì)內(nèi)容。
    的頭像 發(fā)表于 08-07 13:34 ?260次閱讀

    使用Velero備份Kubernetes集群

    Velero 是 heptio 團(tuán)隊(duì)(被 VMWare 收購)開源的 Kubernetes 集群備份、遷移工具。
    的頭像 發(fā)表于 08-05 15:43 ?374次閱讀
    使用Velero備份<b class='flag-5'>Kubernetes</b>集群

    主機(jī)托管的類型和優(yōu)勢

    主機(jī)托管是一種將企業(yè)或個人的服務(wù)器放置到第三方專業(yè)機(jī)構(gòu)(通常為數(shù)據(jù)中心)進(jìn)行管理和維護(hù)的服務(wù)。在當(dāng)今數(shù)字化時代,隨著數(shù)據(jù)量的激增和網(wǎng)絡(luò)信息技術(shù)的飛速發(fā)展,越來越多的企業(yè)開始重視信息系統(tǒng)的穩(wěn)定性、安全性及擴(kuò)展性,下面rak部落為您整理發(fā)布具體介紹主機(jī)
    的頭像 發(fā)表于 08-02 10:55 ?268次閱讀

    如何使用Kubeadm命令在PetaExpress Ubuntu系統(tǒng)上安裝Kubernetes集群

    Kubernetes,通常縮寫為K8s,是一個開源的容器編排平臺,旨在自動化容器化應(yīng)用的部署、擴(kuò)展和管理。有了Kubernetes,您可以輕松地部署、更新和擴(kuò)展應(yīng)用,而無需擔(dān)心底層基礎(chǔ)設(shè)施。
    的頭像 發(fā)表于 07-15 13:31 ?880次閱讀
    如何使用Kubeadm命令在PetaExpress Ubuntu系統(tǒng)上安裝<b class='flag-5'>Kubernetes</b>集群

    Jtti:Docker會替代調(diào)機(jī)

    Docker是計(jì)算虛擬化的一種方式,和使用虛擬機(jī)進(jìn)行虛擬化是類似的。由于近幾年Docker技術(shù)的流行和發(fā)展。所以單獨(dú)介紹一下Docker。首先先回答下面一個問題。 1.Docker會替代調(diào)機(jī)
    的頭像 發(fā)表于 07-12 14:38 ?336次閱讀
    Jtti:Docker會替代調(diào)<b class='flag-5'>虛</b><b class='flag-5'>機(jī)</b>嗎

    機(jī)與網(wǎng)關(guān)不通的問題處理

    客戶反饋實(shí)例化過程中的網(wǎng)絡(luò)問題:第三方VNF實(shí)例化完成之后,從機(jī)Ping網(wǎng)關(guān)發(fā)現(xiàn)有的網(wǎng)口Ping不通,如下所示。[root@td-b52-vtas4-uircp-0001
    的頭像 發(fā)表于 05-22 08:05 ?155次閱讀
    <b class='flag-5'>虛</b><b class='flag-5'>機(jī)</b>與網(wǎng)關(guān)不通的問題處理

    Akamai推出全新GPU機(jī)

    在云計(jì)算領(lǐng)域,Akamai再次展現(xiàn)出其前瞻性的技術(shù)視野。近日,公司正式推出了全新的GPU機(jī),該機(jī)配備了英偉達(dá)先進(jìn)的RTX 4000 Ada顯卡,為用戶提供了卓越的圖形處理能力。
    的頭像 發(fā)表于 05-13 09:21 ?486次閱讀

    如何理解運(yùn)放電路中的短和斷?

    在模擬電路中,短和斷是兩個重要的概念,它們通常與運(yùn)放電路有關(guān)。這兩個術(shù)語描述了運(yùn)放電路中的一些重要現(xiàn)象,認(rèn)識它們對于電子工程師和電路設(shè)計(jì)師來說至關(guān)重要。本文將深入探討短和斷的含
    的頭像 發(fā)表于 01-26 08:20 ?1711次閱讀
    如何理解運(yùn)放電路中的<b class='flag-5'>虛</b>短和<b class='flag-5'>虛</b>斷?

    Kubernetes Gateway API攻略教程

    Kubernetes Gateway API 剛剛 GA,旨在改進(jìn)將集群服務(wù)暴露給外部的過程。這其中包括一套更標(biāo)準(zhǔn)、更強(qiáng)大的 API資源,用于管理已暴露的服務(wù)。在這篇文章中,我將介紹 Gateway
    的頭像 發(fā)表于 01-12 11:32 ?910次閱讀
    <b class='flag-5'>Kubernetes</b> Gateway API攻略教程
    主站蜘蛛池模板: 国产午夜精品片一区二区三区| 韩国羞羞秘密教学子开车漫书| 2019午夜福利757视频第12集| 中文国产成人精品久久免费| 中文字幕无码亚洲视频| 在线 国产 欧美 亚洲 天堂| 4388成人| 穿着丝袜被男生强行啪啪| 国产AV亚洲精品久久久久| 国产毛A片啊久久久久久A| 花蝴蝶高清在线视频免费观看 | 亚洲成色爱我久久| 亚洲三级在线视频| 2021扫黑风暴在线观看免费完整版 | 好男人的视频在线观看| 久久伊人天堂视频网| 欧美精品久久久久久久久大尺度| 日日撸影院在线| 亚洲精品久久区二区三区蜜桃臀| 在教室伦流澡到高潮H免费视频| 99国产精品| 日欧一片内射VA在线影院| 午夜福利理论片在线播放| 一级片mp4| yellow免费观看完整版直播| 国产露脸无码A区久久蘑菇| 久久久久久久网站| 日本超A大片在线观看| 亚洲高清国产拍精品影院| 中文字幕亚洲第一页| 边摸边吃奶边做下面视频| 国产一区二区内射最近更新| 久久永久视频| 少妇精品无码一区二区三区| 一二三四在线观看高清电视剧 | 亚洲 欧美 清纯 校园 另类 | 青青操久久| 亚洲精品一区三区三区在线观看| 99久久99久久精品| 国产精品婷婷五月久久久久| 美女的隐私蜜桃传媒免费看|