概述
常見問答
問:非root使用者運作fineKey需要什麼權限?
優先推薦使用root使用者運作finekey容器化部署工具。
如需使用非root使用者運作finekey容器化部署工具,請參考文檔配置使用者權限:確認部署維運平台的使用者權限
問:磁碟明明有100G,為什麼還是部署失敗呢?
1)目錄不正確
預設安裝目錄為~/data,是安裝使用者主目錄下的data資料夾,而不是根目錄/data資料夾
例如使用root使用者部署,則~/data代表的目錄為/root/data,請確定yaml檔案中配置了正確的目錄
2)磁碟可用空間不足
必須確定配置的掛載卷目錄剩餘可用空間達到100G以上
伺服器作業系統本身會佔用一部分空間,所以如果只給該目錄分配了100G空間,那麼剩餘可用肯定不足100G了
問:ops和專案能部署在一台伺服器上嘛?
說明文檔所提供的資源要求,均按照標準部署方案提供,不建議也不提供此種配置分配方案。
如果維運平台和專案部署在同一台伺服器上,無法達到異機備份等功能。
如果伺服器出現故障,兩者會同時當機,無法實現維運平台拉起專案等功能。
因此強烈建議為維運平台和專案分別準備完全獨立可用的伺服器。
部署維運平台常見報錯
yaml檔案規範性檢查
finekey.yaml檔案中存在以下規範,如不遵守,會報錯並自動終止部署
# 必填項
node:
# 必填項
ip: localhost
# 必填項,範圍0-65535
port: 22
user:
password:
# 必填項
dataRootPath: ~/data
# 必填項
repo:
# 必填項,範圍0-65535
port: 5000
url:
username:
password:
ssl: true
online: false
# 必填項,校驗值必須為CN/TW/EN
language: CN
# 校驗是否為CIDR
bip: 10.16.0.1/16
# 校驗是否為CIDR
fip: 10.17.0.1/16
# 校驗組件名稱,必須為我們要求的組件
#components:
# nginx:
# portMapping: {80: 8080}
#
# ops_agent:
# portMapping: {9071: 9070}
#
# skywalking_oap:
# portMapping: {11800: 11800, 12800: 12800}
#
# elasticsearch:
# portMapping: {9200: 9200}
# password: elasticadmin
#
finekey is already running
報錯語句:finekey is already running
原因分析:finekey工具正在運作,需要關閉工具佔用的進程,方可重啟。
解決方案:透過語句ps -ef|grep finekey,查看相關的進程號,kill -9 進程號 即可。
disk availlable capacity:xxx, less then 500G
報錯語句:ERROR: 2022/05/18 17:08:36 node 192.168.1.24 disk availlable capacity:3789952, less then 500G
原因分析:安裝時會自動檢查finekey.yaml檔案中配置的掛載卷目錄所在磁碟分割槽閒置空間要≥500G,預設~/data代表的目錄是/root/data。
解決方案:這是容器化部署的前提,必須滿足。請聯絡相關維運人員對伺服器進行擴容。
memory avillable capacity: xxx, less then 16G
報錯語句:ERROR: 2022/04/20 14:12:55 node 192.168.101.144 memory avillable capacity: 7302952, less then 16G
原因分析:伺服器記憶體容量不足
解決方案:這是容器化部署的前提,必須滿足。請聯絡相關維運人員對伺服器進行擴容。
connection refused
報錯語句:ERROR: 2022/05/18 17:33:07 finedb connect error:dial tcp 192.168.1.24:3306: connect: connection refused
原因分析:finekey.yaml檔案中配置的相關埠,沒有開放,無法連結。
解決方案:請檢查伺服器相關埠的防火牆、安全組等設定是否開放。
mapping values are not allowed in this context
報錯語句:ERROR: 2022/04/20 13:56:28 parse config file /Users/carly/finekey/conf/finekey.yaml error: yaml: line 14: mapping values are not allowed in this context
報錯原因:yaml 檔案對格式的要求非常高,出現該錯誤,大概率都是由於內容格式存在錯誤。
解決方案:根據報錯提示中的 line 號修改配置檔案格式。
address already in use
報錯語句:ERROR: 2022/05/18 17:15:23 192.168.1.24 :try bind port error:listen tcp :12100: bind: address already in use
原因分析:埠衝突,已有的組件佔用了預設埠。
解決方案:
1)埠確實衝突:開啟安裝目錄下 conf 資料夾裏的 finekey.yaml檔案,找到對應組件,修改portMapping中映射埠,儲存跳出後重新運作即可。
2)埠沒有衝突:仔細排查安裝目錄下 conf 資料夾裏的 finekey.yaml檔案,是否是finekey.yaml中各處字元格式不對,比如漏加空格或用了中文符號等。
can't use localhost
報錯語句:ERROR: 2022/04/20 13:58:14 can't use localhost,127.0.0.1 etc as node.ip in cluster mode.. must ensure ensure IP connectivity of all nodes
報錯原因:叢集下不能使用 localhost 等迴環地址作為 IP
解決方案:修改 IP 為其他節點都能存取的真實 IP
add user to docker group error
報錯語句:add user to docker group error:sudo:1次錯誤密碼嘗試
解決方案:
1)確定finekey.yaml檔案配置的ssh使用者和運作finekey的使用者保持一致
2)檢查finekey.yaml檔案中配置ssh帳號密碼是否正確
3)遠端連結工具問題,關閉重啟遠端工具並再次嘗試
ssh connect error
報錯語句:ERROR: 2022/04/20 13:58:14 node:192.168.101.144 ssh connect error:ssh: handshake failed: ssh: unable to authenticate, attempted methods
報錯原因:SSH 連結失敗,通常報錯明細中出現 unable to authenticate 則代表密碼有問題;出現 Connection refused 則代表網路不通等可能
解決方案:
1)確定finekey.yaml檔案配置的ssh使用者和運作finekey的使用者保持一致
2)檢查finekey.yaml檔案中配置ssh帳號密碼是否正確
3)遠端連結工具問題,關閉重啟遠端工具並再次嘗試
The current path capacity check failed
報錯語句:
The current path capacity check failed, please re-enter the path
Enter the folder path and press ENTER to confirm, or enter g then ENTER to exit:
報錯原因:
如果部署程式中,檢查到掛載目錄磁碟可用空間不足100G,會提示「The current path capacity check failed, Please re-enter the path」
預設~/data目錄不代表/data目錄,而是對應使用者主目錄下的/data目錄。例如使用root使用者部署,則~/data代表的目錄為/root/data
解決方案:
使用者無需跳出部署環節,手動修改yaml檔案。可直接輸入滿足條件的目錄,即可繼續部署。
did not find expected key
報錯語句:
ERROR: 2022/04/20 13:58:14 parse config file /home/finekey/conf/finekey.yaml error: yaml: line 26: did not find expected key
排查方向一:yaml格式錯誤
yaml 檔案對格式的要求非常高,出現該錯誤,大概率都是由於內容格式存在錯誤。
請根據報錯提示中的 line 號修改配置檔案格式。
排查方向二:未放開註釋
如報錯行,為待部署組件的埠配置行,說明需要調整組件埠配置。
請確定components所在行的#註釋已刪除、請確定組件名稱所在行的#註釋已刪除、請確定組件埠配置所在行的#已刪除
Do not use system directories as dataroot
報錯語句:
Do not use system directories as dataroot!
報錯原因:
/、/usr、/root、/usr/local四個目錄,是系統目錄,
不可以直接使用這四個目錄作為 finekey.yaml 檔案中的 dataRootPath 配置項
解決方法:
請使用其他目錄,或在這些目錄中建立資料夾,作為維運平台的掛載目錄
升級維運平台常見問題
線上升級需要開放的外網地址
對於內網環境,如需線上升級FineOps維運平台,需要自行開通網路白名單。
功能 | 地址 |
---|---|
獲取鏡像 更新維運平台 更新專案組件 | 域名:registry.cn-hangzhou.aliyuncs.com,埠:443 域名:fineops-registry.cn-hangzhou.cr.aliyuncs.com,埠:443 域名:cr.cn-hangzhou.aliyuncs.com,埠:443 域名:dockerauth.cn-hangzhou.aliyuncs.com,埠:443 |
獲取更新資訊 | 四選一,有一個能聯通即可: https://cloud.fanruan.com/config |
升級提示docker engine報錯
問題描述:
維運平台升級程式中,提示docker engine相關報錯
原因分析:
由於docker引擎、FineOps維運平台、專案的ops_agent組件存在對應關係。
如需手動升級維運平台,必須確定維運平台所在伺服器、維運平台對接的專案所在伺服器,均支援升級docker引擎。
如在執行finekey update程式中,檢查到系統禁止升級docker引擎,就會出現該報錯,中斷升級。
解決方案:
1)依次分別登入維運平台所在伺服器、維運平台對接的專案所在的每一台伺服器
2)執行語句,升級docker引擎:./finekey engine --update
3)再次參考上文使用語句啟動升級:./finekey update
注意事項:
在升級FineOps維運平台時,在哪一台伺服器觸發了docker引擎升級,就會重啟該機器上的容器。
因此會影響終端使用者使用維運平台和專案。請選擇非工作時間進行升級,降低業務影響。