KubeSphere DevOps 3.0 流水线开发指南

KubeSphere DevOps 包含 S2I 和 Pipeline 两部分。在社区中,openshift 提供了一个打包应用的工具 S2I,具体请参考 使用 S2I 构建云原生应用。KubeSphere 将其做成了服务,采用 CRD 使用一个单独的 Operator 对其进行管理,功能比较独立。而在 3.0 中 Pipeline 与 KubeShere Core 耦合依然十分紧密,在搭建环境和调试上略显复杂。本篇主要提供开发者维护和二次开发 KubeSphere DevOps 3.0 指引。

1. DevOps 流水线架构

下图是流水线的整体架构:

1.1 存储模型

产品概念Kubernetes 对象Jenkins 对象
DevOps 工程 DevopsProject 文件夹
流水线 Pipeline 流水线/多分支流水线
凭证 Credential 文件夹下的凭据

1.2 数据流

  • ks-jenkins
1
brew install git
  • 安装 Golang
1
brew install golang
  • 安装 Kubebuilder
1
brew install kubebuilder

3.2 安装并配置本地访问

  • 安装 Kubernetes 集群
1
git clone https://github.com/shaowenchen/kubesphere
  • 进入项目目录
1
cd kubesphere

3.4 配置 Webhook 证书

  • 运行 ks-apiserver
1
go run cmd/ks-apiserver/apiserver.go --logtostderr=true --v=8 --debug=true

4. 如何发布到集群环境