项目简介
本项目借助Kubernetes和Terraform等技术达成基础设施的自动化部署与CI/CD流程。运用Terraform管理依赖服务,Kubernetes部署应用,融合GitOps思想,构建可重复执行、便于管理的不可变基础设施。项目涵盖多个微服务应用,像产品页面展示、书籍评论等。
项目的主要特性和功能
- Kubernetes容器编排:以Kubernetes作为容器编排平台,实现微服务的自动部署与扩展。
- Terraform基础设施管理:借助Terraform管理基础设施资源,包含命名空间、服务发现等。
- 微服务应用:有产品页面展示、书籍评论等,采用Java、Python等语言开发。
- 多环境支持:支持创建不同环境(如qa、stg、prod),并使用不同的依赖服务和资源配置。
安装使用步骤
环境准备
- Fork当前代码仓库
ea-301-<your-repo-name>
。 - 安装必要的工具和软件,如
./scripts/setup_macos
。 - 启动Minikube集群:
minikube start
。
应用部署
- 使用Terraform管理依赖服务:
- 创建namespace。
- 部署MySQL等后端服务,并将连接信息暴露成secrets。
- 使用Kustomize生成manifest:
- 创建manifest文件,用于部署应用。
CI/CD流程
使用ArgoCD进行应用的部署和版本控制。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】