# BK-CI
此Chart用于在Kubernetes集群中通过helm部署bkci
## 环境要求
- Kubernetes 1.16+
- Helm 3+
## 生成Chart
- 执行命令 : `./build_chart.py ${GATEWAY_DOCKER_IMAGE_VERSION} ${BACKEND_DOCKER_IMAGE_VERSION}` *(注:GATEWAY_DOCKER_IMAGE_VERSION , BACKEND_DOCKER_IMAGE_VERSION 为镜像的version , 具体查看bk-ci/docker-images/core/ci/README.md)*
- 可选项:
- 在`./build/values.json`中配置默认项 (配置项参考[服务配置](#服务配置)) , 如:
```
{
"bkCiHost": "devops.example.com",
"bkCiPublicUrl": "devops.example.com",
"bkCiPublicHostIp": "127.0.0.1"
}
```
## 安装Chart
使用以下命令安装名称为`bkci`的release:
```shell
$ helm install bkci .
```
上述命令将使用默认配置在Kubernetes集群中部署bkci, 并输出访问指引。
部署默认k8s构建机参考[kubernetes-manager部署文档.md](./kubernetes-manager部署文档.md)
## 卸载Chart
使用以下命令卸载`bkci`:
```shell
$ helm uninstall bkci
```
上述命令将移除所有和bkci相关的Kubernetes组件,并删除release。
*注: helm现在不会主动删除pvc, 所以在使用内置数据存储的时候, 要想彻底删除所有数据, 需要手动清理, 如: kubectl get pvc|awk '{print $1}'|grep -v 'NAME'|xargs kubectl delete pvc*
## Chart依赖
- [bitnami/nginx-ingress-controller](https://github.com/bitnami/charts/tree/master/bitnami/nginx-ingress-controller)
- [bitnami/mysql](https://github.com/bitnami/charts/blob/master/bitnami/mysql)
- [bitnami/redis](https://github.com/bitnami/charts/blob/master/bitnami/redis)
- [bitnami/elasticsearch](https://github.com/bitnami/charts/blob/master/bitnami/elasticsearch)
- [bitnami/rabbitmq](https://github.com/bitnami/charts/blob/master/bitnami/rabbitmq)
- [bitnami/influxdb](https://github.com/bitnami/charts/blob/master/bitnami/influxdb)
- [bitnami/mongodb](https://github.com/bitnami/charts/blob/master/bitnami/mongodb)
## RBAC配置
|参数|描述|默认值|
|---|---|---|
| `rbac.serviceAccount` | RBAC账户 | `bkci` |
## 镜像配置
能够配置的镜像有:
- gatewayImage
- backendImage
|参数|描述|默认值|
|---|---|---|
| `registry` | 镜像仓库 | `mirrors.tencent.com/bkce` |
| `repository` | 镜像名称 | `bkci/gateway` / `bkci/backend` |
| `tag` | 镜像tag | `1.16.0` |
| `pullPolicy` | 镜像拉取策略 | `IfNotPresent` |
| `pullSecrets` | 镜像拉取Secret名称数组 | `[]` |
## 蓝鲸日志采集配置
|参数|描述|默认值|
|---|---|---|
| `bkLogConfig.enabled` | 是否开启日志采集 | `false` |
| `bkLogConfig.service.dataId` | 服务日志采集ID | `1` |
| `bkLogConfig.gatewayAccess.dataId` | 网关访问日志采集ID | `1` |
| `bkLogConfig.gatewayError.dataId` | 网关异常日志采集ID | `1` |
| `bkLogConfig.turbo.enabled` | 是否开启turbo的日志采集 | `false` |
| `bkLogConfig.turbo.dataId` | turbo日志采集ID | `1` |
## 蓝鲸监控配置
|参数|描述|默认值|
|---|---|---|
| `serviceMonitor.enabled` | 是否开启蓝鲸监控 | `false` |
| `serviceMonitor.turbo.enabled` | turbo是否开启蓝鲸监控 | `false` |
## 初始化配置
|参数|描述|默认值|
|---|---|---|
| `init.sql.enabled` | 是否初始化数据库 | `true` |
| `init.iam.enabled` | 是否初始化权限中心 | `true` |
| `init.turbo.enabled` | 是否初始化编译加速 | `true` |
| `init.bkrepo.enabled` | 是否初始化制品库 | `true` |
| `init.defaultImage.enabled` | 是否初始化构建镜像 | `true` |
## ingress 配置
|参数|描述|默认值 |
|---|---|---|
| `ingress.enabled` | 是否创建ingress | `true` |
| `annotations` | ingress标注 | Check `values.yaml` |
默认不会部署`nginx-ingress-controller`
相关配置请参考[bitnami/nginx-ingress-controller](https://github.com/bitnami/charts/tree/master/bitnami/)
|参数|描述|默认值 |
|---|---|---|
| `nginx-ingress-controller.enabled` | 是否部署nginx ingress controller | `false` |
| `nginx-ingress-controller.defaultBackend.enabled` | nginx ingress controller默认backend | `false` |
## 组件配置
能够配置的组件有:
- artifactory
- auth
- dispatch
- environment
- gateway
- image
- log
- misc
- notify
- openapi
- plugin
- process
- project
- quality
- repository
- store
- ticket
- websocket
|参数|描述|默认值 |
|---|---|---|
| `replicas` | Number of pod 1 (only when `autoscaling.enabled=false`) | `1` |
| `resources.limits` | The resources limits for containers | `{cpu:500m ,memory:1500Mi}` |
| `resources.requests` | The requested resources for containers | `{cpu:100m ,memory:1000Mi}` |
| `affinity` | Affinity for pod assignment (evaluated as a template) | `{}` |
| `containerSecurityContext.enabled` | Enable containers' Security Context | `false` |
| `containerSecurityContext.runAsUser` | Containers' Security Context | `1001` |
| `containerSecurityContext.runAsNonRoot` | Containers' Security Context Non Root | `true` |
| `nodeAffinityPreset.key` | Node label key to match Ignored if `affinity` is set. | `""` |
| `nodeAffinityPreset.type` | Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `nodeAffinityPreset.values` | Node label values to match. Ignored if `affinity` is set. | `[]` |
| `nodeSelector` | Node labels for pod assignment | `{}` (evaluated as a template) |
| `podLabels` | Add additional labels to the pod (evaluated as a template) | `nil` |
| `podAnnotations` | Pod annotations | `{}` (evaluated as a template) |
| `podAffinityPreset` | Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `podAntiAffinityPreset` | Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `soft` |
| `podSecurityContext.enabled` | Enable pod security context | `true` |
| `podSecurityContext.fsGroup` | fsGroup ID for the pod | `1001` |
| `priorityClassName` | Define the priority class name for the pod. | `""` |
| `tolerations` | T
Java程序员-张凯
- 粉丝: 1w+
- 资源: 7527
最新资源
- springboot161基于springboot的公交线路查询系统.zip
- springboot160社区智慧养老监护管理平台设计与实现.zip
- springboot162基于SpringBoot的体育馆管理系统的设计与实现.zip
- 含高比例分布式光伏的配电网集群电压协调控制 摘要:代码主要做的是基于网络划分的双层电压控制策略,通过优化光伏变流器的有功和无功输出功率实现光伏发电损失和线路有功损耗最小,在集群划分基础上,研究包含群内
- springboot165科研工作量管理系统的设计与实现.zip
- springboot163美食推荐商城的设计与实现.zip
- springboot164党员教育和管理系统.zip
- springboot166基于spring boot的纺织品企业财务管理系统.zip
- springboot168基于springboot + vue的疫情隔离管理系统.zip
- springboot167基于springboot的医院后台管理系统的设计与实现.zip
- WINCC 用VBS写MYSQL动作说明
- springboot169基于vue的工厂车间管理系统的设计.zip
- springboot170图书电子商务网站的设计与实现.zip
- springboot171社区医院管理系统.zip
- springboot174基于springboot的疾病防控综合系统的设计与实现.zip
- springboot173疫苗发布和接种预约系统.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈