中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

社區首款 OAM 可視化平臺發布!關注點分離、用戶友好、上手難度低

發布時間:2020-08-19 01:58:41 來源:ITPUB博客 閱讀:212 作者:阿里巴巴云原生 欄目:云計算

社區首款 OAM 可視化平臺發布!關注點分離、用戶友好、上手難度低

作者 | 徐運元,杭州諧云科技合伙人及資深架構師,云計算行業和 Kubernetes 生態資深從業者

導讀:什么是 OAM?2019 年 10 月 17 日,阿里巴巴合伙人、阿里云智能基礎產品事業部總經理蔣江偉(花名:小邪)在 QCon 上海 2019 重磅宣布,阿里云與微軟聯合推出開放應用模型 Open Application Model (OAM)開源項目。

OAM 的核心關注點

  • 關注點分離:開發者關注應用本身,運維人員關注模塊化運維能力,讓應用管理變得更輕松、應用交付變得更可控;
  • 平臺無關與高可擴展:應用定義與平臺層實現解耦,應用描述支持任意擴展和跨環境實現;
  • 模塊化應用運維特征:可以自由組合和支持模塊化實現的運維特征描述。

OAM 的核心模塊

1. 應用組件(Components)

在 OAM 中,“應用”是由多個概念共同組合而成。第一個概念是:應用組件(Components),它是整個應用的重要組成部分。應用組件既可以包括應用運行所依賴的服務:比如 MySQL 數據庫,也包括應用服務本身:比如擁有多個副本的 PHP 服務器。開發者可以把他們寫的代碼“打包”成一個應用組件,然后編寫配置文件來描述該組件與其他服務之間的關系。

應用組件的概念讓平臺架構師等能夠將應用分解成一個個可被復用的模塊,這種模塊化封裝應用組成部分的思想,代表了一種構建安全、高可擴展性應用的最佳實踐:通過一個完全分布式的架構模型,實現了應用組件描述和實現的解耦。

2. 應用部署配置文件(Application Configuration)

為了將這些應用組件描述變成一個真正運行起來的應用,應用運維人員會通過一個專門的、包含了所有應用組件信息的部署配置文件來實例化這個待運行的應用。這個配置文件本身也是 OAM 規范中的一個聲明式 API,用來讓應用運維人員能夠根據開發者或者平臺提交的應用描述,實例化出對應的、真正運行起來的應用。

3. 應用運維特征(Traits)

最后一個概念是一組應用運維特征(Traits),它們描述了應用在具體部署環境中的運維特征,比如應用的水平擴展的策略和 Ingress 規則,這些特征對于應用的運維來說非常重要,但它們在不同的部署環境里卻往往有著截然不同的實現方式。 舉一個簡單的例子,同樣是 Ingress,它在公有云上和本地數據中心的實現可能完全不同:前者一般是 SLB 這樣的云服務,而后者則可能是一個專門的硬件。這也就意味著針對這兩個環境的 Ingress 運維工作,將會有天壤之別。 但與此同時,無論是在哪個環境里,這個 Ingress 規則對于應用開發人員來說,可能是完全相同的。

應用特征的設計,讓這種關注點分離成為可能:只要這兩個環境在 OAM 模型下提供了對 Ingress 這個應用運維特征的實現,那么應用就可以使用統一的 Ingress 規則描述,無差別地在這兩個地方運行起來。與此同時,這兩個環境的基礎設施供應商可以繼續通過配置這些應用特征的實現,來滿足它們各自的運維要求(例如:不同環境里 Ingress 實現在滿足合規性和安全性上的差異)。

一個基于 OAM 的可視化實現介紹

目前該平臺主要基于 OAM 的 V1 alpha1 版本實現,并且對于 OAM 的核心理念進行的抽象和封裝,以更符合用戶的使用習慣。在本文介紹的可視化部分背后,是完整的 OAM 格式的 yaml 文件。可視化 OAM 平臺主要包含兩大核心功能:

1. 運維特征模型

運維特征模型主要是針對 OAM 的 Traits 的具體實例化,讓用戶可以把復雜的一些運維特性可以直接以插拔的形式直接讓應用發布者去使用。目前平臺已經封裝了包含服務發布、日志搜集、自動伸縮、存儲掛載等 8 個運維特征的封裝。

社區首款 OAM 可視化平臺發布!關注點分離、用戶友好、上手難度低
圖 1 運維特征模型倉庫

2. OAM 應用編排

OAM 應用編排功能將 OAM 的應用發布全流程進行了可視化的實現,將應用組件添加、配置文件修改以及運維特征添加等 OAM 的核心功能進行了抽象和封裝。OAM 應用編排目前包含以下核心功能:

  • 組件編排: 可視化添加平臺的組件并且進行組件的參數設置;
  • 運行特征編排:在添加的平臺組件基礎上進行運維特征的添加和編排(也為后續開發、運維關注點分離做準備);
  • OAM 版本管理:平臺會保存所有的 OAM 發布版本,并且提供升級和回滾功能。

社區首款 OAM 可視化平臺發布!關注點分離、用戶友好、上手難度低
圖 2 OAM 應用編排主界面

接下來,我們會以一個典型應用(nginx+tomcat+redis)的部署來全面解析,如何在平臺上進行 OAM 的可視化發布。

前置條件

運維特征(Traints)應用模型已安裝,在界面上,可以快速查看有哪些運維特征應用模型,以及它們的運行狀態。當前只支持系統定義的運維特征,后續會開發自定義的運維特征的生命周期管理。讓用戶可以編寫自己的運維特征并且安裝到平臺進行使用。

社區首款 OAM 可視化平臺發布!關注點分離、用戶友好、上手難度低

OAM 應用創建流程

OAM 應用基本發布流程:應用創建->新增組件->應用編排->保存版本->發布應用。

  • 創建應用: 點擊應用->OAM 應用菜單, 點擊【創建應用】按鈕,輸入必填項;

  • 添加組件: 點擊【新增組件】按鈕,設置工作負載類型,容器配置等;

選擇想要創建的工作負載類型,目前已經將 Server、Singleton Server、Task、Singleton Task、Worker 以及 Singleton Worker 等六種核心的工作負載進行了封裝,用戶只需要在下拉框中勾選自己想要創建的負載類型即可。

社區首款 OAM 可視化平臺發布!關注點分離、用戶友好、上手難度低

在選擇完負載類型之后,用戶可以以可視化的形式去選擇想要發布的鏡像以及容器的基本配置參數。同時,目前也支持基于多個容器的編排發布。

社區首款 OAM 可視化平臺發布!關注點分離、用戶友好、上手難度低

  • 根據我們的需求,我們依次添加 tomcat、redis、mysql 三個組件,在界面上就可以看到組件的狀態,同時點擊“詳情”可以看到對應的 Kubernetes 資源信息;

社區首款 OAM 可視化平臺發布!關注點分離、用戶友好、上手難度低

查看組件的詳細信息。

社區首款 OAM 可視化平臺發布!關注點分離、用戶友好、上手難度低

  • 應用編排:在創建完需要部署的組件之后,我們的 OAM 應用已經具備了開發的屬性。

之后我們需要根據需求給每一個組件添加運維特征:點擊進入應用編排界面,你可以看到剛才添加的組件已經展示在畫布之上;在畫布上點擊單個組件,可以看到目前適合該組件的運維特征,勾選你所需要的運維特征即可快速添加;在添加完運維特征之后,會在右邊欄彈出運維特征的配置參數,配置保存之后這些運維特征即可生效;

社區首款 OAM 可視化平臺發布!關注點分離、用戶友好、上手難度低

  • 在添加完所有組件的運維特征之后,我們就可以看到一個完整的編排完的 OAM 應用了。在 OAM 的 V2 版本,我們同時會再增加應用的依賴關系,用戶可以通過拖拽和連線來實現應用之間的依賴編排;

社區首款 OAM 可視化平臺發布!關注點分離、用戶友好、上手難度低

  • 保存版本:最后,我們可以點擊【保存當前內容為版本】按鈕,輸入版本號,點擊【確定】;

社區首款 OAM 可視化平臺發布!關注點分離、用戶友好、上手難度低

  • 發布應用:點擊【發布】按鈕,發布應用

發布應用后,組件狀態顯示‘已實例化’。應用實例狀態顯示“健康”。

社區首款 OAM 可視化平臺發布!關注點分離、用戶友好、上手難度低

點擊事件 tab 頁,顯示事件。

社區首款 OAM 可視化平臺發布!關注點分離、用戶友好、上手難度低

用戶可以快速查看已經創建的 ingress,并且進行訪問。

社區首款 OAM 可視化平臺發布!關注點分離、用戶友好、上手難度低
社區首款 OAM 可視化平臺發布!關注點分離、用戶友好、上手難度低

  • 用戶可以通過修改 traints 信息,快速對當前的應用進行修改和升級。

點擊進入應用編排界面,并且編輯 tomcat 實例數為 4。

社區首款 OAM 可視化平臺發布!關注點分離、用戶友好、上手難度低

將編輯后的版本,保存為當前版本則會直接講修改的配置更新到當前實例。如果選擇保存為新版本,則會將當前配置修改保存為模板,等待發布。我們將此修改保存為新版本。

社區首款 OAM 可視化平臺發布!關注點分離、用戶友好、上手難度低

點擊更新為此版本,進行剛才修改的配置發布。發布完成之后,我們可以看到有兩個版本的 OAM 應用模板。

社區首款 OAM 可視化平臺發布!關注點分離、用戶友好、上手難度低
社區首款 OAM 可視化平臺發布!關注點分離、用戶友好、上手難度低

查看詳情,確認 tomcat 實例數已經變更為 4,但是由于我們同時設置了自動擴縮容的實例為 3,因此在擴容之后又迅速變回實例 3。

社區首款 OAM 可視化平臺發布!關注點分離、用戶友好、上手難度低

至此,一個完整的部署和更新 OAM 應用的可視化流程就演示完了。

總結

如今 OAM Spec 已經迭代到了 v1alpha2 版本,新版本在堅持 OAM Spec 平臺無關的基礎上,整體變得更 Kubernetes 友好化,很大程度上平衡了標準與可擴展性,更好的支持已有的 CRD。也就是說,如果你已經編寫了現成的 CRD Operator,可以平滑的接入到 OAM 體系中,并且享受到 OAM 模型的紅利。

更詳細的新版本介紹可以閱讀 《 OAM v1alpha2 新版發布:平衡標準與可擴展性,靈活接入 CRD operator 》。

該可視化平臺也已經在全面升級到 v1alpha2 的過程中,新版的支持可以更好的允許用戶編寫插件擴充平臺的功能。

該平臺來自于阿里云戰略合作伙伴杭州諧云科技,該平臺基于 OAM 實現的開源版本也已經在路上,大家敬請期待。

  • OAM 平臺試用網址: http://139.196.197.117:30088/ 用戶名/密碼: admin/Ab123456
  • Demo 中所有的 yaml 文件請訪問 github 地址查看: https://github.com/harmonycloud/oam-simple-demo

目前,OAM 規范和模型實際已解決許多現有問題,但它的路程才剛剛開始。OAM 是一個中立的開源項目,我們歡迎更多的人參與其中,共同定義云原生應用交付的未來。參與方式:

  • 釘釘掃碼進入 OAM 項目中文討論群

社區首款 OAM 可視化平臺發布!關注點分離、用戶友好、上手難度低

  • 通過 Gitter 直接參與討論
  • OAM 開源實現地址
  • 點擊 star 一下

杭州諧云科技有限公司成立于 2016 年 7 月,公司核心團隊來自于浙江大學 SEL 實驗室,諧云團隊在云計算及相關領域具備深厚的技術積淀,在全球頂級開源社區 Docker、Kubernetes、Cloud Foundry 等項目貢獻累計超過 200 萬行代碼,排名全球第四,國內第一。團隊曾著書中國第一本深度解析容器云的專業書籍《Docker 容器與容器云》,是國內為數不多掌握底層核心技術的容器云提供商。建設了目前中國最大的容器集群落地案例,支撐著國內最大的互聯網電視云。

課程推薦

為了更多開發者能夠享受到 Serverless 帶來的紅利,這一次,我們集結了 10+ 位阿里巴巴 Serverless 領域技術專家,打造出最適合開發者入門的 Serverless 公開課,讓你即學即用,輕松擁抱云計算的新范式——Serverless。

點擊即可免費觀看課程: https://developer.aliyun.com/learning/roadmap/serverless

“ 阿里巴巴云原生關注微服務、Serverless、容器、Service Mesh 等技術領域、聚焦云原生流行技術趨勢、云原生大規模的落地實踐,做最懂云原生開發者的公眾號。”

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

舞钢市| 阿克陶县| 滦南县| 大英县| 梁平县| 阜新| 新疆| 宁明县| 六盘水市| 奎屯市| 湄潭县| 马关县| 社旗县| 吉水县| 万全县| 乃东县| 沁阳市| 贵定县| 东台市| 晋城| 广州市| 静安区| 贵阳市| 武强县| 左贡县| 温宿县| 容城县| 镇江市| 兖州市| 谢通门县| 阿拉尔市| 平陆县| 象山县| 泰州市| 乌审旗| 青龙| 剑川县| 宜州市| 宣恩县| 福鼎市| 汶上县|