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