kubernetes管理平台有哪些(以应用为中心的云原生CI)
kubernetes管理平台有哪些(以应用为中心的云原生CI)系统经过简单配置,即可自动生成高并发流水线,高效执行构建、部署、测试、环境流转等任务。这一设计解决了微服务架构下带来的多服务交付效率低下的问题功能特性TIPTIP功能介绍
一、开源项目简介为中国企业而来,以应用为中心的云原生cicd平台 - 流水线模板/并行构建/多环境管理/权限控制 - 致力于让中小企业快速落地Kubernetes。
二、开源协议使用Apache-2.0开源协议
三、界面展示 1. 服务集成配置#1.1 服务集成列表 #1.2 新建-服务集成#kubernetes 配置集成 #Jenkins 配置集成 #Registry 配置集成TIP
- 支持kubernetes、jenkins、Registry 这三种类型的配置集成;
- 必须配置至少一个jenkins、Registry kubernetes类型可以根据需要添加;
- 另外 Jenkins 的 kubernetes 的授权配置请查看 github
- Registry 支持自建 Harbor、阿里云容器服务、腾讯云容器服务等,注意如果容器服务没有配置 HTTPS 域名的,请将“是否 HTTPS”设置为关闭状态
TIP
- 应用编排 yaml 为云原生的 kuernetes yaml 模板.
TIP
- 流水线创建好后,根据流水线的不同的阶段会显示允许的操作动作
TIP
- 应用服务可以查看服务状态,水平扩展,重启,删除等.
功能介绍
我的项目- 项目概览
- 应用代码
- 构建部署
- 应用服务
- 发布统计
- 项目设置
- 项目环境
- 项目流程
- 系统设置
- 服务集成
- 任务模板
- 编译环境
功能特性
高并发的流水线系统经过简单配置,即可自动生成高并发流水线,高效执行构建、部署、测试、环境流转等任务。这一设计解决了微服务架构下带来的多服务交付效率低下的问题
云原生的CICD以应用为中心,使用云原生的yaml编排,轻松实现应用服务的CICD.
环境灵活配置一个开发环境不够用? 可以根据需要灵活添加或删除环境
服务集成不论是阿里云/腾讯云,还是自建k8s 均可以轻松集成
权限管理支持本地用户及LDAD用户认证
审计日志五、技术选型架构图┌─────────┐
│ │
│ Gitlab ├──────┐ ┌───────────────────────┐ ┌──────────┐ ┌───────────────────────┐
│ │ │ │ AtomCI │ │ │ │ │
└─────────┘ │ │ │ │ │ │ ┌────────────────┐ │
│ │ Frontend (Vue) │ │ │ │ │ jnlp-agent pod1│ │
├──────► ├────► │ │ └────────────────┘ │
┌──────────┐ │ │ │ │ ├───► │
│ │ │ │ Backend (Go) ◄────┤ Jenkins │ │ ┌────────────────┐ │
│ Registry ├─────┤ │ │ │ │ │ │ jnlp-agent pod2│ │
│ │ │ │ │ │ │ │ └────────────────┘ │
└──────────┘ │ └──────────┬────────────┘ │ │ │ .... │
│ │ │ │ │ ┌────────────────┐ │
┌───────────┐ │ ┌──────────┴────────────┐ ├──────────┤ │ │ jnlp-agent podn│ │
│ │ │ │ │ │k8s/Docker│ │ └────────────────┘ │
│ Kubernetes│ │ │ MySQL │ │ or │ │ │
│ ├────┘ │ │ │ warfile │ │ agent on kubernetes │
└───────────┘ └───────────────────────┘ └──────────┘ └───────────────────────┘
如何本地运行前置条件
- go 1.15
- node v12.22.1
- yarn v1.22.5
- mysql 5.7
> create database atomci character set utf8mb4;
修改配置
# conf/app.conf
[DB]
url = root:root@tcp(127.0.0.1:3306)/atomci?charset=utf8mb4
[notification]
dingEnable = 1 # 启用钉钉通知;0:不启用,1:启用
ding = 钉钉机器人
mailEnable = 1 # 启用邮件通知;0:不启用,1:启用
smtpHost = SMTP服务器
smtpPort = 465
smtpAccount = 邮件账号
smtpPassword = 邮件密码
注: 对于[ldap] [jwt] [atomci]可以参照附录-『配置说明』进行修改
启动后端# linux/mac环境
$ make run
# windowns环境,或是没有make命令
$ go build -o atomci cmd/atomci/main.go; ./atomci
启动前端
$ cd web
# 安装依赖
$ yarn install #仅首次运行时需要执行
# 运行
$ yarn run dev
访问
# 默认用户名/密码 admin/123456
http://your-ip:8081
一键部署最新版本
- 准备一台可以正常运行的linux服务器(支持MacOS)
- 安装Docker 和 Docker Compose
$ cd web
$ pwd
# ./atomci/web/
$ cd web ; docker build .
后端
$ pwd
# ./atomci
$ docker build .
如果你使用 docker-compsoe方式部署的话,可以通过替换镜像地址的方式,即可使用master分支的最新代码.
附录配置说明
配置项 |
默认值 |
说明 |
default::appname |
atomci |
应用名 |
default::httpport |
8080 |
应用侦听端口 |
default::runmode |
dev |
运行模式dev|prod |
default::copyrequestbody |
true |
是否允许在 HTTP 请求时,返回原始请求体数据字节 |
日志配置 | ||
log::logfile |
log/atomci.log |
日志文件 |
log::level |
7 |
日志级别 |
log::separate |
["error"] |
分隔error独立一个文件 默认是atomci.error.log |
DB配置信息 | ||
DB::url |
root:root@tcp(127.0.0.1:3306)/atomci?charset=utf8mb4 |
数据库的链接信息 |
DB::debug |
false |
是否开启debug |
DB::rowsLimit |
5000 | |
DB::maxIdelConns |
100 | |
DB::maxOpenConns |
200 | |
LDAP 配置信息 | ||
ldap::host |
ldap.xxx.com | |
ldap::port |
389 | |
ldap::bindDN |
ldap@xx.com | |
ldap::bindPassword |
Xxx.. | |
ldap::userFilter |
(samaccountname=%s) | |
ldap::baseDN |
OU=Xxx DC=xx DC=com | |
JWT 配置 | ||
jwt::secret |
changemeforsecurity |
jwt的加密使用的字段,建议修改 |
atomci::url |
http://localhost:8080 |
AtomCI 回调地址 |
访问一飞开源:https://code.exmay.com/