1.概述

1.1.相关网站:

# 蓝鲸软件包下载:
https://bk.tencent.com/download/ # 蓝鲸社区版软件包下载
https://bk.tencent.com/download_ssl/ # 蓝鲸社区版证书包下载

# yum源
https://mirrors.cloud.tencent.com/help/epel.html # 腾讯云epel源配置文档
wget -O /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo

# 部署相关文档
https://bk.tencent.com/docs/document/6.0/127/7543 # 环境准备文档
https://bk.tencent.com/docs/document/6.0/127/7549 # 蓝鲸社区基础版安装
https://bk.tencent.com/docs/document/6.0/127/7551 # 蓝鲸社区版单机部署

# 资料网站
https://km.canway.net/home # 公司知识库,善用全文检索
https://www.baidu.com/ # 百度,善用百度

1.2.物料表

文件名 MD5值 用途
bkce_basic_suite-6.0.4.tgz 455ad99e370edb58ebb9ae91bd29fffc 蓝鲸软件包
ssl_certificates.tar.gz 视环境变动 蓝鲸证书包

1.3.部署思路

我们基础的部署思路其实很简单:

物料准备---> 虚拟机环境准备--->自定义配置修改---->运行安装脚本--->调试验证

2.环境准备

环境准备参考文档:https://bk.tencent.com/docs/document/6.0/127/7543

2.1.软件获取

# 蓝鲸软件包下载:
https://bk.tencent.com/download/ # 蓝鲸社区版软件包下载,本次课程软件包已经下载好放在/data/pkgs/目录
# 验证软件包MD5值
cd /data/pkgs && md5sum bkce_basic_suite-6.0.4.tgz

# 蓝鲸证书获取
https://bk.tencent.com/download_ssl/ # 蓝鲸社区版证书包下载
# 获取mac地址
[root@localhost pkgs]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
  link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
  inet 127.0.0.1/8 scope host lo
      valid_lft forever preferred_lft forever
  inet6 ::1/128 scope host
      valid_lft forever preferred_lft forever
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
  link/ether 00:0c:29:8d:c0:85 brd ff:ff:ff:ff:ff:ff
  inet 10.10.24.38/24 brd 10.10.24.255 scope global noprefixroute ens192
      valid_lft forever preferred_lft forever
  inet6 fe80::575d:1819:bc01:fe23/64 scope link noprefixroute
      valid_lft forever preferred_lft forever
# 将mac地址00:0c:29:8d:c0:85复制到表单中点击"点击下载"

2.2.软件包解压

# 将bkce_basic_suite-6.0.4.tgz解压至/data目录
tar -xf bkce_basic_suite-6.0.4.tgz -C /data

# 将/data/src下的压缩包解压
cd /data/src/; for f in *gz;do tar xf $f; done

# 拷贝蓝鲸自带yum到/opt目录
cp -a /data/src/yum /opt

# 将证书文件解压至/data/src/cert目录
mkdir -p /data/src/cert/
tar xf ssl_certificates.tar.gz -C /data/src/cert

2.3.角色配置并配置免密登录

# 在/data/install目录下,已经存在一个install.config.3ip.sample模板文件
# 该文件包含蓝鲸基础套餐及监控套餐,我们可以将其合并后删除掉监控套餐角色
10.0.0.1 iam,ssm,usermgr,gse,license,redis,consul,es7,monitorv3(influxdb-proxy),monitorv3(monitor),monitorv3(grafana)
10.0.0.2 nginx,consul,mongodb,rabbitmq,appo,influxdb(bkmonitorv3),monitorv3(transfer),fta,beanstalk
10.0.0.3 paas,cmdb,job,mysql,zk(config),kafka(config),appt,consul,log(api),nodeman(nodeman),log(grafana)
# 其中es7,monitorv3(influxdb-proxy),monitorv3(monitor),monitorv3(grafana),influxdb,(bkmonitorv3), monitorv3(transfer),fta,beanstalk,log(grafana).log(api),kafka(config)为监控套餐角色
# es7为devops软件依赖,故上述角色除es7全部删除
# 整合后模板为:
10.0.0.1 iam,ssm,usermgr,gse,license,redis,consul,nginx,mongodb,rabbitmq,appo,paas,cmdb,job,mysql,zk(config),nodeman(nodeman)

# 修改完成install.config后,配置免密
# 先安装rsync
for i in `awk '{print $1}' /data/install/install.config`; do echo $i; ssh $i 'yum -y install rsync'; done
bash /data/install/configure_ssh_without_pass

2.4.虚拟机环境配置

参考官方文档:https://bk.tencent.com/docs/document/6.0/127/7543

2.4.1.修改主机名

# 蓝鲸社区版6.0(企业版3.0)要求所有角色的主机名不重复
hostname
hostnamectl set-hostname xxxxxxx

2.4.2.关闭SELinux

for i in `awk '{print $1}' /data/install/install.config`; do echo $i; ssh $i 'getenforce'; done
for i in `awk '{print $1}' /data/install/install.config`; do echo $i; ssh $i 'setenforce 0'; done
for i in `awk '{print $1}' /data/install/install.config`; do echo $i; ssh $i 'sed -i 's/^SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config'; done

2.4.3.关闭防火墙

for i in `awk '{print $1}' /data/install/install.config`; do echo $i; ssh $i 'systemctl stop firewalld'; done
for i in `awk '{print $1}' /data/install/install.config`; do echo $i; ssh $i 'systemctl disable firewalld'; done
for i in `awk '{print $1}' /data/install/install.config`; do echo $i; ssh $i 'systemctl stop iptables'; done
for i in `awk '{print $1}' /data/install/install.config`; do echo $i; ssh $i 'systemctl disable iptables'; done

2.4.4.关闭NetworkManager

for i in `awk '{print $1}' /data/install/install.config`; do echo $i; ssh $i 'systemctl stop NetworkManager'; done
for i in `awk '{print $1}' /data/install/install.config`; do echo $i; ssh $i 'systemctl disable NetworkManager'; done

2.4.5.查看、同步系统时间

for i in `awk '{print $1}' /data/install/install.config`; do echo $i; ssh $i 'date'; done
for i in `awk '{print $1}' /data/install/install.config`; do echo $i; ssh $i 'ntpdate NTP服务器IP或域名'; done

2.4.6.查看、修改最大文件打开数

for i in `awk '{print $1}' /data/install/install.config`; do echo $i; ssh $i 'ulimit -n'; done
for i in `awk '{print $1}' /data/install/install.config`; do echo $i; ssh $i 'echo "root soft nofile 102400" >> /etc/security/limits.conf'; done
for i in `awk '{print $1}' /data/install/install.config`; do echo $i; ssh $i 'echo "root hard nofile 102400" >> /etc/security/limits.conf'; done

注:如果上述方法无法修改生效,可尝试修改配置文件/etc/systemd/system.conf

DefaultLimitNOFILE=102400
DefaultLimitNOPROC=102400

重新加载systemd自身配置,使之生效

systemctl daemon-reexec

2.4.7.查看umask

for i in `awk '{print $1}' /data/install/install.config`; do echo $i; ssh $i 'umask'; done

2.4.8.配置yum源

wget -O /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo
# 更新yum缓存
yum clean all
yum makecache

2.4.9.系统组件、开发者工具包安装

for i in `awk '{print $1}' /data/install/install.config`; do echo $i; ssh $i 'yum -y install pidof pkill rsync gawk curl lsof tar sed iproute uuid psmisc wget bind-utils mysql-devel MySQL-python'; done
for i in `awk '{print $1}' /data/install/install.config`; do echo $i; ssh $i 'yum -y groupinstall "Development Tools"'; done

注:如果无法yum -y groupinstall "Development Tools",可以执行以下命令

for i in `awk '{print $1}' /data/install/install.config`; do echo $i; ssh $i 'yum -y install autoconf byacc diffstat flex gcc-gfortran intltool patchutils rpm-build swig automake cscope doxygen gcc git libtool rcs rpm-sign systemtap bison ctags elfutils gcc-c++ indent patch redhat-rpm-config subversion'; done

2.4.10.检查是否存在http代理

for i in `awk '{print $1}' /data/install/install.config`; do echo $i; ssh $i 'echo "$http_proxy" "$https_proxy"'; done

2.5.自定义配置

# 创建自定义配置文件并修改
touch /data/install/bin/03-userdef/global.env
vim /data/install/bin/03-userdef/global.env
BK_DOMAIN=optest.com
BK_PAAS_PUBLIC_ADDR=paas.optest.com:80
BK_PAAS_PUBLIC_URL=http://paas.optest.com:80
BK_CMDB_PUBLIC_ADDR=cmdb.optest.com:80
BK_CMDB_PUBLIC_URL=http://cmdb.optest.com:80
BK_JOB_PUBLIC_ADDR=job.optest.com:80
BK_JOB_PUBLIC_URL=http://job.optest.com:80
BK_JOB_API_PUBLIC_URL=http://jobapi.optest.com:80
BK_JOB_API_PUBLIC_ADDR=jobapi.optest.com:80
BK_NODEMAN_PUBLIC_DOWNLOAD_URL=http://nodeman.optest.com:80

# 配置admin初始密码
touch /data/install/bin/03-userdef/usermgr.env
vim /data/install/bin/03-userdef/usermgr.env
BK_PAAS_ADMIN_PASSWORD=1qaz@WSX

3.部署

部署文档:https://bk.tencent.com/docs/document/6.0/127/7549

4.新增机器并部署角色(以APPT为例,与扩容有区别)

4.1.install.config中添加新角色

# 在/data/install/install.config中添加新角色
10.10.10.3 appt

4.2.为中控机配置新机器免密

bash /data/install/configure_ssh_without_pass

4.3.新机器环境初始化

重复执行2.4中所有步骤

4.4.重新安装蓝鲸环境

./bkcli install bkenv

4.5.同步必要文件并初始化新机器环境

./bkcli sync common
rsync -av /etc/yum.repos.d/Blueking.repo root@10.0.0.4:/etc/yum.repos.d/
pcmd -H 10.0.0.4 /data/install/bin/init_new_node.sh
sleep 10
consul members | grep 10.0.0.4 # 确认新机器加入了consul集群

4.6.为新机器安装证书

./bkcli sync cert
./bkcli install cert

4.7.安装新的APPT机器

./bkcli sync appt
./bkcli install appt
./bkcli start appt

bkce-6.0.4基础环境部署简述的更多相关文章

  1. OpenStack实践系列①openstack简介及基础环境部署

    OpenStack实践系列①openstack简介及基础环境部署 一.OpenStack初探1.1 OpenStack简介 OpenStack是一整套开源软件项目的综合,它允许企业或服务提供者建立.运 ...

  2. openstack(pike 版)集群部署(一)----基础环境部署

    一.环境 1.系统: a.CentOS Linux release 7.4.1708 (Core) b.更新yum源和安装常用软件 #  yum -y install  epel-release ba ...

  3. mongodb基础环境部署(windows系统下)

    Normal 0 false 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNorma ...

  4. 【J2EE】struts-2.3.16.3+apache-tomcat-8.0.9开发环境部署,“Hello World”的实现。

    1.在官网下载Struts2的开发包 下载链接如下: http://120.203.229.30/5ff/2bc79/5ff16ae8698e1c321758a8f03a1bc0939892bc79/ ...

  5. Jenkins+maven+gitlab自动化部署之基础环境部署(一)

    从一个二线城市,来到上海,刚入职,老大就给任务,为了减少开发打包部署时间,需要搭建一套自动化部署环境.接到任务后,赶紧上网查找资料,以及了解jenkins作用等等,用了一周时间,了解了个大概,由于都是 ...

  6. 虚拟机console基础环境部署——工作目录准备

    1. 概述2. 相关约定2.1 删除旧文件2.2 创建全局共享文件目录2.3 创建全局软件安装目录2.4 创建数据放置目录3. 总结 1. 概述 上述博客中,已经为console最小化安装了操作系统. ...

  7. InfluxDB+Grafana大数据监控系列之基础环境部署(一)

    一.单节点环境部署 机器节点信息及 InfluxDB.Grafana 版本选择: 节点 Linux版本 部署服务 10.223.1.198 Centos 6.8 InfluxDB 1.7.7 10.2 ...

  8. Linux下部署docker记录(0)-基础环境安装

    以下是centos系统安装docker的操作记录 1)第一种方法:采用系统自带的docker安装,但是这一般都不是最新版的docker安装epel源[root@docker-server ~]# wg ...

  9. spring boot2.0(一 ) 基础环境搭建

    1.基础配置 开发环境:window jdk版本:1.8(spring boot2.0最低要求1.8) 开发工具:eclipse 构建方式:maven3 2.POM配置文件 <project x ...

  10. 虚拟机console基础环境部署——系统基础环境

    1. 概述2. 工具类安装2.1 安装vim2.2 安装tree2.3 安装expect2.4 安装lsof3. 编译环境类安装 1. 概述 本系列博客是在最小化安装CentOS6.5的基础上,通过配 ...

随机推荐

  1. 腾讯AICR : 智能化代码评审技术探索与应用实践(下)

  2. Python 潮流周刊#78:async/await 是糟糕的设计(摘要)

    本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章.教程.开源项目.软件工具.播客和视频.热门话题等内容.愿景:帮助所有读者精进 Python 技术,并增长职 ...

  3. API接口之设计篇

    在实际工作中,我们需要经常跟第三方平台打交道,可能会对接第三方平台API接口,或者提供API接口给第三方平台调用. 那么问题来了,如果设计一个优雅的API接口,能够满足:安全性.可重复调用.稳定性.好 ...

  4. Electron(2) - 下载与解压缩

    1.下载文件 主线程中调用下载 win.webContents.downloadURL(url) 监听下载事件 //监听下载动作 win.webContents.session.on('will-do ...

  5. GZY.EFCore.BulkExtensions 支持达梦数据库的EF Core批量操作库详解

    前言 EFCore.BulkExtensions是一个常用的EF core 批量处理数据的库. 但是支持的数据库相对较少.特别是.NET5.0版本 连MySQL都无法支持 这个库就是改造的最新EFCo ...

  6. 远程连接利器:玩转MobaXterm

    今天这篇文章轻松不烧脑,主要是想和大家分享一下我在工作中常用的远程管理工具--MobaXterm.这款工具不仅功能强大,而且在日常的远程操作中极为高效,特别适合用来管理远程服务器.MobaXterm结 ...

  7. Vue-Router 面试题 (2023-09-13更新)

    路由导航守卫 和 Vue 实例生成周期钩子函数的执行顺序? 路由导航守卫 都是在 Vue 实例生命周期钩子函数 之前执行的 Vue-Router 有哪几种导航钩子? 1. 全局守卫 全局前置守卫:be ...

  8. jenkins异常 -- active (exited),无法启动

    一.问题描述 1.无法启动 systemctl start jenkins 没有反应,没有输出报错 2.查询状态 systemctl status jenkins 3.jenkins拒绝访问 二.解决 ...

  9. 【FAQ】HarmonyOS SDK 闭源开放能力 — IAP Kit(4)

    1.问题描述: 发布了一个订阅,看日志显示订阅发布成功了,但是在消费的时候没有值,这个是什么原因?人脸活体检测返回上一页 App 由沉浸式变为非沉浸式多了上下安全区域. 解决方案: 对于公共事件来说就 ...

  10. Qt/C++地图高级绘图/指定唯一标识添加删除修改/动态显示和隐藏/支持天地图高德地图百度地图

    一.前言说明 已经有了最基础的接口用来添加覆盖物,而且还有通过进入覆盖物模式动态添加覆盖物的功能,为什么还要来个高级绘图?因为又有新的需求,给钱就搞,一点底线都没有.无论哪个地图厂家,提供的接口都是没 ...