32 Star 156 Fork 55

腾讯蓝鲸智云 / bk-bcs

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
Deploy_BCS_in_K8S_HA_Cluster.md 3.94 KB
一键复制 编辑 原始数据 按行查看 历史

Table of Contents

BCS高可用Kubernetes集群部署

部署BCS管理的高可用Kubernetes集群有2种方式:

目标机器环境准备

硬件

资源 配置
CPU 4核
Mem 8GB
Disk >= 50GB

注:Slave节点可根据业务规模增加机器配置

操作系统

CentOS 7及以上系统,推荐CentOS 7.4

注:

  1. 集群网络模式使用Overlay网络模式,需要有NAT模块(iptable_nat)

  2. CRI推荐使用Docker,storage-dirver推荐使用overlay2,CentOS内核版本需要在3.10.0-693及以上支持Overlay2

网络

  • 放行集群层到服务层的机器所有网络策略
  • 放行集群层机器间的所有网络策略

部署 BCS K8S 操作

项目提供了打包的 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-watchbcs-kube-agent 提供接入 BCS Service 控制面的能力,余下的组件则提供 BCS 定制化的 workload 支持,详细可见对应 workload 的文档:GameStatefulSetGameDeployment

有关该组合 chart 详细配置说明,请参阅 bcs-k8s doc

Requirements

创建集群相关信息

  • 参考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 组件

导入证书

将证书导入 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
Go
1
https://gitee.com/Tencent-BlueKing/bk-bcs.git
git@gitee.com:Tencent-BlueKing/bk-bcs.git
Tencent-BlueKing
bk-bcs
bk-bcs
master

搜索帮助

53164aa7 5694891 3bd8fe86 5694891