摘要:寶典系列來襲,相關(guān)的常見問題,本文一網(wǎng)打盡。在中的設(shè)置是以秒為單位的。在啟動(dòng)時(shí),執(zhí)行模式遷移。它的競爭條件可能會(huì)留下一個(gè)鎖定條目,這將阻止后續(xù)的流程。更改為,并清除的值。確認(rèn)更改在表中是否生效。如果認(rèn)證未打開,則響應(yīng)代碼應(yīng)為。
Rancher FAQ寶典系列來襲,Rancher Server相關(guān)的常見問題,本文一網(wǎng)打盡。
1、Docker運(yùn)行Rancher Server容器應(yīng)該注意什么?需要注意運(yùn)行rancher server容器時(shí),不要使用host模式。程序中有些地方定義的是localhost或者127.0.0.1,如果容器網(wǎng)絡(luò)設(shè)置為host,將會(huì)去訪問宿主機(jī)資源,因?yàn)樗拗鳈C(jī)并沒有相應(yīng)資源,rancher server容器啟動(dòng)就出錯(cuò)。
PS:docker命令中,如果使用了 --network host參數(shù),那后面再使用-p 8080:8080 就不會(huì)生效。 docker run -d -p 8080:8080 rancher/server:stable
此命令僅適用于單機(jī)測試環(huán)境,如果要生產(chǎn)使用Rancher server,請使用外置數(shù)據(jù)庫(mysql)或者通過
-v /xxx/mysql/:/var/lib/mysql -v /xxx/log/:/var/log/mysql -v /xxx/cattle/:/var/lib/cattle
把數(shù)據(jù)掛載到宿主機(jī)上。如果用外置數(shù)據(jù)庫,需提前對數(shù)據(jù)庫做性能優(yōu)化,以保證Rancher運(yùn)行的最佳性能。
2、如何導(dǎo)出Rancher Server容器的內(nèi)部數(shù)據(jù)庫?你可以通過簡單的Docker命令從Rancher Server容器導(dǎo)出數(shù)據(jù)庫。
docker exec3、我正在運(yùn)行的Rancher是什么版本的?mysqldump cattle > dump.sql
Rancher的版本位于UI的頁腳的左側(cè)。如果你點(diǎn)擊版本號,將可以查看其他組件的詳細(xì)版本。
4、如果我沒有在Rancher UI中刪除主機(jī)而是直接刪除會(huì)發(fā)生什么?如果你的主機(jī)直接被刪除,Rancher Server會(huì)一直顯示該主機(jī)。主機(jī)會(huì)處于Reconnecting狀態(tài),然后轉(zhuǎn)到Disconnected狀態(tài)。你也可以通過添加主機(jī)再次把此節(jié)點(diǎn)添加到RANCHER集群,如果不在使用此節(jié)點(diǎn),可以在UI中刪除。
如果你有添加了健康檢查功能的服務(wù)自動(dòng)調(diào)度到狀態(tài)Disconnected主機(jī)上,CATTLE會(huì)將這些服務(wù)重新調(diào)度到其他主機(jī)上。
5、我如何在代理服務(wù)器后配置主機(jī)?PS:如果使用了標(biāo)簽調(diào)度,如果你有多臺主機(jī)就有相同的調(diào)度標(biāo)簽,那么服務(wù)會(huì)調(diào)度到其他具有調(diào)度標(biāo)簽的節(jié)點(diǎn)上;如果選擇了指定運(yùn)行到某臺主機(jī)上,那主機(jī)刪除后你的應(yīng)用將無法在其他主機(jī)上自動(dòng)運(yùn)行。
要在代理服務(wù)器后配置主機(jī),你需要配置Docker的守護(hù)進(jìn)程。詳細(xì)說明參考在代理服務(wù)器后添加自定義主機(jī)。
6、為什么同一主機(jī)在UI中多次出現(xiàn)?宿主機(jī)上var/lib/rancher/state這個(gè)文件夾,這是Rancher用來存儲(chǔ)用于標(biāo)識主機(jī)的必要信息。
.registration_token中保存了主機(jī)的驗(yàn)證信息,如果里面的信息發(fā)生變化,RANCHER會(huì)認(rèn)為這是一臺新主機(jī), 在你執(zhí)行添加主機(jī)后,UI上將會(huì)出現(xiàn)另外一臺相同的主機(jī),第一臺主機(jī)接著處于失聯(lián)狀態(tài)。
7、在哪能找到 Rancher Server 容器的詳細(xì)日志?運(yùn)行docker logs可以查看在Rancher Server容器的基本日志。要獲取更詳細(xì)的日志,你可以進(jìn)入到Rancher Server容器內(nèi)部并查看日志文件。
進(jìn)入 Rancher Server 容器內(nèi)部 docker exec -itbash 跳轉(zhuǎn)到 Cattle 日志所在的目錄下 cd /var/lib/cattle/logs/ cat cattle-debug.log
在這個(gè)目錄里面會(huì)出現(xiàn)cattle-debug.log和cattle-error.log。如果你長時(shí)間使用此Rancher Server,你會(huì)發(fā)現(xiàn)我們每天都會(huì)創(chuàng)建一個(gè)新的日志文件。
8、將Rancher Server的日志復(fù)制到主機(jī)上以下是將Rancher Server日志從容器復(fù)制到主機(jī)的命令。
docker cp9、如果Rancher Server的IP改變了會(huì)怎么樣?:/var/lib/cattle/logs /local/path
如果更改了Rancher Server的IP地址,你需要用新的IP重新注冊主機(jī)。
在Rancher中,點(diǎn)擊系統(tǒng)管理->系統(tǒng)設(shè)置更新 Rancher Server的主機(jī)注冊地址。注意必須包括Rancher Server暴露的端口號。默認(rèn)情況下我們建議按照安裝手冊中使用8080端口。
主機(jī)注冊更新后,進(jìn)入基礎(chǔ)架構(gòu)->添加主機(jī)->自定義。添加主機(jī)的docker run命令將會(huì)更新。使用更新的命令,在Rancher Server的所有環(huán)境中的所有主機(jī)上運(yùn)行該命令。
10、Rancher Server運(yùn)行變得很慢,怎么去優(yōu)化它?很可能有一些任務(wù)由于某些原因而處于僵死狀態(tài),如果你能夠用界面查看系統(tǒng)管理 -> 系統(tǒng)進(jìn)程,你將可以看到Running中的內(nèi)容,如果這些任務(wù)長時(shí)間運(yùn)行(并且失敗),則Rancher會(huì)最終使用太多的內(nèi)存來跟蹤任務(wù)。這使得Rancher Server處于了內(nèi)存不足的狀態(tài)。
為了使服務(wù)變?yōu)榭身憫?yīng)狀態(tài),你需要添加更多內(nèi)存。通常4GB的內(nèi)存就夠了。
你需要再次運(yùn)行Rancher Server命令并且添加一個(gè)額外的選項(xiàng)-e JAVA_OPTS="-Xmx4096m"
docker run -d -p 8080:8080 --restart=unless-stopped -e JAVA_OPTS="-Xmx4096m" rancher/server
根據(jù)MySQL數(shù)據(jù)庫的設(shè)置方式的不同,你可能需要進(jìn)行升級才能添加該選項(xiàng)。
如果是由于缺少內(nèi)存而無法看到系統(tǒng)管理 -> 系統(tǒng)進(jìn)程的話,那么在重啟Rancher Server之后,已經(jīng)有了更多的內(nèi)存。你現(xiàn)在應(yīng)該可以看到這個(gè)頁面了,并可以開始對運(yùn)行時(shí)間最長的進(jìn)程進(jìn)行故障分析。
11、Rancher Server數(shù)據(jù)庫數(shù)據(jù)增長太快Rancher Server會(huì)自動(dòng)清理幾個(gè)數(shù)據(jù)庫表,以防止數(shù)據(jù)庫增長太快。如果對你來說這些表沒有被及時(shí)清理,請使用API來更新清理數(shù)據(jù)的時(shí)間間隔。
在默認(rèn)情況下,產(chǎn)生在2周以前的container_event和service_event表中的數(shù)據(jù)則數(shù)據(jù)會(huì)被刪除。在API中的設(shè)置是以秒為單位的(1209600)。API中的設(shè)置為events.purge.after.seconds。
默認(rèn)情況下,process_instance表在1天前產(chǎn)生的數(shù)據(jù)將會(huì)被刪除,在API中的設(shè)置是以秒為單位的(86400)。API中的設(shè)置為process_instance.purge.after.seconds。
為了更新API中的設(shè)置,你可以跳轉(zhuǎn)到http://
如果你剛開始運(yùn)行Rancher并發(fā)現(xiàn)它被永久凍結(jié),可能是liquibase數(shù)據(jù)庫上鎖了。在啟動(dòng)時(shí),liquibase執(zhí)行模式遷移。它的競爭條件可能會(huì)留下一個(gè)鎖定條目,這將阻止后續(xù)的流程。
如果你剛剛升級,在Rancher Server日志中,MySQL數(shù)據(jù)庫可能存在尚未釋放的日志鎖定。
....liquibase.exception.LockException: Could not acquire change log lock. Currently locked by
釋放數(shù)據(jù)庫鎖
注意:請不要釋放數(shù)據(jù)庫鎖,除非有相關(guān)日志鎖的異常。如果是由于數(shù)據(jù)遷移導(dǎo)致升級時(shí)間過長,在這種情況下釋放數(shù)據(jù)庫鎖,可能會(huì)使你遇到其他遷移問題。
如果你已根據(jù)升級文檔創(chuàng)建了Rancher Server的數(shù)據(jù)容器,你需要exec到rancher-data容器中升級DATABASECHANGELOGLOCK表并移除鎖,如果你沒有創(chuàng)建數(shù)據(jù)容器,你用exec到包含有你數(shù)據(jù)庫的容器中。
sudo docker exec -itmysql
一旦進(jìn)入到 Mysql 數(shù)據(jù)庫,你就要訪問cattle數(shù)據(jù)庫。
13、管理員密碼忘記了,我該如何重置管理員密碼?如果你的身份認(rèn)證出現(xiàn)問題(例如管理員密碼忘記),則可能無法訪問Rancher。要重新獲得對Rancher的訪問權(quán)限,你需要在數(shù)據(jù)庫中關(guān)閉訪問控制。為此,你需要訪問運(yùn)行Rancher Server的主機(jī)。
ps:假設(shè)在重置訪問控制之前有創(chuàng)建過其他用戶,那么在認(rèn)證方式?jīng)]有變化的情況下,重置訪問控制除了超級管理員(第一個(gè)被創(chuàng)建的管理員,ID為1a1),其他用戶賬號信息不會(huì)受影響。
假設(shè)數(shù)據(jù)庫為rancher內(nèi)置數(shù)據(jù)庫
docker exec -itmysql
注意: 這個(gè)
是具有Rancher數(shù)據(jù)庫的容器。如果你升級并創(chuàng)建了一個(gè)Rancher數(shù)據(jù)容器,則需要使用Rancher數(shù)據(jù)容器的ID而不是Rancher Server容器,rancher內(nèi)置數(shù)據(jù)庫默認(rèn)密碼為空。
選擇Cattle數(shù)據(jù)庫。
mysql> use cattle;
查看setting表。
mysql> select * from setting;
更改api.security.enabled為false,并清除api.auth.provider.configured的值。
確認(rèn)更改在setting表中是否生效。
mysql> select * from setting;
可能需要約1分鐘才能在用戶界面中關(guān)閉身份認(rèn)證,然后你可以通過刷新網(wǎng)頁來登陸沒有訪問控制的Rancher Server。
關(guān)閉訪問控制后,任何人都可以使用UI/API訪問Rancher Server。
刷新頁面,在系統(tǒng)管理/訪問控制 重新開啟訪問控制。重新開啟訪問控制填寫的管理員用戶名將會(huì)替換原有的超級管理員用戶名(ID為1a1 )。
14、Rancher Compose Executor和Go-Machine-Service不斷重啟在高可用集群中,如果你正在使用代理服務(wù)器后,如果rancher-compose-executor和go-machine-service不斷重啟,請確保你的代理使用正確的協(xié)議。
15、為什么在日志中看到Go-Machine-Service在不斷重新啟動(dòng)?我該怎么辦?Go-machine-service是一種通過websocket連接到Rancher API服務(wù)器的微服務(wù)。如果無法連接,則會(huì)重新啟動(dòng)并再次嘗試。如果你運(yùn)行的是單節(jié)點(diǎn)的Rancher Server,它將使用你為主機(jī)注冊地址來連接到Rancher API服務(wù)。檢查從Rancher Sever容器內(nèi)部是否可以訪問主機(jī)注冊地址。
docker exec -itbash 在 Rancher-Server 容器內(nèi) curl -i /v1
你應(yīng)該得到一個(gè)json響應(yīng)。如果認(rèn)證開啟,響應(yīng)代碼應(yīng)為401。如果認(rèn)證未打開,則響應(yīng)代碼應(yīng)為200。 驗(yàn)證Rancher API Server 能夠使用這些變量,通過登錄go-machine-service容器并使用你提供給容器的參數(shù)進(jìn)行curl命令來驗(yàn)證連接:
docker exec -itbash 在go-machine-service 容器內(nèi) curl -i -u " : "
你應(yīng)該得到一個(gè)json響應(yīng)和200個(gè)響應(yīng)代碼。如果curl命令失敗,那么在go-machine-service和Rancher API server之間存在連接問題。如果curl命令沒有失敗,則問題可能是因?yàn)間o-machine-service嘗試建立websocket連接而不是普通的http連接。如果在go-machine-service和Rancher API服務(wù)器之間有代理或負(fù)載平衡,請驗(yàn)證代理是否支持websocket連接。
16、Rancher Catalog 多久同步一次http://X.X.X.X/v1/settings/ca... 默認(rèn)300秒,可以修改,點(diǎn)setting會(huì)立即更新。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/27163.html
摘要:日志會(huì)顯示令牌過期的信息,隨后檢查主機(jī)和主機(jī)的時(shí)鐘是否同步。如果這個(gè)子網(wǎng)已經(jīng)被使用,你將需要更改網(wǎng)絡(luò)中使用的默認(rèn)子網(wǎng)。如果負(fù)載均衡器處于初始化狀態(tài),則很可能主機(jī)之間無法進(jìn)行跨主機(jī)通信。而一直顯示黃色初始化狀態(tài),說明一直沒有通過健康檢查。 一、服務(wù)/容器 1、為什么我只能編輯容器的名稱? Docker容器在創(chuàng)建之后就不可更改了。唯一可更改的內(nèi)容是我們要存儲(chǔ)的不屬于Docker容器本身的那...
摘要:爆出中等嚴(yán)重性安全漏洞拒絕服務(wù)漏洞。本文將進(jìn)行漏洞解讀和情景再現(xiàn),并分享漏洞修復(fù)方案,用戶來看應(yīng)對之策了漏洞美國當(dāng)?shù)貢r(shí)間年月日,社區(qū)發(fā)布了拒絕服務(wù)的漏洞,即有寫入權(quán)限的用戶在寫入資源時(shí)會(huì)導(dǎo)致過度消耗資源,此漏洞被評級為中等嚴(yán)重性。 Kubernetes爆出中等嚴(yán)重性安全漏洞——Kubernetes API Server拒絕服務(wù)漏洞CVE-2019-1002100。 本文將進(jìn)行漏洞解讀和...
摘要:當(dāng)企業(yè)的運(yùn)維團(tuán)隊(duì)去維護(hù)一個(gè)彈性的容器集群時(shí),傳統(tǒng)的軟件部署方式需要向容器遷移,這個(gè)過程中需要有風(fēng)險(xiǎn)預(yù)判和規(guī)避之道。但是這樣會(huì)有些問題,就是大部分鏡像都是基于構(gòu)建的,這會(huì)和樹莓派的很不兼容。多次嘗試后狀態(tài)被破壞刪庫重試,重啟大法好。 當(dāng)前技術(shù)世界的發(fā)展形勢就是讓開發(fā)人員從繁瑣的應(yīng)用配置和管理中解放出來,使用容器鏡像來處理復(fù)雜的程序運(yùn)行依賴庫的需求,保證代碼運(yùn)行環(huán)境的一致性。既然這樣的好處...
閱讀 1660·2019-08-30 13:04
閱讀 2213·2019-08-30 12:59
閱讀 1775·2019-08-29 18:34
閱讀 1868·2019-08-29 17:31
閱讀 1263·2019-08-29 15:42
閱讀 3543·2019-08-29 15:37
閱讀 2864·2019-08-29 13:45
閱讀 2776·2019-08-26 13:57