目錄
一、背景
二、目的
三、創(chuàng)建安裝agent流程
四、通過標(biāo)準(zhǔn)運維 API 安裝 Agent
?五、總結(jié)
一、背景
??????? 藍鯨平臺正常情況納管主機需要在節(jié)點管理手工安裝agent,不能達到完成自動化安裝agent的效果。想通過腳本一鍵安裝agent,而不需要在藍鯨平臺進行過多的菜單操作。
????? 參考藍鯨社區(qū)大神的文檔:
https://bk.tencent.com/s-mart/community/question/11003?type=articlehttps://bk.tencent.com/s-mart/community/question/11003?type=article
二、目的
??????? 通過標(biāo)準(zhǔn)運維平臺API安裝agent,并輸出使用API 安裝agent的一鍵安裝腳本,用戶需要保證藍鯨集群能正常通過ssh訪問需要納管的主機。
三、創(chuàng)建安裝agent流程
??????? 登錄到藍鯨平臺,在標(biāo)準(zhǔn)運維對應(yīng)的業(yè)務(wù)下創(chuàng)建項目流程;目前公共流程我測試未成功,公共流程會讀取業(yè)務(wù)id(bk_biz_id)失敗。
1、新建流程
???????? 到此,已完成了安裝 agent流程配置??梢灾苯油ㄟ^ 流程任務(wù)安裝agent了,要是想通過 API調(diào)用 則需要 參考后續(xù)的步驟(第四章節(jié)),創(chuàng)建 流程是 API調(diào)用 安裝 agent的必須前提。
?2、新建任務(wù)(測試流程正??捎?
??????? 此項不是必須項,此項是證明剛才創(chuàng)建標(biāo)準(zhǔn)流程已正??捎?。
四、通過標(biāo)準(zhǔn)運維 API 安裝 Agent
?1、操作方法
2、下圖由藍鯨社區(qū)提供
藍鯨社區(qū)大神文檔地址:
https://bk.tencent.com/s-mart/community/question/11003?type=articlehttps://bk.tencent.com/s-mart/community/question/11003?type=article
2、獲取鑒權(quán)信息
?3、API 請求內(nèi)容(可通過postman 執(zhí)行)
4、通過shell 腳本調(diào)用 標(biāo)準(zhǔn)運維 API 安裝agent
???????? 使用者直接下載腳本或者復(fù)制腳本修改執(zhí)行即可,他會自動生成json請求文件,完成調(diào)用。
?????????使用者在執(zhí)行腳本前,必須修改的內(nèi)容有
- IP='替換成你的IP'
- PASSWORD='替換成你的主機 root 密碼,若是你的流程指定的是其他用戶,則寫對應(yīng)用戶的密碼'
- template_id="替換成你的業(yè)務(wù)流程 ID 號"
- bk_app_secret='替換成你的安全密鑰值'
- bk_biz_id=3 # 請將數(shù)字修改成你的 業(yè)務(wù) ID 值
- apiurl='"替換成你自己域名"/api/c/compapi/v2/sops/create_and_start_task/'
#!/bin/bash
# creator @土豆
# date 2023-05-18
# 通過藍鯨流程 API 自動化納管主機,安裝藍鯨agent
# 執(zhí)行本腳本即可納管主機: sh bk_agent.sh
# 要確保藍鯨集群能通過 ssh 訪問到目標(biāo)主機
# 參考藍鯨社區(qū)文檔: https://bk.tencent.com/s-mart/community/question/11003?type=article
##########################################################
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# 多個IP,通過應(yīng)用分號分隔,將值傳遞給在創(chuàng)建該流程設(shè)定的全局變量: ${IP} 和 ${PASSWORD} )
IP='192.168.1.101,192.168.1.102'
PASSWORD='替換成你的主機 root 密碼,若是你的流程指定的是其他用戶,則寫對應(yīng)用戶的密碼'
# 流程執(zhí)行任務(wù)的名稱,自定義即可
install_name=install_agent_$(date +%F_%T)
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
##########################################################
##########################################################
# 固定內(nèi)容,這些內(nèi)容是 依據(jù)模塊而來,第一次使用需要修改
##########################################################
# 改成您的項目流程 ID
template_id="替換成你的業(yè)務(wù)流程 ID 號"
# bk_username:藍鯨登錄用戶,可用其他有權(quán)限的用戶,默認(rèn)值:admin
bk_username='admin'
# bk_app_code 和 bk_app_secret 的值可從應(yīng)用開發(fā)獲取: 藍鯨開發(fā)者中心 ->應(yīng)用開發(fā)->標(biāo)準(zhǔn)運維->基本設(shè)置->基本信息
# bk_app_code: 應(yīng)用ID,我在 json里面指定默認(rèn)值為:bk_app_code='bk_sops'
# bk_app_code='bk_sops'
# 應(yīng)用 TOKEN ,安全密鑰
bk_app_secret='輸入你的安全密鑰值'
# 業(yè)務(wù)默認(rèn)值: 測試業(yè)務(wù)環(huán)境(我的流程是在 ID 是 3 的業(yè)務(wù)下)
bk_biz_id=3 # 請將數(shù)字修改成你的 業(yè)務(wù) ID 值
# 流程模板來源,business:默認(rèn)值,業(yè)務(wù)流程,common:公共流程
# TEMPLATE_SOURCE=common
# 任務(wù)流程類型,common: 默認(rèn)值,常規(guī)流程,common_func:職能化流程
# FLOW_TYPE='common'
## 請求的 API 地址,改成你自己的 API 地址
# 獲取方法: 藍鯨開發(fā)者中心->云API->API文檔->組件API文檔->管理工具->標(biāo)準(zhǔn)運維->API列表->create_and_start_task->API地址
apiurl='"替換成你自己域名"/api/c/compapi/v2/sops/create_and_start_task/'
##########################################################
# 固定內(nèi)容,這些內(nèi)容是 依據(jù)模塊而來,第一次使用需要修改
##########################################################
# 獲取服務(wù)器第一個網(wǎng)卡的第一個IP
GetIP() {
# 獲取服務(wù)器第一個網(wǎng)卡的第一個IP
if [ -z ${IP} ];then
HostIP=`ifconfig |grep inet|grep -oP "\d{1,3}\.\d{1,3}\.\d{1,3}.\d{1,3}"| grep -vE "127.0.0.1|^255"|head -n 1`
IP=$HostIP
echo "您沒有輸入主機IP,自動獲取到的主機IP是:"
echo $IP
else
echo "您輸入的IP是: "
echo $IP
fi
}
# 生成請求內(nèi)容
RequestFile() {
# 請求主體 json, 可自行參照 API文檔說明修改
# 藍鯨開發(fā)者中心->云API->API文檔->組件API文檔->管理工具->標(biāo)準(zhǔn)運維->API列表->create_and_start_task->請求參數(shù)示例
cat > agent.json << EOF
{
"name": "${install_name}",
"template_id": "${template_id}",
"bk_app_code": "${bk_app_code:-bk_sops}",
"bk_app_secret": "${bk_app_secret}",
"bk_username": "${bk_username:-admin}",
"bk_biz_id": "${bk_biz_id}",
"template_source": "${template_source:-business}",
"flow_type": "${flow_type:-common}",
"constants": {
"\${IP}": "${IP}",
"\${PASSWORD}": "${PASSWORD}",
"bk_biz_id": "${bk_biz_id}",
"description": "通過 API 自動化安裝 藍鯨 agent"
}
}
EOF
}
# 安裝agent
InstallAgent() {
# 發(fā)送 POST 請求,執(zhí)行自動安裝 藍鯨 agent
#curl -XPOST $apiurl -H 'Content-Type: application/json' -d @agent.json
curl -s -XPOST $apiurl -H 'Content-Type: application/json' -d @agent.json
# if [ $? -eq 0 ];then
# echo "installed Successed"
# else
# echo "installed failed .."
# fi
}
# 執(zhí)行函數(shù)
GetIP
RequestFile
InstallAgent
5、驗證腳本 成功調(diào)用API安裝 藍鯨agent
?五、總結(jié)
??????? 1、在藍鯨平臺創(chuàng)建 安裝agent的流程
??????? 2、獲取相關(guān)信息,如鑒權(quán)信息等
??????? 3、通過 shell 腳本調(diào)用 API 接口,一鍵批量安裝agent文章來源:http://www.zghlxwxcb.cn/news/detail-453914.html
??????? 4、腳本有說明使用方法和獲取相關(guān)鑒權(quán)信息的知道方法,具體方案看截圖也可文章來源地址http://www.zghlxwxcb.cn/news/detail-453914.html
到了這里,關(guān)于藍鯨平臺通過標(biāo)準(zhǔn)運維 API 安裝 Agent的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!