什麼是 Manifest
Application Manifest 對於 RAPD 而言,是一個應用的描述檔,可以透過一個 Yaml 格式的 Manifest,定義您的應用組成,有哪些元件,元件之間的關係等等。簡單的說,Manifest 就是您的應用 Spec 的描述檔,RAPD 則依照您的定義自動部屬應用程式。
組成
一個 Manifest 檔內是由下列四個部分所組成
- apiVersion
- kind
- metadata
- spec
apiVersion
定義 Manifest Yaml 格式的版本。
apiVersion: po.rapd.app/v1beta1
kind
定義 Manifest 党所描述的類型。可為 Application, Composition, Cloud …等等。
kind: Application
metadata
針對 RAPD 自動部署此 Manifest 時,所賦予的參數。 以部署一個應用為例,您可以設定這個應用的名稱。
metadata: name: [your_application_name]
spec
這是整個 Manifest 最重要的一個部分,讓您完整的定義需要部屬的規格,規格種類可以是 Application, Composition …等等(請參照 kind)。 以一個應用為例,可以是一個簡單的運行在 k8s 上的 container,也可以是一個搭配 postgres DB 的網頁應用,當然,您也可以在此定義一個複雜且龐大的系統規格。
spec: version: "1.0" revisionHistory: 3 components: - type: networking.api-gateway name: kong target: [deployment_target_name]
這是一個簡單的範例,下一章將說明如何在 spec 內描述您的系統。