1. 程式人生 > 實用技巧 >藍鯨6.0.1部署

藍鯨6.0.1部署

實驗環境

系統版本 配置 主機名
CentOS Linux release 7.4.1708 4核4g40G磁碟 node1
CentOS Linux release 7.4.1708 4核4g40G磁碟 node2
CentOS Linux release 7.4.1708 4核4g40G磁碟 node3

軟體包

#下載證書[三臺伺服器mac]
1. 伺服器 cat /sys/class/net/eth0/address 獲取mac地址
2. https://bk.tencent.com/download_ssl/ 貼上mac地址多個mac用;隔開 下載證書

[node1]上傳目錄: /data
mkdir /data

#上傳完畢建議快照,避免下次實驗重新上傳浪費時間

環境準備

# 1. 騰訊雲yum源
    #rm -f /etc/yum.repos.d/*
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo
    wget -O /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo
    
# 2.selinux關閉
sed -i 's/enforcing/disabled/' /etc/selinux/config
chattr -i /etc/resolv.conf
setenforce 0

# 檢查 SELinux 的狀態,如果它已經禁用,可以跳過後面的命令
sestatus


# 修改配置檔案
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

#關閉預設防火牆(firewalld)
systemctl stop firewalld    # 停止 firewalld
systemctl disable firewalld # 禁用 firewall 開機啟動

#安裝 rsync 命令
yum -y install rsync


#停止並禁用 NetWorkManager
systemctl stop NetworkManager
systemctl disable NetworkManager

# 調整最大檔案開啟數
cat << EOF >> /etc/security/limits.conf
root soft nofile 102400
root hard nofile 102400
EOF
source /etc/profile

## 檢查每臺機器當前時間和時區是否一致,若相互之間差別大於3s(考慮批量執行時的時差),建議校時。
date -R

# 檢視和ntp server的時間差異(需要外網訪問,如果內網有ntpd伺服器,自行替換域名為該服務的地址)
ntpdate -d cn.pool.ntp.org

# 同步時間
ntpdate cn.pool.ntp.org


## 檢查 http_proxy https_proxy 變數是否設定,若為空可以跳過後面的操作。
echo "$http_proxy" "$https_proxy"
#請依次查詢檔案 /etc/profile、/etc/bashrc、$HOME/.bashrc 等是否有設定


# 開啟swap(實驗環境記憶體不足可以開啟,企業就不要開了 影響速度)
#關閉swap
swapoff -a
echo "swapoff -a" >>/etc/profile
sed -ri 's/.*swap.*/#&/' /etc/fstab
source /etc/profile

#啟動10G的swap:
dd if=/dev/zero of=/swapfile bs=1M count=10240
mkswap /swapfile
swapon /swapfile
echo 80 > /proc/sys/vm/swappiness
free -m

部署

#解壓安裝檔案:
cd /data/src/; for f in *gz;do tar xf $f; done

#配置模組安裝:
cat << EOF >/data/install/install.config
192.168.1.69 iam,ssm,usermgr,gse,license,redis,consul,es7,monitorv3(influxdb-proxy),monitorv3(monitor),monitorv3(grafana)
192.168.1.70 nginx,consul,mongodb,rabbitmq,appo,influxdb(bkmonitorv3),monitorv3(transfer),fta,beanstalk
192.168.1.71 paas,cmdb,job,mysql,zk(config),kafka(config),appt,consul,log(api),nodeman(nodeman)
EOF

#nginx用於訪問paas使用,所以域名需要繫結在192.168.1.70主機上進行訪問跳轉,也可以把nginx放在pass同一個伺服器上
[root@node2 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.69 wh02.com paas.wh02.com job.wh02.com jobapi.wh02.com nodeman.wh02.com


#免密:
bash /data/install/configure_ssh_without_pass


#解壓證書
install -d -m 755 /data/src/cert
tar xf /data/ssl_certificates.tar.gz -C /data/src/cert/
chmod 644 /data/src/cert/*


#自定義域名以及登陸密碼(假設域名為 wh02.com )
cat > /data/install/bin/03-userdef/global.env << EOF
BK_DOMAIN="wh02.com"

# 訪問PaaS平臺的域名
BK_PAAS_PUBLIC_URL="http://paas.wh02.com:80"
BK_PAAS_PUBLIC_ADDR="paas.wh02.com:80"

# 訪問CMDB的域名
BK_CMDB_PUBLIC_ADDR="cmdb.wh02.com:80"
BK_CMDB_PUBLIC_URL="http://cmdb.wh02.com:80"

# 訪問Job平臺的域名
BK_JOB_PUBLIC_ADDR="job.wh02.com:80"
BK_JOB_PUBLIC_URL="http://job.wh02.com:80"
BK_JOB_API_PUBLIC_ADDR="jobapi.wh02.com:80"
BK_JOB_API_PUBLIC_URL="http://jobapi.wh02.com:80"
BK_NODEMAN_PUBLIC_DOWNLOAD_URL="http://nodeman.wh02.com:80"
EOF

#設定密碼
cat > /data/install/bin/03-userdef/usermgr.env << EOF
BK_PAAS_ADMIN_PASSWORD=123456
EOF


#yum配置:
/opt/yum
cp -a /data/src/yum /opt


#安裝:
# 快速部署暫不支援自定義安裝目錄
cd /data/install/
./bk_install common


#檢查配置:
[root@node1 install]# ./health_check/check_bk_controller.sh
start <<check_ssh_nopass>> ... [OK]
start <<check_hostname_uniq>> ... [OK]
start <<check_cert_mac>> ... [OK]
start <<check_install_config>> ... [OK]
start <<check_domain>> ... [OK]
start <<check_src_dir>> ... [OK]
start <<check_python_version>> ... [OK]


#部署 PaaS
./bk_install paas

#部署 app_mgr(SaaS 執行環境)
./bk_install app_mgr

#部署 CMDB(配置平臺)
./bk_install cmdb

# 部署 JOB(作業平臺)
./bk_install job

# 部署 bknodeman(節點管理)
./bk_install bknodeman

#部署 bkmonitorv3 (監控平臺)
./bk_install bkmonitorv3

#部署 bklog(日誌平臺)
pip config set global.index-url https://mirrors.163.com/pypi/simple/
./bk_install bklog

#部署 fta(故障自愈後臺)
./bk_install fta

#部署 SaaS
# 許可權中心
./bk_install saas-o bk_iam
# 使用者管理
./bk_install saas-o bk_user_manage
# 標準運維
./bk_install saas-o bk_sops
# 服務流程管理
./bk_install saas-o bk_itsm
# 故障自愈SaaS
./bk_install saas-o bk_fta_solutions


#初始化藍鯨業務拓撲
./bkcli initdata topo

# 載入藍鯨相關維護命令
source ~/.bashrc

#檢測相關服務狀態
cd /data/install/
echo bkssm bkiam usermgr paas cmdb gse job consul bklog | xargs -n 1 ./bkcli check

訪問配置

#訪問藍鯨:
#Windows 配置 用文字編輯器(如Notepad++)開啟檔案: C:\Windows\System32\drivers\etc\hosts 將以下內容複製到上述檔案內,並將以下 IP 需更換為本機瀏覽器可以訪問的 IP,然後儲存。
#配置本地 hosts
192.168.1.70 paas.wh02.com cmdb.wh02.com job.wh02.com jobapi.wh02.com
192.168.1.71 nodeman.wh02.com


# 192.168.1.70 為 nginx 模組所在的機器,192.168.1.71 為 nodeman 模組所在的機器。IP 需更換為本機瀏覽器可以訪問的 IP。查詢模組所分佈在機器的方式:
grep -E "nginx|nodeman" /data/install/install.config

郵件配置

郵件傳送是依賴於公網
進入:http://paas.wh02.com/esb/manager/channel/list/
開發者中心 --> API閘道器  --> 通道管理 --> 下來選單選擇  '[CMSI] 傳送郵件' 功能

smtp_host:  smtp.qq.com
smtp_port:   465
smtp_user:   [email protected]
smtp_pwd :  [你的郵箱授權碼]
smtp_usessl: True
smtp_usetls: False
mail_sender: [email protected]