Kardinal 开源项目教程
1. 项目介绍
Kardinal 是一个开源框架,用于在共享的 Kubernetes 集群中创建极其轻量级的临时开发环境。Kardinal 通过共享尽可能多的微服务或数据库来优化云成本和快速启动/关闭,从而在开发环境之间实现资源的最大化利用。该项目适用于希望节省资源并提高开发效率的团队。
2. 项目快速启动
安装 Kardinal
首先,通过以下命令安装 Kardinal:
curl get.kardinal.dev -sL | sh
配置 Kubernetes 集群
确保你的 Kubernetes 集群已经启用了 Istio,并且你的机器上已安装 kubectl 并指向你的集群。如果需要帮助,请参考官方文档。
部署 Kardinal 管理器
确保 kubectl 指向你的集群,然后运行以下命令部署 Kardinal 管理器:
kardinal manager deploy kloud-kardinal-kontrol
部署完成后,可以查看官方文档了解如何创建你的第一个流程(flow)。
快速启动演示应用
部署演示应用
首先,设置 minikube 隧道以访问即将部署的应用的前端:
minikube tunnel
在新终端窗口中,通过 Kardinal 部署演示应用:
curl https://raw.githubusercontent.com/kurtosis-tech/new-obd/main/release/obd-kardinal.yaml | ./obd-kardinal.yaml
kardinal deploy -k ./obd-kardinal.yaml
部署后,可以通过以下 URL 访问演示应用的前端:
http://baseline.app.localhost
创建轻量级开发环境(dev flow)
创建一个新的流程,指定服务名称和容器镜像。以下是为前端服务创建开发环境的示例:
kardinal flow create frontend kurtosistech/frontend:demo-frontend
该命令将输出一个 URL,你可以通过该 URL 访问开发环境的前端。
清理开发流程
完成开发流程后,可以通过以下命令删除流程:
kardinal flow delete <flow_id>
其中 <flow_id>
是创建流程时输出的 ID。
3. 应用案例和最佳实践
- 单服务流程:适用于调整单一服务的情况。
- 多服务流程:适用于涉及多个服务的特性。
- 状态隔离流程:适用于需要独立数据库或缓存的功能。
- 全应用流程:适用于需要进行端到端测试的情况。
4. 典型生态项目
Kardinal 可以与 Tilt 等工具配合使用,以进一步优化开发流程。有关如何与 Tilt 配合使用 Kardinal 的详细信息,请参考官方文档和示例。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考