s2i_b2i_overview.md 1.5 KB
Newer Older
P
pengfei 已提交
1
# KubeSphere S2I/B2I overview
Z
zhuxiaoyang 已提交
2

P
pengfei 已提交
3
## What is S2I/B2I
Z
zhuxiaoyang 已提交
4

P
pengfei 已提交
5
Kubesphere S2I(Source-to-Image) / B2I(Binary-to-Image) provides easy CI/CD functionalities, help developers to publish their service to Kubernetes without writing Dockefile.
Z
zhuxiaoyang 已提交
6

P
pengfei 已提交
7
## Workflow Example
Z
zhuxiaoyang 已提交
8

P
pengfei 已提交
9 10 11 12 13 14 15 16 17
![](https://pek3b.qingstor.com/kubesphere-docs/png/20191223103533.png)

## Principle

All resources of S2I/B2I will be installed in namespace `kubesphere-devops-system` by enable devops component.

In S2I, all resources and CI/CD steps are defined with [Custom Resource Defintion](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/) (CRD). You can operate all s2i resources by call k8s api directly.

There are two mudules included in the S2I component:
Z
zhuxiaoyang 已提交
18 19 20 21 22 23 24 25 26 27

1. S2I Operator: A Kubernetes CRD controller that provides easy Kubernetes-style resources for declaring CI/CD-style pipelines
2. S2IRun: It is the instance that executes the s2i build process in containers.

Besides, the S2I stack includes following CRD resources:

1. s2ibuildertemplates: defines information about S2I builder image.
2. s2ibuilders: all configuration information used in building are stored in this CRD.
3. s2iruns: defines an action about build

Z
zhuxiaoyang 已提交
28
Here is a graph that describes the relationship about all CRD within S2I architecture:
Z
zhuxiaoyang 已提交
29

Z
zhuxiaoyang 已提交
30
​![](../../images/s2i_arch.png)
Z
zhuxiaoyang 已提交
31

P
pengfei 已提交
32
Also you can install S2I component in any kubernetes cluster without KubeSphere.
Z
zhuxiaoyang 已提交
33

P
pengfei 已提交
34
Want to see more about s2i, please jump to [S2I Operator](https://github.com/kubesphere/s2ioperator) and [S2IRun](https://github.com/kubesphere/s2irun)