蓝鲸智云-社区版V7.0安装部署

  • 一、部署环境准备
    1. 部署用户要求

本手册全部操作均使用root用户。

    1. 硬件配置要求

基础套餐,最低硬件配置要求如下

  1. Master1台,负责 k8s 集群本身的管理调度,配置至少为4核8GB内存100GB磁盘建议配置3台Master节点,实现Master节点集群管理。
  2. Node3台,负责承载业务运行。建议每台机器配置至少为8核32GB内存, 100GB磁盘

基础套餐部署,共需4台服务器,详细如下表:

蓝鲸套餐

描述

最低配置

推荐配置

备注

基础套餐

后台及 SaaS

2.5 台 node

3 台 node

8核32GB内存, 100GB磁盘

容器管理平台

容器管理后台及 SaaS

0.7 台 node

1 台 node

4核8GB内存,100GB磁盘

监控套餐

监控、日志服务及其 SaaS

1.5 台 node

2 台 node

如启用容器监控,k8s 集群存储应大于 500G

持续集成套餐

目前仅包含流水线

2 台 node

5 台 node

流水线任务较多时需扩容 node

    1. 软件版本要求

需求项

具体要求

检查命令

修改命令

操作系统

CentOS 7.9 64 位

cat /etc/centos-release

kernel

3.10.0 及以上

uname -r

Swap

关闭。防止 io 飙升影响 kubelet 进程。

free -m; # Swap 这行值为 0

vim /etc/fstab;# 注释 swap 行,重启系统

防火墙

关闭

iptables -vnL 无其他规则/firewall-cmd --state

systemctl stop firewalld    # 停止

systemctl disable firewalld # 禁用

SELinux

关闭。k8s 官方要求。

getenforce 的输出为 Disabled

# 或者修改配置文件,然后重启

sed -i 's/^SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

时区

所有服务器时区应该统一,建议使用北京时间

使用 timedatectl set-timezone Asia/Shanghai 设置为北京时间。

timedatectl set-timezone Asia/Shanghai

时间同步

etcd 选举时要求节点间时间差小于 1s

配置 chronyd 同步时间

Centos7.9默认开启

docker 版本

19.03 及更高

docker version

kubenetes 版本

限 1.18 或 1.20,其他版本未经测试。用户报告 1.22 以上版本不兼容,1.17 版本部署 bcs 会失败。

kubectl version

    1. 使用bcs.sh快速部署K8S集群

本示例中,各服务器的配置如下表:

序号

类型

主机名

IP

备注(CPU/内存/硬盘)

1

Mater

k8s-api.bcs.local

192.168.46.128

2C4G,20G

2

Mater

master-192-168-46-132

192.168.46.132

2C4G,20G

3

Mater

master-192-168-46-133

192.168.46.133

2C4G,20G

4

Node1

node-192-168-46-129

192.168.46.129

2C4G,100G

5

Node2

node-192-168-46-130

192.168.46.130

2C4G,100G

6

Node3

node-192-168-46-131

192.168.46.131

2C4G,100G

      1. 部署初始Master节点
  1. 在第一台 master 机器(下文称为 初始 master,新手用户建议复用 中控机)上执行此命令:

curl -fsSL https://bkopen-1252002024.file.myqcloud.com/ce7/bcs.sh | bash -s -- -i k8s

  1. 执行成功后,出现类似以下提示信息:

  Kubernetes控制节点启动成功  

  扩容控制平面执行以下命令  

cluster_env=T05fQ0xPVUQ9ImJhcmUtbWV0YWwiCkJDU19ESVI9Ii9yb290Ly5iY3MiCkJLX0hPTUU9Ii9kYXRhL2JjcyIKYmNzX3N5c2N0bD0iMSIKTUlSUk9SX0lQPSJudWxsIgpNSVJST1JfVVJMPSJodHRwczovL21pcnJvcnMudGVuY2VudC5jb20iCkJLUkVQT19VUkw9Im51bGwiCkRPQ0tFUl9MSUI9Ii9kYXRhL2Jjcy9saWIvZG9ja2VyIgpET0NLRVJfVkVSU0lPTj0iMTkuMDMuOSIKRE9DS0VSX0xJVkVfUkVTVE9SRT0iZmFsc2UiClJFUE9fTUlSUk9SUz0nWyJodHRwczovL21pcnJvci5jY3MudGVuY2VudHl1bi5jb20iXScKRE9DS0VSX0JSSURHRT0ibnVsbCIKQktfUFVCTElDX1JFUE89Imh1Yi5ia3RlbmNlbnQuY29tIgpCS19SRUxFQVNFX1JFUE89Imh1Yi5ia3RlbmNlbnQuY29tL2JsdWVraW5nIgpLVUJFTEVUX0xJQj0iL2RhdGEvYmNzL2xpYi9rdWJlbGV0IgpLOFNfVkVSPSIxLjIwLjExIgpLOFNfU1ZDX0NJRFI9IjEwLjk2LjAuMC8xMiIKSzhTX1BPRF9DSURSPSIxMC4yNDQuMC4wLzE2IgpLOFNfRVhUUkFfQVJHUz0iYWxsb3dlZC11bnNhZmUtc3lzY3RsczogbmV0LmlwdjQudGNwX3R3X3JldXNlIgpFVENEX0xJQj0iL2RhdGEvYmNzL2xpYi9ldGNkIgpCQ1NfSzhTX0NUUkxfSVA9IjE5Mi4xNjguNDYuMTI4Igo=

master_join_cmd_b64=a3ViZWFkbSBqb2luIGs4cy1hcGkuYmNzLmxvY2FsOjY0NDMgLS10b2tlbiA5dXgzYWkuZW00ZmlxMGV4cWh2N2l6YiAgICAgLS1kaXNjb3ZlcnktdG9rZW4tY2EtY2VydC1oYXNoIHNoYTI1Njo0MjIzNWUyMzFmYzk3YzJiNWNkYTNiOWUxYTE2OTcxYzYyYzkwOGFmOTdhZTExOWE3ZDNjNzdhZDhlNTdjMjk1ICAtLWNvbnRyb2wtcGxhbmUgLS1jZXJ0aWZpY2F0ZS1rZXkgZjk3NjM3MDY0OGMwYzA5ZmQ0ZDk0OWMwYjEyOGNiYTdmNzMwOTVhN2YxZTJmM2QwNGM3MWYxNDIwNjdlMjQxMA==

set +a

curl -fsSL https://bkopen-1252002024.file.myqcloud.com/ce7/bcs.sh | bash -s -- install k8s-control-plane

  扩容节点执行以下命令  

set -a

cluster_env=T05fQ0xPVUQ9ImJhcmUtbWV0YWwiCkJDU19ESVI9Ii9yb290Ly5iY3MiCkJLX0hPTUU9Ii9kYXRhL2JjcyIKYmNzX3N5c2N0bD0iMSIKTUlSUk9SX0lQPSJudWxsIgpNSVJST1JfVVJMPSJodHRwczovL21pcnJvcnMudGVuY2VudC5jb20iCkJLUkVQT19VUkw9Im51bGwiCkRPQ0tFUl9MSUI9Ii9kYXRhL2Jjcy9saWIvZG9ja2VyIgpET0NLRVJfVkVSU0lPTj0iMTkuMDMuOSIKRE9DS0VSX0xJVkVfUkVTVE9SRT0iZmFsc2UiClJFUE9fTUlSUk9SUz0nWyJodHRwczovL21pcnJvci5jY3MudGVuY2VudHl1bi5jb20iXScKRE9DS0VSX0JSSURHRT0ibnVsbCIKQktfUFVCTElDX1JFUE89Imh1Yi5ia3RlbmNlbnQuY29tIgpCS19SRUxFQVNFX1JFUE89Imh1Yi5ia3RlbmNlbnQuY29tL2JsdWVraW5nIgpLVUJFTEVUX0xJQj0iL2RhdGEvYmNzL2xpYi9rdWJlbGV0IgpLOFNfVkVSPSIxLjIwLjExIgpLOFNfU1ZDX0NJRFI9IjEwLjk2LjAuMC8xMiIKSzhTX1BPRF9DSURSPSIxMC4yNDQuMC4wLzE2IgpLOFNfRVhUUkFfQVJHUz0iYWxsb3dlZC11bnNhZmUtc3lzY3RsczogbmV0LmlwdjQudGNwX3R3X3JldXNlIgpFVENEX0xJQj0iL2RhdGEvYmNzL2xpYi9ldGNkIgpCQ1NfSzhTX0NUUkxfSVA9IjE5Mi4xNjguNDYuMTI4Igo=

join_cmd_b64=a3ViZWFkbSBqb2luIGs4cy1hcGkuYmNzLmxvY2FsOjY0NDMgLS10b2tlbiA5dXgzYWkuZW00ZmlxMGV4cWh2N2l6YiAgICAgLS1kaXNjb3ZlcnktdG9rZW4tY2EtY2VydC1oYXNoIHNoYTI1Njo0MjIzNWUyMzFmYzk3YzJiNWNkYTNiOWUxYTE2OTcxYzYyYzkwOGFmOTdhZTExOWE3ZDNjNzdhZDhlNTdjMjk1IA==

set +a

curl -fsSL https://bkopen-1252002024.file.myqcloud.com/ce7/bcs.sh | bash -s -- install k8s-node

      1. 扩容Master节点管理(需从外网下载安装包,请确保网络通)
  1. 在master1节点执行下面命令,获得节点扩容命令:

curl -fsSL https://bkopen-1252002024.file.myqcloud.com/ce7/bcs.sh | bash -s -- -i k8sctrl

  1. 在每个master节点(master2和master3)上运行类似下面的命令(即上面第1步复制的命令):

set -a

cluster_env=T05fQ0xPVUQ9ImJhcmUtbWV0YWwiCkJDU19ESVI9Ii9yb290Ly5iY3MiCkJLX0hPTUU9Ii9kYXRhL2JjcyIKYmNzX3N5c2N0bD0iMSIKTUlSUk9SX0lQPSJudWxsIgpNSVJST1JfVVJMPSJodHRwczovL21pcnJvcnMudGVuY2VudC5jb20iCkJLUkVQT19VUkw9Im51bGwiCkRPQ0tFUl9MSUI9Ii9kYXRhL2Jjcy9saWIvZG9ja2VyIgpET0NLRVJfVkVSU0lPTj0iMTkuMDMuOSIKRE9DS0VSX0xJVkVfUkVTVE9SRT0iZmFsc2UiClJFUE9fTUlSUk9SUz0nWyJodHRwczovL21pcnJvci5jY3MudGVuY2VudHl1bi5jb20iXScKRE9DS0VSX0JSSURHRT0ibnVsbCIKQktfUFVCTElDX1JFUE89Imh1Yi5ia3RlbmNlbnQuY29tIgpCS19SRUxFQVNFX1JFUE89Imh1Yi5ia3RlbmNlbnQuY29tL2JsdWVraW5nIgpLVUJFTEVUX0xJQj0iL2RhdGEvYmNzL2xpYi9rdWJlbGV0IgpLOFNfVkVSPSIxLjIwLjExIgpLOFNfU1ZDX0NJRFI9IjEwLjk2LjAuMC8xMiIKSzhTX1BPRF9DSURSPSIxMC4yNDQuMC4wLzE2IgpLOFNfRVhUUkFfQVJHUz0iYWxsb3dlZC11bnNhZmUtc3lzY3RsczogbmV0LmlwdjQudGNwX3R3X3JldXNlIgpFVENEX0xJQj0iL2RhdGEvYmNzL2xpYi9ldGNkIgpCQ1NfSzhTX0NUUkxfSVA9IjE5Mi4xNjguNDYuMTI4Igo=

master_join_cmd_b64=a3ViZWFkbSBqb2luIGs4cy1hcGkuYmNzLmxvY2FsOjY0NDMgLS10b2tlbiB0dTNuMGsuMTRiZ3ppdm1sOHBxb3JoYiAgICAgLS1kaXNjb3ZlcnktdG9rZW4tY2EtY2VydC1oYXNoIHNoYTI1Njo0MjIzNWUyMzFmYzk3YzJiNWNkYTNiOWUxYTE2OTcxYzYyYzkwOGFmOTdhZTExOWE3ZDNjNzdhZDhlNTdjMjk1ICAtLWNvbnRyb2wtcGxhbmUgLS1jZXJ0aWZpY2F0ZS1rZXkgZDcyYzA2M2RlMGUyZDFlZjkxNzJiZWVlZTA5YjIxNzZjYTZlMDBhMWM4MTg5YTY0ZGFkNTJkNjRmNjkzZTZhYQ==

set +a

curl -fsSL https://bkopen-1252002024.file.myqcloud.com/ce7/bcs.sh | bash -s -- install k8s-control-plane

扩容成功如下图(扩容期间需要从外网下载安装包,请确保网络畅通):

      1. 将Node节点添加到Master节点管理
  1. 在master节点执行下面命令,获得节点扩容命令:

curl -fsSL https://bkopen-1252002024.file.myqcloud.com/ce7/bcs.sh | bash -s -- -i k8sctrl

  1. 在每个节点(Node1,Node2和Node3)上运行下面命令(即上面第1步复制的命令):

set -a

cluster_env=T05fQ0xPVUQ9ImJhcmUtbWV0YWwiCkJDU19ESVI9Ii9yb290Ly5iY3MiCkJLX0hPTUU9Ii9kYXRhL2JjcyIKYmNzX3N5c2N0bD0iMSIKTUlSUk9SX0lQPSJudWxsIgpNSVJST1JfVVJMPSJodHRwczovL21pcnJvcnMudGVuY2VudC5jb20iCkJLUkVQT19VUkw9Im51bGwiCkRPQ0tFUl9MSUI9Ii9kYXRhL2Jjcy9saWIvZG9ja2VyIgpET0NLRVJfVkVSU0lPTj0iMTkuMDMuOSIKRE9DS0VSX0xJVkVfUkVTVE9SRT0iZmFsc2UiClJFUE9fTUlSUk9SUz0nWyJodHRwczovL21pcnJvci5jY3MudGVuY2VudHl1bi5jb20iXScKRE9DS0VSX0JSSURHRT0ibnVsbCIKQktfUFVCTElDX1JFUE89Imh1Yi5ia3RlbmNlbnQuY29tIgpCS19SRUxFQVNFX1JFUE89Imh1Yi5ia3RlbmNlbnQuY29tL2JsdWVraW5nIgpLVUJFTEVUX0xJQj0iL2RhdGEvYmNzL2xpYi9rdWJlbGV0IgpLOFNfVkVSPSIxLjIwLjExIgpLOFNfU1ZDX0NJRFI9IjEwLjk2LjAuMC8xMiIKSzhTX1BPRF9DSURSPSIxMC4yNDQuMC4wLzE2IgpLOFNfRVhUUkFfQVJHUz0iYWxsb3dlZC11bnNhZmUtc3lzY3RsczogbmV0LmlwdjQudGNwX3R3X3JldXNlIgpFVENEX0xJQj0iL2RhdGEvYmNzL2xpYi9ldGNkIgpCQ1NfSzhTX0NUUkxfSVA9IjE5Mi4xNjguNDYuMTI4Igo=

join_cmd_b64=a3ViZWFkbSBqb2luIGs4cy1hcGkuYmNzLmxvY2FsOjY0NDMgLS10b2tlbiByd3Zobm4uYzd0c3UyejV4bWdkeHUyOSAgICAgLS1kaXNjb3ZlcnktdG9rZW4tY2EtY2VydC1oYXNoIHNoYTI1Njo0MjIzNWUyMzFmYzk3YzJiNWNkYTNiOWUxYTE2OTcxYzYyYzkwOGFmOTdhZTExOWE3ZDNjNzdhZDhlNTdjMjk1IA==

set +a

curl -fsSL https://bkopen-1252002024.file.myqcloud.com/ce7/bcs.sh | bash -s -- install k8s-node

安装成功如下:

  • 二、基础套餐部署
    1. 准备工作
      1. 创建中控机工作目录

【说明】中控机默认工作目录为 ~/bkhelmfile/blueking/,另有注明除外。

  1. 转到root用户home目录,执行如下命令:

cd ~

  1. 创建工作目录,执行如下命令:

mkdir -p bkhelmfile/blueking

  1. 跳转到默认工作目录,执行如下命令:

cd bkhelmfile/blueking

  1. 执行成功如下图:

   

      1. 中控机安装工具
  1. 在中控机执行如下命令,jq 用于在中控机解析服务端 API 返回的 json 数据:

yum install -y jq unzip uuid

  1. 命令执行成功如下图:

注:CentOS 7在epel源提供了jq-1.6。如果提示No package jq available,请先确保epel源可用。解决方法如下,安装EPEL完成后再重新执行上面命令:

【下载并安装EPEL(https://blog.csdn.net/shashayangzhou/article/details/52974196)】

[root@localhost ~]# wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

[root@localhost ~]# rpm -ivh epel-release-latest-7.noarch.rpm

[root@localhost ~]# yum repolist      ##检查是否已添加至源列表

      1. 在中控机配置 ssh 免密登录

【说明】在后续部署过程中,部分命令会从中控机上调用ssh在k8s node上执行远程命令,所以需提前配置免密登录。

  1. 在中控机执行如下命令:

k8s_nodes_ips=$(kubectl get nodes -o jsonpath='{$.items[*].status.addresses[?(@.type=="InternalIP")].address}')

test -f /root/.ssh/id_rsa || ssh-keygen -N '' -t rsa -f /root/.ssh/id_rsa  # 如果不存在rsa key则创建一个。

# 开始给发现的ip添加ssh key,期间需要您输入各节点的密码。

for ip in $k8s_nodes_ips; do

  ssh-copy-id "$ip" || { echo "failed on $ip."; break; }  # 如果执行失败,则退出

done

  1. 执行成功如下图:

常见报错:Host key verification failed,且开头提示REMOTE HOST IDENTIFICATION HAS CHANGED: 检查目的主机是否重装过。如果确认没连错机器,可以参考提示(如Offending 类型 key in /root/.ssh/known_hosts:行号)删除known_hosts文件里的对应行。

      1. 下载所需的资源文件

【说明】目前容器化的软件包数量较多且变动频繁,请通过下面下载脚本下载。

  1. 跳转到默认工作目录,执行如下命令:

cd ~/bkhelmfile/blueking

  1. 下载蓝鲸基础套餐 helmfile 及公共证书,执行如下命令:

curl -sSf https://bkopen-1252002024.file.myqcloud.com/ce7/7.0-stable/bkdl-7.0-stable.sh | bash -s -- -ur latest base cert

  1. 下载成功如下图:

注:网络策略要求:

中控机(部署前文件下载,以及部署开始时下载 charts):

需要能访问蓝鲸静态文件分发站点:https://bkopen-1252002024.file.myqcloud.com。

需要能访问蓝鲸 Helm repo:https://hub.bktencent.com/。

k8s node(部署期间需要联网下载容器镜像):

需要能访问 Docker Hub: https://docker.io 等。

需要能访问蓝鲸 Docker registry: https://hub.bktencent.com/。

    1. 部署基础套餐后台
      1. 一键部署基础套餐后台

【说明】下文中会使用 “一键脚本” 来称呼 setup_bkce7.sh,本次用到的参数如下:

-i base:指定要安装的模块。关键词 base 表示基础套餐的后台部分。

--domain BK_DOMAIN:指定蓝鲸的基础域名(下文也会使用 BK_DOMAIN 这个变量名指代)。

【提示】当你的内网存在蓝鲸 V6 或更早版本的环境时,请勿复用基础域名。以免 Cookie 冲突,导致频繁提示登录,甚至循环提示登录。

示例:当 V6 环境使用了 bktencent.com 时,其访问地址为 paas.bktencent.com。V7环境不能使用bkce7.bktencent.com、bktencent.com或者 xx.bkce7.bktencent.com 作为基础域名。

  1. 假设您用于部署蓝鲸的域名为bkce7.bktencent.com,使用如下的命令开始部署:

BK_DOMAIN=bkce7.bktencent.com  # 请修改为您分配给蓝鲸平台的主域名

cd ~/bkhelmfile/blueking/  # 进入工作目录

# 检查域名是否符合k8s域名规范,要全部内容匹配才执行脚本,否则提示域名不符合。

patt_domain='[a-z0-9]([-a-z0-9]*[a-z0-9])(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*'

if grep -P "$patt_domain" <<< "$BK_DOMAIN"; then

  scripts/setup_bkce7.sh -i base --domain "$BK_DOMAIN"

else

  echo "BK_DOMAIN($BK_DOMAIN) does not match pattern($patt_domain)."

fi

脚本耗时8 ~ 16分钟,请耐心等待。部署成功会高亮提示 install finished,clean pods in completed status。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值