1.2 藍鯨智雲部署


藍鯨智雲搭建(自動化運維平台)

藍鯨智雲簡介:

騰訊藍鯨智雲,簡稱藍鯨,是騰訊互動娛樂事業群(Interactive Entertainment Group,簡稱 IEG)自研自用的一套用於構建企業研發運營一體化體系的 PaaS 開發框架,提供了 aPaaSDevOps 流水線、運行環境托管、前后台框架)和 iPaaS(持續集成、CMDB、作業平台、容器管理、數據平台、AI 等原子平台)等模塊,幫助企業技術人員快速構建基礎運營 PaaS

1>硬件要求:

Centos7.xx以上

Cpu核數:6

內存空間:16G

硬盤空間:50G

2>藍鯨智雲版本:

官網地址:https://bk.tencent.com

下載地址:https://bk.tencent.com/download/

官網文檔地址:https://bk.tencent.com/docs/document/5.1/20/613

此次安裝版本:bkce_src-5.1.27.tar

3>環境准備:

1.配置Yum源:

將之前的yum源備份:

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

 

     配置centos7騰訊yum源:

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo                           

2.配置騰訊epel源:

wget -O /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo

 

3.清理緩存及建立元數據:

      yum clean all && yum makecache

4>關閉SELINUX

[root@rbtnode1 ~]#sestatus  #查看selinux狀態,如果已關閉,可以跳過后面的命令

[root@rbtnode1 ~]# setenforce 0  #臨時關閉selinux

[root@rbtnode1~]# sed -i 's/^SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config #修改配置文件可以永久關閉

5>關閉防火牆:安裝和運行藍鯨時,模塊之間互相訪問的端口策略較多,建議對藍鯨后台服務器之間關閉防火牆。

[root@rbtnode1 ~]# firewall-cmd --state # 檢查默認防火牆狀態,如果返回 not running,可以跳過后面的命令

 

not running

如若未關閉則執行:

 

[root@rbtnode1 ~]# systemctl stop firewalld

[root@rbtnode1 ~]# systemctl disable firewalld

6>安裝rsync命令

[root@rbtnode1 ~]# yum -y install rsync

7>停止並禁用NetWorkManager

[root@rbtnode1 ~]# systemctl stop NetworkManager

[root@rbtnode1 ~]# systemctl disable NetworkManager

備注說明:該操作前提需確保主機為靜態 IP,若為 DHCP 獲取的 IP,則無法直接 disable NetworkManager,否則會出現主機重啟后,或者主機運行一段時間 IP 租約地址到期后,網卡無法從網絡重新正常獲取 IP 地址的情況

8>調整最大文件打開數:

 [root@rbtnode1 ~]# cat << EOF >> /etc/security/limits.conf

> root soft nofile 102400

> root hard nofile 102400

> EOF

重啟生效:

[root@rbtnode1 ~]# reboot

 

9>.確認服務器時間同步:服務器后台時間不同步會對時間敏感的服務帶來不可預見的后果。務必在安裝和使用藍鯨時保證時間同步。

[root@rbtnode1 ~]# yum -y install ntp

[root@rbtnode1 ~]# ntpdate cn.pool.ntp.org

10>10>檢查是否存在全局 HTTP 代理:藍鯨服務器之間會有的 HTTP 請求,如果存在 HTTP 代理,且未能正確代理這些請求,會發生不可預見的錯誤。

# 檢查 http_proxy https_proxy 變量是否設置,若為空可以跳過后面的操作。

echo "$http_proxy" "$https_proxy"

 

於本機配置 http_proxy 變量的方式,請依次查找文件 /etc/profile/etc/bashrc$HOME/.bashrc 等是否有設置。 或者咨詢網絡管理員/IT 部門協助處理。

在這些主機中,選擇任意一台機器作為藍鯨的運維中控機。之后的安裝命令執行,如果沒有特別說明,均在這台中控機上執行

11>  解壓安裝包:

mkdir /data

tar xf bkce_src-5.1.26.tar.gz  -C /data

解壓之后,得到兩個目錄:srcinstall

src:存放藍鯨產品軟件,以及依賴的開源組件

install:存放安裝部署腳本、安裝時的參數配置、日常運維腳本等

12> 檢查resolv.conf是否有修改權限:檢查 /etc/resolv.conf 是否被加密無法修改(即便是root),執行如下命令,檢查是否有i”加密字樣

roolsattr /etc/resolv.conf

----i--------e-- /etc/resolv.conf

如果有則執行命令,臨時解密處理,執行如下命令:

chattr -i /etc/resolv.conf

需要注意,在 resolv.conf 配置文件的首行,即第一個DNS地址需為 127.0.0.1,如下所示:

nameserver 127.0.0.1

備注說明:resolv 配置文件無需人工修改內容,后續安裝腳本會自動為主機進行配置 127.0.0.1,因此只需檢查是否允許修改即可。關於首行需要 127.0.0.1,這是由於后面藍鯨內部組件的調用所需,域名通過 consul 解析,會探測服務運行狀態,然后返回IP地址, 例如訪問 es,那么內部需要解析 es.service.consul 等,若首行不是 127.0.0.1,否則這些域名就通過外網去解析,無法返回正確的響應,導致服務運行異常,或者 SaaS 無法正常打開等情況。

13>配置ssh免密登錄:

cd /data/install

bash configure_ssh_without_pass  # 根據提示輸入各主機的 root 密碼完成免密登陸配置

修改配置文件:

install.config

install.config 是模塊和服務器對應關系的配置文件,描述在哪些機器上安裝哪些模塊。

每行兩列,第一列是 IP 地址;第二列是以英文逗號分隔的模塊名稱。

[root@rbtnode1 ~]# cp install.config.3ip.sample install.config

[root@rbtnode1 install]# cat install.config

  • 172.24.120.157nginx,rabbitmq,mongodb,cmdb,redis,gse,appo,appt,zk,mysql,paas,job,license,consul,kafka該配置文件,ip 后面使用空格與服務名稱隔開,含有多個內網 ip 的機器,默認使用 /sbin/ifconfig 輸出中的第一個內網 ip,在 ip 后面寫上該機器要安裝的服務列表即可,部署過程中默認使用標准私有地址,若企業環境使用非標准私有地址,請參考 本章后續內容-非標准私有地址處理方法 的處理方法。
  • zk 表示 ZooKeeperes 表示 ElasticSearch
  • gse redis 需要部署在同一台機器上。
  • 增加機器數量時,可以將以上配置中的服務挪到新的機器上,分擔負載。要保證:kafkaeszk 的每個組件的總數量為 3

,es,bkdata(databus),bkdata(monitor),bkdata(dataapi),fta,beanstalk,influxdb

14>.envglobals

該文件定義了各類組件的賬號密碼信息。 功能開關控制選項等。可根據實際情況進行修改。 配置項含義,請查看文件中的注釋。

  • 該文件含密碼信息,請保證除了 root 用戶外,其他用戶不可讀。
  • 各類賬號密碼建議修改,注意設置的各類密碼不能有 / $ ` < > & 等特殊字符。
  • 配置 HTTP 代理:若公司不能訪問外網,但有自己的 proxy,在該配置文件的 BK_PROXY 選項中指定代理地址。
  • 若需要跨雲管理功能(服務器在不同的 IDC,內網不互通的情況):
  • 需要將 gse 所在機器的外網 IP 填到該文件中 GSE_WAN_IP 配置項中的括號里 如:export GSE_WAN_IP=(1.2.3.4),若沒有外網 IP 則留空。
  • HAS_DNS_SERVER 配置默認為 0,表示配置的藍鯨域名需要通過 /etc/hosts 來解析,此時部署腳本會自動修改每台機器的 /etc/hosts 添加相關域名。如果想走自己的 dns 配置,改為非 0 即可。
  • HTTP_SCHEMA=http 默 認 HTTP_SCHEMA 設置為 HTTP 即藍鯨軟件全站為 HTTP,若設置為 HTTPS 則藍鯨軟件全站為 HTTPS,可支持 HTTP HTTPS 的切換。
  • 該配置文件中提供了訪問藍鯨三大平台的域名配置,需要提前准備好。

[root@rbtnode1 install]# cat globals.env   #紅色的字體表示修改,其他不做更改

# vim:ft=sh

 

shopt -s nullglob

if [ -d $CTRL_DIR/third ]; then

    for f in $CTRL_DIR/third/globals_*.env; do

        source $f

    done

fi

 

if [ -d $CTRL_DIR/extra ]; then

    for f in $CTRL_DIR/extra/globals_*.env $CTRL_DIR/*/globals.env; do

        source $f

    done

fi

shopt -u nullglob

 

# 產品信息含義

#   PAAS    集成平台

#   CMDB    配置平台

#   JOB     作業平台

#   GSE     管控平台

#   BKDATA  數據平台

 

## environment variables

 

# 域名信息

export BK_DOMAIN="hy960.top"            # 藍鯨根域名(不含主機名)

export PAAS_FQDN="paas.$BK_DOMAIN"       # PAAS 完整域名

export CMDB_FQDN="cmdb.$BK_DOMAIN"       # CMDB 完整域名

export JOB_FQDN="job.$BK_DOMAIN"         # JOB 完整域名

export DOCS_FQDN="docs.$BK_DOMAIN"       # 私有文檔准備

export APPO_FQDN="o.$BK_DOMAIN"          # 正式環境完整域名

export APPT_FQDN="t.$BK_DOMAIN"          # 測試環境完整域名

 

# 設置HTTP/HTTPS模式

export HTTP_SCHEMA='http'

 

# HAS_DNS_SERVER 選項, 域名解析通過 DNS server 還是通過配置 hosts

# 通過 hosts 配置映射關系時, 一下默認為0, 表示沒有自己的 DNS server

#  此時, 會在所有機器上的 /etc/hosts 文件中添加 paas,cmdb,job 等平台的映射關系

export HAS_DNS_SERVER=1

 

# UPDATE_HOST_NAME 選項,安裝藍鯨過程中是否修改主機名。

#默認為0,表示不修改主機名。非0,則會根據藍鯨定義的規則修改主機名

export UPDATE_HOST_NAME=0

 

# DB 信息

export MYSQL_USER="root"                # mysql 用戶名

export MYSQL_PASS='0N9LZr3ksu'

export REDIS_PASS='9LbyJHGpqg'

export MONGODB_USER="root"                # mongodb 用戶名

export MONGODB_PASS='eVmA_GTjy6FYJh5HbelU'              # mongodb 密碼

 

# 賬戶信息(建議修改)

export MQ_USER=admin

export MQ_PASS='I38uBPhbNY'

export ZK_USER=bkzk

export ZK_PASS='8RbWwZdXUV'

 

export PAAS_ADMIN_USER=admin

export PAAS_ADMIN_PASS='el3ZQgIN7r'

 

export GSE_AGENT_HOME=/usr/local/gse

 

#  以下windows相關路徑中的反斜線,必須是4!!

export GSE_WIN_AGENT_HOME='C:\\\\gse'

export GSE_WIN_AGENT_DATA_DIR='C:\\\\gse\\\\data'

export GSE_WIN_AGENT_LOG_DIR='C:\\\\gse\\\\logs'

 

export GSE_AGENT_RUN_DIR=/var/run/gse

export GSE_AGENT_DATA_DIR=/var/lib/gse

export GSE_AGENT_LOG_DIR=/var/log/gse

 

export BIZ_ID=0

 

# 若不能直連往外, 請關閉該選項

# 若環境可以直連外網, 以下選項設置為1, 便於自動設置 NGINX 的外網 IP 的監聽地址

export AUTO_GET_WANIP=1

export NFS_UID=10086

export NFS_GID=10087

 

# 默認共享文件系統類型,ceph nfs

export SHARED_STORAGE_TYPE="nfs"

 

# 若無法自動獲取外網 IP, 在需要跨雲管理時, 在以下數組中填寫 gse, nginx 的外網 ip 地址.

export GSE_WAN_IP=()

export NGINX_WAN_IP=()

 

# 安裝部署 SaaS 應用需要使用到的 pip

export PYPI_SOURCE='pypi.douban.com'

 

export BK_TIMEZONE="Asia/Shanghai"

 

# 設置訪問網絡資源如yum源所使用的HTTP代理地址, : BK_PROXY=http://192.168.0.1:8833

export BK_PROXY=

 

# 以下變量值不可以修改.每個企業統一

export IMAGE_NAME='bkbase/python:1.0'

export JAVA_IMAGE_NAME='bkbase/java:1.0'

 

# 設置app 部署時使用的腳本來源是已src 包下的為准還是以 install/appmgr目錄下為准

# 若值為 src , app 安裝的腳本從paas-agent目錄下獲取, 否則從agent_setup目錄下獲取

export APPMGR_SOURCE=src

 

# 設置工程的運行環境, 默認企業環境是prod

export RUN_MODE='prod'

 

# 在以下數組中填寫NTP主服務器的上游時間服務器

#export NTP_SERVER=( 0.cn.pool.ntp.org 1.cn.pool.ntp.org 2.cn.pool.ntp.org 3.cn.pool.ntp.org )

 

說明:

BK_DOMAIN 的值不能為 "com" "net" 這種頂級域名,至少二級域名開始。

FQDN 的選擇需要遵循 DNS 的命名規范,可選的字符集是 [A-Za-z0-9.] 以及 "-",特別要注意,下划線 (_) 是不允許的。

PAAS_FQDNCMDB_FQDNJOB_FQDN 的值都必須在 BK_DOMAIN 定義的根域名之下,保證登陸鑒權的 cookie 文件有效。

改。

ports.env

端口定義。默認情況下,不用修改。特殊場景下,若有端口沖突,可以自行定義。

非標准私有地址處理方法

藍鯨社區版部署腳本中(install 目錄)下有以下文件中有獲取 ip 的函數 get_lan_ip,非標准地址,均需要在安裝部署前完成修

./appmgr/docker/saas/buildsaas

./appmgr/docker/build

./functions

./scripts/gse/server/gsectl

./scripts/gse/plugins/reload.sh

./scripts/gse/plugins/start.sh

./scripts/gse/plugins/stop.sh

./scripts/gse/agent/gsectl

./scripts/gse/proxy/gsectl

./scripts/gse/agentaix/gsectl.ksh

./agent_setup/download#agent_setup_pro.sh

./agent_setup/download#agent_setup_aix.ksh

./agent_setup/download#agent_setup.s

這些文件列表,可能隨版本迭代變動,也可以用以下命令查找出來包含這個函數的腳本文件有哪些:

grep -l 'get_lan_ip *()' -r /data/install

15>pip.conf:在線安裝時,依賴 pip,需要配置可用的 pip

16>[root@rbtnode1 ~]# cat /data/src/.pip/pip.conf

[global]

index-url = http://mirrors.cloud.tencent.com/pypi/simple

trusted-host = mirrors.cloud.tencent.com

[root@rbtnode1 ~]# curl -I http://mirrors.cloud.tencent.com/pypi/simple

HTTP/1.1 302 Moved Temporarily

Server: tws

Date: Sun, 22 Mar 2020 06:53:38 GMT

Content-Type: text/html

Content-Length: 154

Connection: close

Location: https://mirrors.cloud.tencent.com/pypi/simple

獲取證書:

1. 通過 ifconfig 或者 ip addr 命令獲取 install.config 文件中,license gse 模塊所在服務器的第一個內網網卡的 MAC 地址。如果分別屬於兩台服務器,那么兩個的 MAC 地址以英文;分隔。

2. 在官網 證書生成頁面 根據輸入框提示填入 MAC 地址,生成並下載證書。

3. 上傳證書到中控機,並解壓到 src/cert 目錄下

[root@rbtnode1 ~]# cat /sys/class/net/eth0/address

00:16:3e:00:2d:c7

 

 

 

 

 

 

 

tar xf ssl_certificates.tar.gz -C /data/src/cert/

17>安裝前校驗環境是否滿足

[root@rbtnode1 ~]# cd /data/install/

[root@rbtnode1 install]# bash precheck.sh

start <<check_ssh_nopass>> ... [OK]

start <<check_password>> ... [OK]

start <<check_cert_mac>> ... [OK]

start <<check_get_lan_ip>> ... [OK]

start <<check_install_config>> ... [OK]

start <<check_selinux>> ... [OK]

start <<check_umask>> ... [OK]

start <<check_rabbitmq_version>> ... [OK]

start <<check_http_proxy>> ... [OK]

start <<check_open_files_limit>> ... [OK]

start <<check_domain>> ... [OK]

start <<check_rsync>> ... [OK]

start <<check_service_dir>> ... [OK]

start <<check_networkmanager>> ... [OK]

start <<check_firewalld>> ... [OK]

如果發現有 [FAIL] 的報錯,按照錯誤提示和本文檔修復。修復后,可繼續跑 precheck.sh 腳本,直到不再出現 [FAIL]

如果需要從頭開始檢查,請使用 precheck.sh -r 參數。

18>安裝 mysql-devel

[root@rbtnode1 ~]# yum install mysql-devel

[root@rbtnode1 ~]# rpm -qa | grep mariadb-devel

mariadb-devel-5.5.64-1.el7.x86_64

2. 建立軟連接

ln -s /usr/lib64/mysql/libmysqlclient_r.so /usr/lib/libmysqlclient_r.so

ln -s /usr/lib64/mysql/libmysqlclient.so /usr/lib/libmysqlclient.so

ln -s /usr/lib64/mysql/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18

ln -s /usr/lib64/mysql/libmysqlclient.so.18.0.0 /usr/lib/libmysqlclient.so.18.0.0

19>執行安裝

如果部署全部組件,則執行:

[root@rbtnode1 ~]# cd /data/install/

[root@rbtnode1 install]# ./install_minibk -y

如果按需部署,例如Paas cmdb job 平台

 cd /data/install

 ./install_minibk

 ./bk_install paas && ./bk_install cmdb && ./bk_install job

------------------------- agreements --------------------------------- Dear users, welcome to use the Tencent BlueKing Software. Please access http://bk.tencent.com/info/#laws to read the Tencent BlueKing Software License and Service Agreement carefully. You have no right to install or use the Software and related services unless you have read and accepted all the terms of this Agreement. By downloading, install- ing, using or logging in the Software, you shall be deemed to have read and agreed to be bound by the Agreement above. If you have under- stood the above content, please enter "yes" to continue installation, otherwise, please enter "no" to abort. Thank you for your understan- ding and support of the Tencent BlueKing Software. ---------------------------------------------------------------------- yes/no ?

回答:yes

如果沒報錯則表明安裝成功

 

 

Windowns添加hosts文件

39.99.54.182 paas.hy960.top

39.99.54.182 job.hy960.top

39.99.54.182 cmdb.hy960.top

 

訪問:20>http://paas.hy960.top

 

 

 

用戶名:admin

密碼:el3ZQgIN7r

 

安裝模塊講解:

#故障自愈 

[root@rbtnode1 install]# ./bk_install saas-o bk_fta_solutions

#日志檢索

[root@rbtnode1 install]# ./bk_install saas-o bk_log_search

 #節點管理

[root@rbtnode1 install]# ./bk_install saas-o bk_nodeman

#標准運維 [root@rbtnode1 install]# ./bk_install saas-o bk_sops

#藍鯨監控

 [root@rbtnode1 install]# ./bk_install saas-o bk_monitor

 卸載
如果不再測試想卸載或是想徹底清理環境重新安裝

cd /data/install/ && cp uninstall/uninstall.sh .

 bash uninstall.sh


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM