Helm 与普通 K8S 部署方式的区别
Helm 并没有提供“像 Kubernetes 那样”的原生 REST API,可以直接通过 HTTP 调用。Helm 自己是一个本地工具(CLI)或 Go SDK,它对内使用 K8S API 去创建/更新资源,但对外并没有官方的“HTTP 接口”给你直接调。
1. 为什么没有像 “普通部署” 那样的 API?
- **Kubernetes 自身的“普通部署”**可以走 K8S 提供的标准 REST API(如
POST /apis/apps/v1/namespaces/default/deployments
)或使用 Java 等官方 Client SDK 调用。 - Helm 是一个上层的打包与发布管理工具。它的逻辑包括了模板渲染、版本管理、回滚、依赖管理等——本质上依赖 Helm 自身(CLI 或 Go SDK)来给你完成这些功能。
- 你能看到有些云厂商或平台带类似 “Helm Release” 的 API,其实通常它们自己封装了 Helm CLI/SDK 然后再对外公开。
2. 要想在 K8S 上能用 Helm 部署,就必须安装 Helm CLI 吗?
是的