基礎設施即程式碼廠商Pulumi釋出了一系列Kubernetes專案,目標是要提供用戶新的自動化部署功能,並與第三方更好的整合,同時還降低工具使用的難度,讓雲端原生開發者,能夠更簡單地將Kubernetes用於生產中。

這次Pulumi釋出了一個新的叢集內Pulumi Kubernetes Operator,能讓用戶以GitOps的方式,管理雲端和Kubernetes叢集上的基礎設施,該Kubernetes Operator能夠透過Git儲存庫,部署Pulumi更新並且執行Pulumi程式。

Pulumi現在已經與不少第三方CI/CD系統整合,能夠自動將雲端設施變更交付到AWS、Azure、GCP與Kubernetes等,官方提到,因為用戶要求希望可以利用GitOps交付方法,在Kubernetes中執行自動化交付,因此他們才釋出了Kubernetes Operator開源專案。

Kubernetes Operator提供用戶一個新的Kubernetes原生基礎設施交付方法,讓用戶可以使用Kubernetes叢集中新的Stack CustomResource,指定部署的雲端基礎設施,Stack CustomResource可以是任何儲存庫中的Pulumi程式,並且利用該Pulumi程式來定義基礎設施的狀態,官方提到,Kubernetes叢集不只能夠管理該叢集的基礎設施,甚至還能管理其他的Kubernetes叢集,包括AWS資源、Datadog以及其他Pulumi支援的平臺,都可以這種方式管理。

Pulumi還釋出了稱為crd2pulumi的工具,可以為任何Kubernetes CRD(Custom Resource Definition)創建強類型的API,讓用戶能夠簡單地使用雲端原生社群的各種API擴充,目前僅支援TypeScript以及Go,未來還會支援Python和.NET。

官方提到,在Kubernetes生態系,各專案都透過CustomResources在Kubernetes資源上,建構各種擴充功能,過去Pulumi利用核心Kubernetes API提供了強類型API,但這些強類型API並沒有全面對外開放,而現在crd2pulumi工具則提供強類型API豐富的支援,讓用戶可以直接從CRD的OpenAPI規範,生成強類型程式語言API,並且還會在規範更新時,重新產生這些API。

強類型的好處,是讓CRD程式碼可以利用IDE工具,執行類型檢查和自動完成等功能,減少程式碼撰寫錯誤,而這些功能在自定義資源管理的基礎設施複雜性增加時,將顯得特別重要。

另外,Pulumi還推出可以將Kubernetes YAML清單轉換為Python、TypeScript、Go或者.NET程式語言的工具kube2pulumi,由於Pulumi支援完整的Kubernetes API,因此kube2pulumi產生的程式碼,就包含了Kubernetes所有功能。用戶可以利用kube2pulumi一次轉換一個資源,或是整個清單資料夾,而且一經轉換,用戶就能夠簡單地部署到叢集中。

最近Pulumi也強化了互通性,發布了用於持續交付平臺Spinnaker的擴充套件,用戶可以將相同的雲端原生持續交付平臺,同時用於應用程式和基礎設施部署上,而且還支援了Kubernetes套件管理工具Helm 3和配置管理工具Kustomize,兩者可以作為Pulumi程式的一部分,使用核心Pulumi Kubernetes函式庫。

熱門新聞


Advertisement