詳解單機(jī)部署藍(lán)鯨5.1.29版本(藍(lán)鯨單機(jī)游戲)
概述
由于藍(lán)鯨cmdb沒有用戶模塊,估計(jì)在藍(lán)鯨其他平臺了,所以順便測試了整個(gè)藍(lán)鯨,這里用的是最新穩(wěn)定版5.1.29,部分測試的bug客服回復(fù)需在6.0版本才解決..
一、概述
騰訊藍(lán)鯨智云,簡稱藍(lán)鯨,是騰訊互動(dòng)娛樂事業(yè)群(Interactive Entertainment Group,簡稱 IEG)自研自用的一套用于構(gòu)建企業(yè)研發(fā)運(yùn)營一體化體系的 PaaS 開發(fā)框架,提供了 aPaaS(DevOps 流水線、運(yùn)行環(huán)境托管、前后臺框架)和 iPaaS(持續(xù)集成、CMDB、作業(yè)平臺、容器管理、數(shù)據(jù)平臺、AI 等原子平臺)等模塊,幫助企業(yè)技術(shù)人員快速構(gòu)建基礎(chǔ)運(yùn)營 PaaS。
bk-ci是一個(gè)免費(fèi)并開源的CI服務(wù),可助你自動(dòng)化構(gòu)建-測試-發(fā)布工作流,持續(xù)、快速、高質(zhì)量地交付你的產(chǎn)品。
使用bk-ci屏蔽掉所有研發(fā)流程中的繁瑣環(huán)節(jié),讓你聚焦于編碼。它通常被用于:
- 工程編譯
- 靜態(tài)代碼檢查
- 運(yùn)行測試用例,及時(shí)發(fā)現(xiàn)BUG
- 部署與發(fā)布
bk-ci提供了流水線、代碼庫、憑證管理、環(huán)境管理、研發(fā)商店5大核心服務(wù),多重組合,滿足企業(yè)不同場景的需求:
- 流水線:將團(tuán)隊(duì)現(xiàn)有的研發(fā)流程以可視化方式呈現(xiàn)出來,編譯、測試、部署,一條流水線搞定
- 代碼庫:將企業(yè)內(nèi)已有的代碼托管服務(wù)關(guān)聯(lián)至bk-ci
- 憑證管理:為代碼庫、流水線等服務(wù)提供不同類型的憑據(jù)、證書管理功能
- 環(huán)境管理:可以將企業(yè)內(nèi)部的開發(fā)編譯機(jī)托管至bk-ci
- 研發(fā)商店:由流水線插件和流水線模板組成,插件用于對接企業(yè)內(nèi)部的各種第三方服務(wù),模板助力企業(yè)內(nèi)部的研發(fā)流程規(guī)范化
單機(jī)部署方案是針對新老用戶快速低成本的搭建一套精簡版的藍(lán)鯨社區(qū)版推出的。
從社區(qū)版 4.1.11 版本開始,支持完整版本藍(lán)鯨的單機(jī)部署體驗(yàn),前提要求是,單機(jī) CPU 不低于 2 核,可用內(nèi)存不低于 16GB。 若機(jī)器性能沒滿足要求,只能部署精簡版的藍(lán)鯨平臺。
精簡版藍(lán)鯨平臺滿足簡單的運(yùn)維場景需求,包含:PaaS 平臺,配置平臺,作業(yè)平臺,以及安裝 Agent 用的 節(jié)點(diǎn)管理 SaaS。
二、基礎(chǔ)環(huán)境準(zhǔn)備
這里拿了一臺測試服務(wù)器先做測試,配置為8核16G,如果低于這個(gè)配置會有各種各樣的問題,建議最低按這個(gè)配置來進(jìn)行。
1、禁用selinux、防火墻、networkmanager
setenforce 0sed -i 's/^SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinuxsystemctl stop firewalld systemctl disable firewalld systemctl stop NetworkManagersystemctl disable NetworkManager
2、調(diào)整最大文件打開數(shù)
#在centos7中l(wèi)imits.conf配置只適用于通過PAM認(rèn)證登錄用戶的資源限制cat >> /etc/security/limits.conf << EOF* soft nofile 65535* hard nofile 65535* soft nproc 65535* hard nproc 65535EOF#在centos7中system.conf適用于對systemd的service的資源限制cat >> /etc/systemd/system.conf << EOFDefaultLimitCORE=infinityDefaultLimitNOFILE=65535DefaultLimitNPROC=65535EOFsystemctl daemon-reexec #這里不把ulimit寫到/etc/profile,因?yàn)樗{(lán)鯨后面有個(gè)組件會自動(dòng)加這個(gè)參數(shù),然后會導(dǎo)致沖突無法啟動(dòng)ESulimit -HSn 65535
3、配置yum源
在所有藍(lán)鯨服務(wù)器上配置好 yum 源,要求該 yum 源包含 EPEL。
for i in /etc/yum.repos.d/*.repo;do cp $i ${i%.repo}.bak;donerm -rf /etc/yum.repos.d/*.repo#centos7wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo # epel(RHEL7系列)wget -O /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repoyum clean all && yum makecache
4、確認(rèn)服務(wù)器時(shí)間同步
yum install -y ntpdate # 檢查每臺機(jī)器當(dāng)前時(shí)間和時(shí)區(qū)是否一致,若相互之間差別大于3s(考慮批量執(zhí)行時(shí)的時(shí)差),建議校時(shí)。date -R# 查看和ntp server的時(shí)間差異(需要外網(wǎng)訪問,如果內(nèi)網(wǎng)有ntpd服務(wù)器,自行替換域名為該服務(wù)的地址)ntpdate -d cn.pool.ntp.org如果輸出的最后一行offset大于1s建議校時(shí)# 和ntp服務(wù)器同步時(shí)間ntpdate cn.pool.ntp.org
5、檢查是否存在全局HTTP代理
藍(lán)鯨服務(wù)器之間會有的http請求,如果存在http代理,且未能正確代理這些請求,會發(fā)生不可預(yù)見的錯(cuò)誤。
# 檢查http_proxy https_proxy變量是否設(shè)置,若為空可以跳過后面的操作 echo "$http_proxy" "$https_proxy"
6、安裝rsync
yum install -y rsync
7、檢查resolv.conf是否有修改權(quán)限
檢查 /etc/resolv.conf 是否被加密無法修改(即便是 root),執(zhí)行如下命令,檢查是否有“i”加密字樣
lsattr /etc/resolv.conf --如果有則臨時(shí)解密處理: chattr -i /etc/resolv.conf
8、配置主機(jī)名解析
cat > /etc/hostname << EOFbk-ciEOFcat >> /etc/hosts << EOFxxxx bk-ci127.0.0.1 bk-ciEOF
二、安裝前準(zhǔn)備
1、下載安裝包并解壓
下載地址為:https://bkopen-1252002024.file.myqcloud.com/ce/38f7796/bkce_src-5.1.29.tar.gz
tar -xvf bkce_src-5.1.29.tar.gz -C /data#解壓之后,得到兩個(gè)目錄:src,install#src:存放藍(lán)鯨產(chǎn)品軟件,以及依賴的開源組件#install:存放安裝部署腳本、安裝時(shí)的參數(shù)配置、日常運(yùn)維腳本等
目錄說明:
- bkdata:數(shù)據(jù)平臺基礎(chǔ)模塊存放路徑,包含 dataapi,databus,monitor 三個(gè)子工程dataapi/:數(shù)據(jù)平臺 API 接口服務(wù)databus/:數(shù)據(jù)平臺總線服務(wù)monitor/:藍(lán)鯨監(jiān)控后臺服務(wù)
- bknetwork:網(wǎng)絡(luò)管理 SaaS 的后臺模塊
- blueking.env:證書環(huán)境變量
- cert/:放置證書文件的目錄
- cmdb/:配置平臺后臺
- ENTERPRISE:代號文件,社區(qū)版默認(rèn)都是 blueking
- fta:故障自愈后臺
- gse/:管控平臺后臺
- job/:作業(yè)平臺后臺
- license/:鑒權(quán)服務(wù)器
- MD5:MD5 校驗(yàn)文件
- miniweb/:空目錄,安裝時(shí)會動(dòng)態(tài)生成一些腳本和配置文件到這里
- official_saas/:官方 SaaS 包,可以在后臺一鍵部署藍(lán)鯨官方 SaaS
- open_paas/:PaaS 后臺
- paas_agent/:SaaS 部署后臺
- service/:開源組件存放目錄
- VERSION:社區(qū)版版本號文件
2、配置ssl證書
2.1、通過 ifconfig 或者 ip addr 命令獲取 install.config 文件中,license 和 gse 模塊所在服務(wù)器的第一個(gè)內(nèi)網(wǎng)網(wǎng)卡的 MAC 地址。如果分別屬于兩臺服務(wù)器,那么兩個(gè)的 MAC 地址以英文;分隔。
2.2、在官網(wǎng)證書生成頁面根據(jù)輸入框提示填入 MAC 地址,生成并下載證書。
下載證書文件: https://bk.tencent.com/download_ssl/
2.3、上傳證書到中控機(jī),并解壓到 src/cert 目錄下。
tar -xvf ssl_certificates.tar.gz -C /data/src/cert
3、修改配置文件(只需修改globals.evn文件)
在 install 目錄下, 共有三個(gè)配置
- install.config
- globals.env
- ports.env
3.1、install.config(這個(gè)文件單機(jī)部署時(shí)安裝腳本會自動(dòng)生成,無需自行配置)
install.config 是模塊和服務(wù)器對應(yīng)關(guān)系的配置文件,描述在哪些機(jī)器上安裝哪些模塊。 每行兩列,第一列是IP地址;第二列是以英文逗號分隔的模塊名稱。 詳情參考install.config.3IP.sample文件(可將install.config.3IP.sample 復(fù)制為install.config)。
由于appo和appt不能部署到同一臺機(jī)器,所以單機(jī)部署的時(shí)候要二選一
說明:
該配置文件,ip 后面使用空格與服務(wù)名稱隔開,含有多個(gè)內(nèi)網(wǎng) ip 的機(jī)器,默認(rèn)使用 /sbin/ifconfig 輸出中的第一個(gè)內(nèi)網(wǎng)ip, 在 ip 后面寫上該機(jī)器要安裝的服務(wù)列表即可zk 表示 zookeeper, es 表示 elasticsearchgse 與 redis 需要部署在同一臺機(jī)器上gse 若需要跨云支持, gse 所在機(jī)器必須有外網(wǎng) IP增加機(jī)器數(shù)量時(shí), 可以將以上配置中的服務(wù)挪到新的機(jī)器上,分擔(dān)負(fù)載。 要保證: kafka, es, zk 的每個(gè)組件的總數(shù)量為3
3.2、globals.env(重點(diǎn)關(guān)注域名和 GSE 外網(wǎng) IP 相關(guān)的配置)
該文件定義了各類組件的賬號密碼信息. 功能開關(guān)控制選項(xiàng)等. 可根據(jù)實(shí)際情況進(jìn)行修改.
配置項(xiàng)含義, 請查看文件中的注釋
- 該文件含密碼信息,請保證除了root用戶外,其他用戶不可讀。
- 各類賬號密碼建議修改, 注意設(shè)置的各類密碼不能有 / $ ` < > &等特殊字符
- 配置HTTP代理: 若公司不能訪問外網(wǎng), 但有自己的 proxy, 在該配置文件的 BK_PROXY 選項(xiàng)中指定代理地址.
- 若需要跨云管理功能(服務(wù)器在不同的 IDC, 內(nèi)網(wǎng)不互通的情況):需要將 gse 所在機(jī)器的外網(wǎng)IP填到該文件中 GSE_WAN_IP 配置項(xiàng)中的括號里 如: export GSE_WAN_IP=(1.2.3.4), 若沒有外網(wǎng)IP 則留空
- HAS_DNS_SERVER 配置默認(rèn)為0,表示配置的藍(lán)鯨域名需要通過/etc/hosts來解析,此時(shí)部署腳本會自動(dòng)修改每臺機(jī)器的/etc/hosts添加相關(guān)域名。如果想走自己的dns配置,改為非0即可。
- HTTP_SCHEMA=http 默認(rèn)HTTP_SCHEMA設(shè)置為http即藍(lán)鯨軟件全站為http,若設(shè)置為https則藍(lán)鯨軟件全站為https,可支持http和https的切換。
- 該配置文件中提供了訪問藍(lán)鯨三大平臺的域名配置, 需要提前準(zhǔn)備好.
export BK_DOMAIN="bk.com" # 藍(lán)鯨根域名(不含主機(jī)名) export PAAS_FQDN="paas.$BK_DOMAIN" # PAAS 完整域名 export CMDB_FQDN="cmdb.$BK_DOMAIN" # CMDB 完整域名 export JOB_FQDN="job.$BK_DOMAIN" # JOB 完整域名
說明:
1)BK_DOMAIN的值不能為"com" "net" 這種頂級域名, 至少二級域名開始。
2)FQDN的選擇需要遵循DNS的命名規(guī)范,可選的字符集是[A-Za-z0-9.]以及"-", 特別要注意,下劃線(_)是不允許的。
3)PAAS_FQDN CMDB_FQDN JOB_FQDN的值都必須在BK_DOMAIN定義的根域名之下,保證登陸鑒權(quán)的cookie文件有效。
3.3、ports.env
端口定義,默認(rèn)情況下, 不用修改。
三、安裝藍(lán)鯨持續(xù)集成平臺
1、開始安裝
以下步驟若有報(bào)錯(cuò)/失敗,需要根據(jù)提示修復(fù)錯(cuò)誤后,重新執(zhí)行相同的命令(斷點(diǎn)續(xù)裝)。
--按需部署cd /data/install./install_minibk# 該步驟后,可以打開 paas 平臺./bk_install paas # 安裝paas 平臺及其依賴服務(wù)# 該步驟完成后, 可以打開 cmdb, 看到藍(lán)鯨業(yè)務(wù)及示例業(yè)務(wù)./bk_install cmdb # 安裝 cmdb 及其依賴服務(wù)# 該步驟完成后, 可以打開作業(yè)平臺, 并執(zhí)行作業(yè)# 同時(shí)在配置平臺中可以看到藍(lán)鯨的模塊下加入了主機(jī)./bk_install job # 安裝作業(yè)平臺及其依賴組件,并在安裝藍(lán)鯨的服務(wù)器上裝好 gse_agent 供驗(yàn)證# 該步驟完成后可以在開發(fā)者中心的 服務(wù)器信息 和 第三方服務(wù)信息 中看到已經(jīng)成功激活的服務(wù)器# 同時(shí)也可以進(jìn)行 saas 應(yīng)用(除藍(lán)鯨監(jiān)控和日志檢索)的上傳部署./bk_install app_mgr # 部署正式環(huán)境及測試環(huán)境# 安裝該模塊后,可以開始安裝saas 應(yīng)用: 藍(lán)鯨監(jiān)控及日志檢索./bk_install bkdata # 安裝藍(lán)鯨數(shù)據(jù)平臺基礎(chǔ)模塊及其依賴服務(wù)# 安裝 fta 后臺./bk_install fta # 安裝故障自愈的后臺服務(wù)# 重裝一下 gse_agent 并注冊正確的集群模塊到配置平臺./bkcec install gse_agent# 部署官方SaaS到正式環(huán)境(通過命令行從/data/src/official_saas/目錄自動(dòng)部署SaaS)./bkcec install saas-o#故障自愈./bk_install saas-o bk_fta_solutions#日志檢索 ./bk_install saas-o bk_log_search#節(jié)點(diǎn)管理./bk_install saas-o bk_nodeman#標(biāo)準(zhǔn)運(yùn)維 ./bk_install saas-o bk_sops#藍(lán)鯨監(jiān)控 ./bk_install saas-o bk_monitor
2、安裝成功部分截圖
2.1、paas平臺
2.2、cmdb平臺
2.3、job平臺
2.4、app_mgr平臺
2.5、bk_nodeman平臺
2.6、bkdata平臺(這里的坑還真的不少)
2.7、fta平臺
2.8、重新安裝gse_agent
2.9、saas-o平臺
3、測試訪問
配置主機(jī)解析后測試訪問:
1xxxx paas.bk.com cmdb.bk.com job.bk.com
密碼見/data/install/install.config設(shè)置
總結(jié)
界面體驗(yàn)還不錯(cuò),但是部署好像bug有點(diǎn)多?我這都改了幾次源碼才全部模塊部署完了..后面放一下常見的報(bào)錯(cuò)及解決辦法,僅供參考。