• 紅帽發布多容器應用規范Nulecule

    【編者的話】這篇文章簡單的介紹了Nulecule的產生、特性以及目標, Nulecule致力于構建一個統一的復合應用(基于多容器)的描述規范。筆者認為想法很好,但是要想實現這一目標不僅僅是一個技術問題,更多的是需要實 現各個容器廠商的利益均衡,而做到這一點并不那么容易。不過還是應該肯定Project Atomic為此所做的事情。

    為了幫助開發和管理人員創建和啟動多容器組合的應用,Project Atomic的童鞋們正在起草一份與平臺無關的規范,叫做Nulecule(noo-le-kyul)。你可以在RHEL博客中找到關于此方案的完整解釋以及我們的解決方案。

    我們也已經創建了一個叫做Atomic App的應用,可以幫助我們運行使用Nulecule規范的應用。如果你想嘗試一下,可以從那些鏈接中獲取更多的信息。
    那我們為什么要做這件事情了?因為容器正在重塑IT版圖,并且很快就會顛覆之前那些根深蒂固的技術。這是件好事,因為它確實可以解決很多的問題。但是容器 的生態系統并不完善,畢竟它才剛剛開始發展。現在仍然還有很多挑戰,但是每個挑戰都是一個機會。既然如此,這里就有這樣一個機會:構建應用的可管理性,并 且創建一個標準化的方法使得可擴展的、復合(composite)應用配置變的更容易。

    在這次IT技術的演進過程中,我們遵循的是“MYSM(make your stuff manageable)”,就是“讓你的東西可以管理”。Linux以及其它的一些組件組合而成的LAMP堆棧構建了一個非常大的開源軟件生態系統。但是 他們在可管理性方面還是做的不夠,這也為各種各樣的配置管理工具創造了機會。Java程序員總是對LAMP開發者不太滿意,不斷提醒他們缺少與管理工具的 整合。不幸的是嘗到了JMX以及WAR文件輕松部署帶來的可管理性甜頭之后,你不得不強迫自己去學習Java框架。那么玩開源的開發者應該怎么辦?

    其中一個答案就是把應用容器化,從而你可以獨立的開發和更新應用的各個組件。但是,管理單個容器相對容易,而管理多個容器就比較困難了。這也正是Nulecule存在的意義。

    Nulecule定義了一個模式(pattern)和模型(model)來打包復雜的多容器應用,所有的依賴,包括編排的元數據 (orcherstration metadata),都會在一個容器鏡像中構建、部署、監控以及管理。只要創建一個擁有Nulecule文件的容器,應用就可以運行了。在 Nulecule規范中,你要在一個圖中定義編排提供者、容器位置和配置參數,Atomic App在Kubernetes和Docker的幫助下會把他們拼湊到一起。Nulecule規范還支持多個復合應用的整合,它不綁定任何的容器以及編排工 具,你可以使用任何容器和編排工具引擎。

    Nulecule規范亮點:
    ? 可以在一個容器中通過可擴展的元數據來維護應用描述和上下文
    ? 可以通過繼承來定義復雜應用,這些容器的組合定義都會放到一個單一的、標準的、輕便的描述中
    ? 通過一個有向圖來反應依賴之間的關系以簡化復雜應用的依賴管理
    ? 對容器和編排引擎不可知,可以使用任何的引擎和編排技術

    我希望你使用我們的規范和實現,然后告訴我們,特別是跟其它實現一起工作時的缺陷,我們很想知道這些。因為我們真的想為開發者、工具創建者以及管 理框架找到一個好的解決方案。理想地說,Nulecule將會涉及開發和運維兩方面的工具。從運維方面來說有,Apache CloudStack、OpenStack、ManageIQ以及Ansible。從開發者方面來說有Visual Studio、Docker Compose、OpenShift和Eclipse。

    考慮到現在有很多流行的容器格式、編排引擎和策略(Policy)管理工具,我想我們應該使用統一的定義和語言來描述復合應用。很明顯,未來將會出現很多的多容器應用框架。如果他們使用同樣的語言,那將會極大的簡化開發者和運維人員的工作。

    我們創建了一些例子來幫助你開始。第一個,也是最簡單的例子叫做helloapache。它是一個基于centos/httpd鏡像的單個pod,但要使用它,你需要一個擁有Atomic CLI和kubectl的機器。實例錄像。

    這里還有個復雜點的例子,展示了如何使用Docker部署OpenStack,以及使用answerfile.conf實現自動安裝。實例錄像。

    另外一個例子是展示如何使用Atomic App、Docker和Kubernetes部署一個鏈接在一起的復合應用。示例錄像。

    我們在很短的時間內取得了很大的突破,但是接下來還有很多事情要做。我們非常激動可以分享我們到目前為止的工作,并且期望與大的社區合作,一起開發Nulecule,使得復雜容器化應用部署變得更簡單容易。

    原文:Announcing the Nulecule Specification for Composite Applications (翻譯:左偉 校對:李穎杰)

    ===========================
    譯者介紹
    左偉,就職于IBM,軟件工程師,現從事于DevOps,云計算相關的研究,實現和推廣。

    不深思則不能造于道。不深思而得者,其得易失。

    名人名言- 曾國藩
    • By 左偉
    • 2015-06-01
    • 1561
    • 公司新聞,網站開發,網站設計,UI
  • 少妇高潮久久久久7777