部署BCS管理的高可用Kubernetes集群有2种方式:
-
蓝鲸社区版(BCS增值包):使用容器服务控制台一键创建Kubernetes集群,Master节点推荐3或5台,集群创建成功后,可以进入集群节点列表,为集群增加节点
-
手动部署:
- 参考社区的方案搭建
- 《和我一步步部署 kubernetes 集群》
- 使用Kubespray
- 使用kubeasz(中文)
- 搭建完Kubernetes集群后,参考本文档指引部署BCS组件
- 参考社区的方案搭建
资源 | 配置 |
---|---|
CPU | 4核 |
Mem | 8GB |
Disk | >= 50GB |
注:Slave节点可根据业务规模增加机器配置
CentOS 7及以上系统,推荐CentOS 7.4
注:
集群网络模式使用Overlay网络模式,需要有NAT模块(iptable_nat)
CRI推荐使用Docker,storage-dirver推荐使用overlay2,CentOS内核版本需要在3.10.0-693及以上支持Overlay2
- 放行集群层到服务层的机器所有网络策略
- 放行集群层机器间的所有网络策略
项目提供了打包的 K8S 业务集群组件 helm chart —— bcs-k8s,只需部署该 chart 即可将集群接入 BCS Serivce 控制面。该 chart 是以下组件的集合:
- bcs-k8s-watch
- bcs-kube-agent
- bcs-gamestatefulset-operator
- bcs-gamedeployment-operator
- bcs-hook-operator
其中,bcs-k8s-watch
与 bcs-kube-agent
提供接入 BCS Service 控制面的能力,余下的组件则提供 BCS 定制化的 workload 支持,详细可见对应 workload 的文档:GameStatefulSet,GameDeployment
有关该组合 chart 详细配置说明,请参阅 bcs-k8s doc
- 参考BCS K8S API文档
- 创建用户
- 创建
user_token
- 创建集群
- 创建
register_token
# example
# VERSION=v1.20.11
# module=kube-agent
# module_full_name=bcs-kube-agent
# docker_registry=xxx.yyy.zzz/name
VERSION=${VERSION} make ${module}
cd $GOPATH/src/bk-bcs/build/bcs.${VERSION}/bcs-k8s-master/${module_full_name}
docker build . -t ${docker_registry}/${module_full_name}:${VERSION}
docker push ${docker_registry}/${module_full_name}:${VERSION}
将证书导入 bcs-k8s/charts/bcs-cluster-init/cert 目录(若不存在请手动创建),包括:
- ca证书,命名为bcs-ca.crt
- server证书,命名为bcs-server.crt
- server私钥,命名为bcs-server.key
- client证书,命名为bcs-client.crt
- client私钥,命名为bcs-client.key
按照 bcs-k8s 部署文档填写必要的部署参数,并执行以下命令
helm upgrade bcs-k8s ./bcs-k8s \
-f your_values.yaml \
-n bcs-system \
--install