1.0.1 • Published 3 months ago
kani-deploy v1.0.1
Kubernetes CI/CD 工具
使用 TypeScript 实现的 Kubernetes CI/CD 工具,通过 Kaniko 在 Kubernetes 集群中构建 Docker 镜像并部署。
功能特性
- ✨ 支持从 Git 仓库拉取代码(包括私有仓库)
- 🔨 使用 Kaniko 在 K8s 中构建 Docker 镜像
- 📦 自动推送镜像到私有镜像仓库
- 🚀 自动部署应用到 Kubernetes
- 🔍 实时监控构建和部署状态
- 🧹 自动清理临时资源
前置要求
- Node.js >= 16
- Kubernetes 集群
- 容器镜像仓库(如阿里云 ACR)
- kubectl 配置文件
安装
bash git clone cd k8s-example npm install npm start
工作原理
初始化阶段
- 创建 Docker Registry Secret
- 验证 Git 和镜像仓库配置
构建阶段
- 创建 Kaniko Job
- 拉取代码并构建镜像
- 推送到镜像仓库
部署阶段
- 创建 Deployment
- 部署应用
- 监控部署状态
清理阶段
- 清理构建资源
- 保留部署资源
常见问题
1. 构建失败
检查以下几点:
- Git 仓库访问权限
- Dockerfile 路径是否正确
- 镜像仓库认证是否正确
2. 部署失败
可能的原因:
- 镜像拉取失败
- 资源配额不足
- 端口冲突
3. 权限问题
确保:
- GitHub PAT 权限足够
- 镜像仓库认证信息正确
- Kubernetes RBAC 配置正确
开发计划
- 支持更多 Git 平台
- 添加构建缓存
- 支持多环境配置
- 添加测试用例
- 优化错误处理
贡献
欢迎提交 Issue 和 Pull Request!
许可证
MIT