在现代云原生应用部署和管理中,Helm 和 Helmfile 作为 Kubernetes 的包管理工具,扮演着至关重要的角色。为了提升部署效率和应用的可维护性,我们提出了 App 通用 Chart 包设计方案。本文将详细解释设计原则、设计目标以及如何使用我们的通用 Chart 包来简化应用部署流程。
我们设计了两个通用 Chart 包,分别针对前端应用(app-frontend
)和后端服务(app-backend
):
这些 Chart 包支持常见的配置项,如环境变量、资源限制、健康检查等,以满足大多数应用部署的需求。
Feature | app-frontend | app-backend |
---|---|---|
Example Feature 1 | Yes | Yes |
Example Feature 2 | No | Yes |
Example Feature 3 | Yes | No |
Helm 和 Helmfile 是 Kubernetes 生态中的重要工具,它们可以大大简化和自动化应用的部署过程:
结合我们的通用 Chart 包和 Helm/Helmfile 的能力,可以实现快速、一致和可重复的应用部署流程,提升开发和运维的效率。
准备工作
helm repo add my-charts http://charts.onwalk.net
helm repo update
helm install my-app-frontend my-charts/app-frontend
helm install my-app-backend my-charts/app-backend
repositories:
- name: my-charts
url: http://charts.onwalk.net
releases:
- name: my-app-frontend
chart: my-charts/app-frontend
repositories:
- name: my-charts
url: http://charts.onwalk.net
releases:
- name: my-app-backend
chart: my-charts/app-backend
有关更多详细的使用和配置选项,请参考 Helm 和 Helmfile 的官方文档。
参数 | 描述 | 默认值 |
---|---|---|
| 副本数量 |
|
| 镜像仓库 |
|
| 镜像拉取策略 |
|
| 镜像标签(默认为图表的 |
|
| 镜像拉取密钥数组 |
|
| 覆盖图表名称 |
|
| 覆盖图表全名 |
|
| 指定是否创建服务账户 |
|
| 是否自动挂载服务账户的API凭证? |
|
| 添加到服务账户的注解 |
|
| 使用的服务账户名称 |
|
| 添加到Pod的注解 |
|
| 添加到Pod的标签 |
|
| Pod安全上下文 |
|
| 容器的安全上下文 |
|
| 服务类型 |
|
| 服务端口 |
|
| 启用Ingress |
|
| Ingress类名 |
|
| Ingress的注解 |
|
| Ingress的主机 |
|
| Ingress的TLS配置 |
|
| 启用存活探针 |
|
| 存活探针的路径 |
|
| 存活探针的端口 |
|
| 启用就绪探针 |
|
| 就绪探针的路径 |
|
| 就绪探针的端口 |
|
| 启用金丝雀部署 |
|
| 金丝雀提供者 |
|
| 金丝雀部署中的负载测试URL |
|
| 启用金丝雀部署中的验收测试 |
|
| 验收测试命令 |
|
| 启用金丝雀部署中的负载测试 |
|
| 负载测试命令 |
|
| 启用金丝雀部署中的度量模板 |
|
| 金丝雀部署的成功率阈值 |
|
| 金丝雀部署的延迟阈值 |
|
| 金丝雀分析间隔 |
|
| 金丝雀分析阈值 |
|
| 金丝雀分析最大权重 |
|
| 金丝雀分析步长权重 |
|
| 容器的资源分配 |
|
| 启用部署的自动伸缩 |
|
| 自动伸缩的最小副本数 |
|
| 自动伸缩的最大副本数 |
|
| 自动伸缩的目标CPU利用率百分比 |
|
| 部署时附加的卷 |
|
| 部署时附加的卷挂载点 |
|
| 用于Pod分配的节点标签 |
|
| 用于Pod分配的容忍度 |
|
| 用于Pod分配的亲和性规则 |
|
参数 | 描述 | 默认值 |
---|---|---|
| 部署副本数量 |
|
| 镜像仓库 |
|
| 镜像拉取策略 |
|
| 镜像标签 |
|
| 镜像拉取密钥数组 |
|
| 覆盖图表名称 |
|
| 覆盖图表全名 |
|
| 是否创建服务账户 |
|
| 是否自动挂载服务账户的 API 凭证 |
|
| 添加到服务账户的注解 |
|
| 使用的服务账户名称 |
|
| 添加到 Pod 的注解 |
|
| 添加到 Pod 的标签 |
|
| Pod 安全上下文 |
|
| 容器的安全上下文 |
|
| 服务类型 |
|
| 服务端口配置 |
|
| 容器暴露的端口 |
|
| 是否启用 Ingress |
|
| Ingress 类名 |
|
| Ingress 的注解 |
|
| Ingress 的主机配置 |
|
| Ingress 的 TLS 配置 |
|
| 是否启用存活探针 |
|
| 存活探针的路径 |
|
| 存活探针的端口 |
|
| 是否启用就绪探针 |
|
| 就绪探针的路径 |
|
| 就绪探针的端口 |
|
| 容器资源限制 |
|
| 容器资源请求 |
|
| 是否启用自动伸缩 |
|
| 自动伸缩的最小副本数 |
|
| 自动伸缩的最大副本数 |
|
| 自动伸缩的目标 CPU 利用率百分比 |
|
| 附加的卷挂载点 |
|
| 附加的卷 |
|
| Pod 分配的节点标签 |
|
| Pod 分配的容忍度 |
|
| Pod 分配的亲和性规则 |
|
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。