Kubernetes (K8s) 是一个开源系统,用于自动化容器化应用程序的部署、扩展和管理。
在 Kubernetes 集群上部署BK-CI , 有利于 BK-CI 的动态扩展 。接下来你将看到在 Kubernetes 集群上部署 BK-CI 的步骤。
LINUX
- Kubernetes (个人用户推荐 Minikube)
- Helm3
- 从 Releases 下载最新版本的 bk-ci-charts.tgz
- 执行
helm install <ReleaseName> bk-ci-charts.tgz
安装- 若集群没有ingress-controller , 需要再加上
--set nginx-ingress-controller.enabled=true
参数 - 若集群已经有ingress-controller , 则根据controller类型修改
ingress.annotations.kubernetes.io/ingress.class
, 默认为nginx
- 若集群没有ingress-controller , 需要再加上
- 安装成功后, 你可以在浏览器上访问
devops.example.com
(需要修改本地hosts, 配置域名到ingress ip) - 内置的elasticsearch启动如果报
max virtual memory areas vm.max_map_count [65530] is too low
错误 , 需要手动修改内核参数 , 在 /etc/sysctl.conf 里面添加vm.max_map_count=262144
,保存后执行sysctl -p
即可
可以在有网络的机器上(且安装了helm和docker), 在bk-ci-charts.tgz
所在目录中执行bk-ci-offline-image.sh,下载完所有镜像tar, 然后再将tar传到无网络机器中, 使用docker load < xxx.tar
或者 minikube image load xxx.tar
导入镜像
minikube默认推荐driver=docker , 在这种模式下, 需要执行minikube ssh
进入到起bash环境中(minikube命令) , 或者可以使用driver=none
的方式安装
使用你的账户登录registry-1.docker.io , 命令: docker login registry-1.docker.io