我们可以使用声明式的方法来创建和更新 kubernetes 资源kubectl apply -f
,但我们如何才能这样做来回收不再需要的资源。
我用过kubectl delete
,但这看起来像是命令式的,有时我们需要按正确的顺序删除东西。
有没有办法始终使用kubectl apply
它,它会自行确定要保留哪些资源以及删除哪些资源。就像在Terraform
.
或者我们应该得出结论,目前声明性方法仅适用于资源创建和更新。
用例:
例如,我们决定不向最终用户提供 K8S API,而是为他们提供一个存储库,他们可以在其中保存和更新他们的 yaml 文件,当合并拉取请求时,机器人可以在每次更新时将其应用于集群。所以我们也需要这个声明性的删除,这样我们就不必在用户之后清理东西。Terraform
provider 可能是解决方案,但在这种情况下,事情将锁定到 terraform,用户将需要学习另一种工具,而不是使用本机 k8s 格式。