Pulumi用户现可使用GitOps方法管理云端基础设施

互联网2021-02-12 06:02:50
最佳答案

基础设施即程式码厂商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函式库。

免责声明:本文由用户上传,如有侵权请联系删除!