AWS釋出用於Kubernetes的雲端開發套件cdk8s,這是一個開源開發工具套件,讓使用者可以在Kubernetes叢集中更簡單地進行建置和維護工作。

目前有不少企業運用Kubernetes大規模的部署應用程式,或是大規模地訓練機器學習模型,使用者會建置自動化工具來替代手動操作流程,並為其基礎設施的每一部分,實作操作工作管線,讓開發團隊能夠更細緻地控制應用程式執行的方式。

Kubernetes應用程式是透過靜態YAML資料檔案來定義,YAML是一種人類可讀的檔案格式,但每當建構新的應用程式,就需要編寫大量的樣板配置,通常開發人員會從其他專案複製程式碼,手動調整或加以自定義,隨著應用程式和團隊的發展,管理YAML檔案會越來越困難,無論是共享最佳實作或是更新,都需要大量的手動變更和複雜的搬遷。

AWS提到,雖然YAML是一個好用的格式,能夠描述叢集需要的狀態,但是其缺乏表達邏輯和可重複使用的抽象原語,而這與用戶使用CloudFormation模板定義應用程式遇到的問題相同,AWS在2018年的時候,推出AWS Cloud Development Kit(AWS CDK)來解決這個問題。

AWS CDK是可讓使用者利用TypeScript、Python、Java或.NET自己熟悉的程式語言,定義雲端基礎設施的開源框架,AWS CDK可以簡化開發程序,其可組合的特性,能夠讓用戶編寫設定和樣本細節,現在AWS將CDK的概念,擴展應用到Kubernetes上,釋出全新專案cdk8s。

cdk8s讓使用者同樣可以利用熟悉的程式語言,定義Kubernetes應用程式和可重複使用的元件,生成標準的Kubernetes YAML,也就是說,用戶無論是在企業就地部署,抑或是在任何雲端平臺,都可以利用cdk8s來定義Kubernetes叢集應用程式。

cdk8s讓用戶能夠以強類型類別,導入核心Kubernetes API物件和自定義資源(CRD),作為建構模塊(Construct),使用戶可以利用物件導向原語來定義Kubernetes應用程式,AWS提到,cdk8s最強大的地方在於讓用戶編寫自己的抽象。使用者利用cdk8s,可將常用的Kubernetes模式發布為函式庫,然後其他應用程式就能參照這些函式庫,這種方式簡化了所有Kubernetes用戶定義和維護應用程式的程序。

目前cdk8s仍處於Alpha測試階段,有興趣的開發者可以搶先開始試用,不過AWS也提到,在未來幾個月,cdk8s還是會有重大變化,這個改進過程會一直到進入穩定版為止。


Advertisement

更多 iThome相關內容