创建新应用流程

本文档记录了创建新应用的完整流程,包括代码配置、CI/CD配置和网关配置。

1. 代码新增新的项目

1.1 项目结构

  • 创建项目目录结构
  • 初始化代码仓库
  • 配置项目依赖

1.2 代码开发

  • 实现业务逻辑
  • 编写单元测试
  • 代码提交到Git仓库

2. 创建阿波罗(Apollo)配置

2.1 登录Apollo配置中心

  • 访问Apollo配置中心
  • 使用相应权限账号登录

2.2 创建应用配置

  • 创建新的AppId
  • 配置应用基本信息
  • 设置命名空间(Namespace)

2.3 添加配置项

  • 添加应用所需的配置项
  • 配置不同环境的参数(DEV/TEST/PROD)
  • 发布配置

3. 在KubeSphere创建流水线

3.1 登录KubeSphere

  • 访问KubeSphere平台
  • 选择对应的企业空间和项目

3.2 创建流水线

  • 进入DevOps工程
  • 点击”创建”按钮,选择”创建流水线”
  • 填写流水线基本信息(名称、描述等)

3.3 配置流水线

  • 关联代码仓库
  • 配置凭证信息
  • 设置触发器(如:分支触发、定时触发等)

4. 创建Jenkinsfile文件

4.1 在项目根目录创建Jenkinsfile

pipeline {
    agent any
 
    stages {
        stage('拉取代码') {
            steps {
                // 从Git仓库拉取代码
                checkout scm
            }
        }
 
        stage('编译构建') {
            steps {
                // 执行编译命令
                sh 'mvn clean package'
            }
        }
 
        stage('构建镜像') {
            steps {
                // 构建Docker镜像
                sh 'docker build -t ${IMAGE_NAME}:${TAG} .'
            }
        }
 
        stage('推送镜像') {
            steps {
                // 推送到镜像仓库
                sh 'docker push ${IMAGE_NAME}:${TAG}'
            }
        }
 
        stage('部署应用') {
            steps {
                // 部署到Kubernetes
                sh 'kubectl apply -f k8s/deployment.yaml'
            }
        }
    }
}

4.2 配置说明

  • agent: 指定执行流水线的节点
  • stages: 定义流水线的各个阶段
  • steps: 每个阶段具体执行的步骤

4.3 环境变量配置

  • 在KubeSphere中配置镜像仓库地址
  • 配置Kubernetes集群凭证
  • 设置应用相关环境变量

5. Kong网关添加项目服务及路由

5.1 登录Kong管理界面

  • 访问Kong Admin API或Konga管理界面
  • 使用管理员账号登录

5.2 添加Service

  • 点击”Services”菜单
  • 创建新的Service
    • Name: 服务名称(如: my-app-service)
    • Protocol: http/https
    • Host: 服务地址(如: my-app.default.svc.cluster.local)
    • Port: 服务端口(如: 8080)
    • Path: 服务路径(可选)

5.3 添加Route

  • 在Service详情页,点击”Routes”
  • 创建新的Route
    • Name: 路由名称(如: my-app-route)
    • Paths: 路由路径(如: /api/my-app)
    • Methods: 允许的HTTP方法(GET, POST等)
    • Hosts: 域名(可选)

5.4 配置插件(可选)

  • 认证插件(JWT, Key Auth等)
  • 限流插件(Rate Limiting)
  • 日志插件
  • CORS插件

6. 验证流程

6.1 验证Apollo配置

  • 确认配置已发布
  • 应用启动时能正确读取配置

6.2 验证CI/CD流水线

  • 提交代码触发流水线
  • 检查流水线各阶段执行状态
  • 确认镜像成功推送

6.3 验证应用部署

  • 检查Pod运行状态
  • 查看应用日志
  • 确认服务正常启动

6.4 验证网关路由

  • 通过Kong网关访问应用
  • 测试各个API接口
  • 验证插件功能

7. 常见问题

7.1 流水线构建失败

  • 检查Jenkinsfile语法
  • 查看构建日志定位错误
  • 确认镜像仓库凭证配置

7.2 应用启动失败

  • 检查Pod日志
  • 确认Apollo配置正确
  • 验证资源配额是否充足

7.3 网关访问失败

  • 检查Service和Route配置
  • 确认上游服务状态
  • 查看Kong日志

8. 相关资源


标签: DevOps CD KubeSphere Apollo Kong Jenkins