OneChart 项目教程
1、项目介绍
OneChart 是一个通用的 Helm Chart,旨在简化应用程序在 Kubernetes 上的部署。它提供了一个模板化的方法来生成 Kubernetes YAML 文件,使得开发者无需记忆复杂的 Kubernetes 语法。OneChart 的目标是保持简洁,同时支持常见的使用场景,特别适合 Kubernetes 生态系统的新手。
2、项目快速启动
添加 Helm 仓库
首先,添加 OneChart Helm 仓库:
helm repo add onechart https://chart.onechart.dev
生成和部署 Helm Chart
使用以下命令生成和部署 Helm Chart:
# 生成 Kubernetes YAML 文件
helm template my-release onechart/onechart \
--set image.repository=nginx \
--set image.tag=1.19.3
# 部署到 Kubernetes
helm install my-release onechart/onechart \
--set image.repository=nginx \
--set image.tag=1.19.3
3、应用案例和最佳实践
部署一个简单的 Web 应用
以下是一个部署简单 Web 应用的示例,设置了环境变量和 Ingress 域名:
# values.yaml
image:
repository: my-app
tag: fd803fc
vars:
VAR_1: "value1"
VAR_2: "value2"
ingress:
annotations:
kubernetes.io/ingress.class: nginx
host: my-app.mycompany.com
使用以下命令部署:
helm repo add onechart https://chart.onechart.dev
helm template my-release onechart/onechart -f values.yaml
helm install my-release onechart/onechart -f values.yaml
4、典型生态项目
Helm Unittest
OneChart 使用 Helm Unittest 插件进行单元测试,确保 Chart 的正确性和稳定性。测试代码位于 charts/onechart/test
目录下。
GitHub Actions
OneChart 使用 GitHub Actions 自动化测试和发布流程。CI 工作流定义在 github/workflows/build.yaml
文件中。
GitHub Pages
Helm Chart 的仓库和索引文件(index.yaml
)通过 GitHub Pages 提供服务,地址为 https://chart.onechart.dev
。
通过以上模块,您可以快速了解和使用 OneChart 项目,简化 Kubernetes 应用的部署流程。