快捷搜索:  汽车  科技

kubernetes管理平台有哪些(以应用为中心的云原生CI)

kubernetes管理平台有哪些(以应用为中心的云原生CI)系统经过简单配置,即可自动生成高并发流水线,高效执行构建、部署、测试、环境流转等任务。这一设计解决了微服务架构下带来的多服务交付效率低下的问题功能特性TIPTIP功能介绍

一、开源项目简介

为中国企业而来,以应用为中心的云原生cicd平台 - 流水线模板/并行构建/多环境管理/权限控制 - 致力于让中小企业快速落地Kubernetes。

二、开源协议

使用Apache-2.0开源协议

三、界面展示

kubernetes管理平台有哪些(以应用为中心的云原生CI)(1)

1. 服务集成配置#1.1 服务集成列表

kubernetes管理平台有哪些(以应用为中心的云原生CI)(2)

#1.2 新建-服务集成#kubernetes 配置集成

kubernetes管理平台有哪些(以应用为中心的云原生CI)(3)

#Jenkins 配置集成

kubernetes管理平台有哪些(以应用为中心的云原生CI)(4)

#Registry 配置集成

kubernetes管理平台有哪些(以应用为中心的云原生CI)(5)

TIP

  • 支持kubernetes、jenkins、Registry 这三种类型的配置集成;
  • 必须配置至少一个jenkins、Registry kubernetes类型可以根据需要添加;
  • 另外 Jenkins 的 kubernetes 的授权配置请查看 github
  • Registry 支持自建 Harbor、阿里云容器服务、腾讯云容器服务等,注意如果容器服务没有配置 HTTPS 域名的,请将“是否 HTTPS”设置为关闭状态
#2. 创建项目

kubernetes管理平台有哪些(以应用为中心的云原生CI)(6)

#3. 配置项目环境/项目流程

kubernetes管理平台有哪些(以应用为中心的云原生CI)(7)

#3.1 新建环境

kubernetes管理平台有哪些(以应用为中心的云原生CI)(8)

#3.2 新建流程

kubernetes管理平台有哪些(以应用为中心的云原生CI)(9)

#3.3 流程配置

kubernetes管理平台有哪些(以应用为中心的云原生CI)(10)

kubernetes管理平台有哪些(以应用为中心的云原生CI)(11)

kubernetes管理平台有哪些(以应用为中心的云原生CI)(12)

#4. 应用代码配置#4.1 关联代码仓库

kubernetes管理平台有哪些(以应用为中心的云原生CI)(13)

#4.2 同步代码源

kubernetes管理平台有哪些(以应用为中心的云原生CI)(14)

#4.3 应用编排配置

kubernetes管理平台有哪些(以应用为中心的云原生CI)(15)

kubernetes管理平台有哪些(以应用为中心的云原生CI)(16)

TIP

  • 应用编排 yaml 为云原生的 kuernetes yaml 模板.
#5.创建流水线

kubernetes管理平台有哪些(以应用为中心的云原生CI)(17)

kubernetes管理平台有哪些(以应用为中心的云原生CI)(18)

TIP

  • 流水线创建好后,根据流水线的不同的阶段会显示允许的操作动作
#6.应用服务

kubernetes管理平台有哪些(以应用为中心的云原生CI)(19)

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一键部署最新版本

  1. 准备一台可以正常运行的linux服务器(支持MacOS)
  2. 安装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/

猜您喜欢: