女人荫蒂被添全过程13种图片,亚洲+欧美+在线,欧洲精品无码一区二区三区 ,在厨房拨开内裤进入毛片

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于kubernetes托管虛機后續管理設計

454398 ? 來源:oschina ? 作者:8小時 ? 2020-10-15 16:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

基于kubernetes托管虛機有一些現成的方案,不過今天筆者要聊的是在虛機交付后,該如何實現后續的管理,包括如何實現環境和代碼的部署與更新,感興趣的可以一起看看,本篇是設計篇

1. 虛機應用的托管

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

1.1 面向終態的交付

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

1.1.1 核心狀態機

在云原生中通常都是基于面向終態的交付方式, 基于目標狀態和當前狀態由系統自動進行決策,我們根據現狀定義了如下的狀態機:

這里重點說下就緒狀態,就緒狀態表示應用的當前的部署環境、代碼完成,并且健康檢查都通過了即一個節點可以進行灰度引流了

同時如果一個應用的環境變更則會按照對應的安全頻率來進行節點環境的變更,只需要變更節點的環境列表,系統會自動發現當前節點需要進行更新,進行狀態機的轉換;然后自動化系統會發現這個變更則就會進行檢查并且自動化的進行環境的安裝

1.1.2 故障轉移

如果發現某個節點宕機后,則會由系統首先將系統設置為下線狀態(IAAS平臺還不支持這個事情), 然后會根據策略來進行決策是否自動進行修復,如果需要修復則系統會新創建一個節點然后執行上述流程,否則則會修改對應的副本數量

1.1.3 準入機制

為了保障穩定性我們在自動化的流程中加入準入機制,即在對應的階段允許引入人工節點來進行決策,將控制權交給應用運維,并且提供相關的數據和策略輔助提高運維決策效率

1.1.4 任務列表

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

1.1.5 異常流程

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

首先來說自動化,當節點某些自動化任務無法進行時系統會通知運維,當前系統遇到無法處理的異常了,這時候運維會根據當前問題來修復某些不滿足的條件,比如開通網絡策略、部署Agent等等,當完成后只需要變更節點狀態,后續就會自動化修復

當遇到無法通過上述自動化短時間來解決的時候,運行運維進行手工修復,并強制更新對應的狀態,則系統會根據當前的狀態進行后續的操作,比如檢測到就緒之后就進行負載掛載等

1.2 kubernetes相關機制

那如何利用k8s的相關機制來實現上述交付流程呢,這里主要通道了webhook、finalizer、annotations幾個機制

1.2.1 webhook

首先我們通過webhook再server更新的時候通過admission.Mutation機制來根據當前內部狀態進行狀態的決策,以確定接下來的自動化任務,在這環節我們實現了從部署環境-》部署代碼-》就緒狀態的轉換

1.2.2 finalizer

在主機進行刪除的時候,需要等待負載刪除、暫停監控、刪除虛機等流程全部結束后才能進行節點對象的刪除,從而實現了節點信息的異步清理機制

2. 核心設計

2.1 核心對象設計

考慮到應用的環境操作和部署操作兩個操作頻率的差異性,我們這里參考k8s聲明了兩個上層控制器,即通過VMReplicaSet來實現程序運行環境的交付,而將部署操作交由VMDeployment來控制,同時兩個控制在操作某個實例的時候都會先進行狀態檢測,然后在進行資源的鎖定才能進行相關的操作,從而保障執行流程的穩定性

2.2 狀態轉換機制

下面我們會按照幾個不同的場景來分別介紹下虛機狀態的轉換以及對應控制器的控制,我們有兩個核心的設計理念:

1.人只負責環境配置的描述,由系統完成相關狀態和自動化操作

2.狀態的確定依賴于當前現狀,同時人的決策高于一切

2.2.1 初始化

當檢測副本數量發生變化VMReplicaSet首先會發送申請,確認當前是否要進行機器的創建,同時會創建對應的Server的Package配置,通過計算Package狀態設置當前狀態為Initializing,并同時創建部署環境的任務,然后等待環境部署的結果,同時會掛載Server的負載信息

等待環境部署完成后,控制器會自動檢測狀態并設置為Deploying,同時通過部署系統進行代碼的部署,并將對象重新入隊,直到狀態部署完成

代碼部署完成后,會進行狀態檢測,如果系統節點健康檢查通過并且監控狀態未發現異常,則會將節點設置為Ready狀態,同時負載控制器和監控控制器都會對應的配置,至此完成虛機的初始化完成,后續如果環境不變,則代碼部署只需要重復當前操作

2.2.2 有狀態的下線

虛機通常是有狀態的應用,如果要下線通常都是選擇指定的節點,并標記為下線狀態,同時結合finalizer和控制器完成對應負載和監控的同步操作,當所有的finalizer都釋放后,最后進行對應節點的刪除

2.2.3 故障轉移機制

如果對應的節點宕機,則只需要加一個處理轉換邏輯即可,如果是短時間可以恢復就只需要將對應的節點標記為UnKnown,同時監控和負載控制器進行對應的操作,然后等待重啟后接收到對應的事件后將節點設置為Initializing, 然后系統會自動進行對應的檢測邏輯,自動轉換為Ready,監控和負載控制器監控自動執行相關邏輯,即可完成上線

如果節點不可修復只需要將狀態設置為下線狀態,然后對應的副本控制器檢測到節點不足,就會自動調用IAAS系統進行自動創建,然后執行初始化流程即可

3. 未完待續

基于流程驅動的跟基于k8s的控制器在實現流程上其實并沒有本質的差別,在云原生里面有很多種玩法,虛機應用的管理本質上就是復雜環境的管理。

如何管理復雜的環境,其實就是讓環境可描述,系統自治,盡可能減少人的參與,人只參與影響穩定性的決策,而不參與任何關于流程驅動。
編輯:hfy

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 控制器
    +關注

    關注

    114

    文章

    17083

    瀏覽量

    183962
  • 狀態機
    +關注

    關注

    2

    文章

    493

    瀏覽量

    28208
  • 負載控制器
    +關注

    關注

    0

    文章

    4

    瀏覽量

    6496
  • kubernetes
    +關注

    關注

    0

    文章

    243

    瀏覽量

    9053
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    樹莓派部署 Kubernetes:通過 UDM Pro 實現 BGP 負載均衡!

    。使用Cloudfleet等允許遠程本地節點的托管Kubernetes服務,可以卸載這一責任。這種方法讓樹莓派能夠將其資源專門用于運行工作負載,而不是消耗CPU和內存來處理控制平面任務
    的頭像 發表于 06-25 18:00 ?237次閱讀
    樹莓派部署 <b class='flag-5'>Kubernetes</b>:通過 UDM Pro 實現 BGP 負載均衡!

    什么是運放的短和

    在設計運放電路的時候我們經常會接觸到兩個詞,短和斷,今天就來和大家分享下什么是運放的虛短和斷。我們設運放的同相端電壓為up,電流為ip,反相端電壓是un,電流為in。在說短和
    的頭像 發表于 05-16 19:33 ?658次閱讀
    什么是運放的<b class='flag-5'>虛</b>短和<b class='flag-5'>虛</b>斷

    Kubernetes Helm入門指南

    Helm 是 Kubernetes 的包管理工具,它允許開發者和系統管理員通過定義、打包和部署應用程序來簡化 Kubernetes 應用的管理
    的頭像 發表于 04-30 13:42 ?2226次閱讀
    <b class='flag-5'>Kubernetes</b> Helm入門指南

    Kubernetes管理工具Helm的安裝和使用

    Helm 可以幫助我們管理 Kubernetes 應用程序 - Helm Charts 可以定義、安裝和升級復雜的 Kubernetes 應用程序,Charts 包很容易創建、版本管理
    的頭像 發表于 03-13 16:06 ?881次閱讀

    SV托管和IDC托管有什么區別

    SV托管和IDC托管在本質上沒有區別。實際上,“SV托管”并不是一個普遍認可或廣泛使用的術語,而“IDC托管”是行業內對服務器托管服務的一種
    的頭像 發表于 03-07 10:05 ?330次閱讀

    AI算法托管平臺是什么

    AI算法托管平臺是一種提供AI模型運行、管理和優化等服務的云端或邊緣計算平臺。下面,AI部落小編帶您詳細了解AI算法托管平臺。
    的頭像 發表于 03-06 10:22 ?366次閱讀

    TECS OpenStack資源池殘留導致網元異常的問題處理

    某運營商TECS資源池的一臺主機內存故障,進行關機、內存更換操作,自動遷移到其他主機上,同時做了其他虛擬的手動遷移操作。后續在TECS上出現
    的頭像 發表于 03-03 09:42 ?367次閱讀
    TECS OpenStack資源池<b class='flag-5'>虛</b><b class='flag-5'>機</b>殘留導致網元異常的問題處理

    AI模型托管原理

    AI模型托管的核心在于將訓練好的AI模型部署在云端或邊緣服務器上,由第三方平臺提供模型運行、管理和優化等服務。下面,AI部落小編帶您了解AI模型托管的原理。
    的頭像 發表于 02-26 10:31 ?603次閱讀

    Kubernetes Pod常用管理命令詳解

    Kubernetes Pod常用管理命令詳解
    的頭像 發表于 02-17 14:06 ?484次閱讀
    <b class='flag-5'>Kubernetes</b> Pod常用<b class='flag-5'>管理</b>命令詳解

    使用 Flexus 云服務器 X 實例部署 Kubernetes 圖形化管理平臺

    Kubernetes 作為當今最流行的容器編排平臺,隨著云計算、微服務架構和 DevOps 文化的普及,Kubernetes 在自動化部署、擴展和管理容器化應用程序方面扮演著越來越重要的角色。未來
    的頭像 發表于 01-21 16:14 ?333次閱讀
    使用 Flexus 云服務器 X 實例部署 <b class='flag-5'>Kubernetes</b> 圖形化<b class='flag-5'>管理</b>平臺

    AI模型托管原理分析

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

    大沖能源簽訂能源費用托管型合同能源管理項目

    近日,大沖能源與徐州星晨婦兒醫院正式簽訂了能源費用托管型合同能源管理項目,標志著雙方在醫療設施能源優化與管理方面邁出了重要一步。此次合作不僅體現了大沖能源在綜合能源托管領域的專業實力,
    的頭像 發表于 11-05 14:46 ?692次閱讀

    機房托管費用貴嗎?機房托管要考慮哪些因素?

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

    使用Velero備份Kubernetes集群

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

    主機托管的類型和優勢

    主機托管是一種將企業或個人的服務器放置到第三方專業機構(通常為數據中心)進行管理和維護的服務。在當今數字化時代,隨著數據量的激增和網絡信息技術的飛速發展,越來越多的企業開始重視信息系統的穩定性、安全性及擴展性,下面rak部落為您整理發布具體介紹主機
    的頭像 發表于 08-02 10:55 ?527次閱讀
    主站蜘蛛池模板: 宝山区| 拉孜县| 溧阳市| 濉溪县| 东平县| 盐城市| 泾源县| 衡阳县| 罗田县| 桦甸市| 化州市| 乐陵市| 札达县| 道孚县| 雷波县| 大姚县| 涡阳县| 仁化县| 万载县| 美姑县| 蒙阴县| 长寿区| 银川市| 汽车| 揭东县| 车险| 甘谷县| 宁明县| 武定县| 滨海县| 水富县| 榆社县| 郴州市| 平顶山市| 金坛市| 衡阳市| 九寨沟县| 来安县| 永新县| 郎溪县| 乐平市|