您好,登錄后才能下訂單哦!
這篇文章主要介紹“FAQ常見問題排查與修復方法是什么”,在日常操作中,相信很多人在FAQ常見問題排查與修復方法是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”FAQ常見問題排查與修復方法是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
Docker容器在創建之后就不可更改了。唯一可更改的內容是我們要存儲的不屬于Docker容器本身的那一部分數據。無論是停止、啟動或是重新啟動,它始終在使用相同的容器。如需改變任何內容都需要刪除或重新創建一個容器。
你可以克隆,即選擇已存在的容器,并基于已有容器的配置提前在添加服務界面中填入所有要設置的內容,如果你忘記填入某項內容,可以通過克隆來改變它之后刪除舊的容器。
在Docker中,關聯容器(在docker run中使用--link)的ID和IP地址會出現在容器的/etc/hosts中。在Rancher中,我們不需要更改容器的/etc/hosts文件,而是通過運行一個內部DNS服務器來關聯容器,DNS服務器會返回給我們正確的IP。
Agent主機有可能會暴露在公網上,Agent上接受到的訪問容器命令行或者日志的請求是不可信的。Rancher Server中發出的請求包括一個JWT(JSON Web Token),JWT是由服務器簽名并且可由Agent校驗的,Agent可以判斷出請求是否來自服務器,JWT中包括了有效期限,有效期為5分鐘。這個有效期可以防止它被長時間使用。如果JWT被攔截而且沒有用SSL時,這一點尤為重要。
如果你運行docker logs -f (rancher-agent名稱或ID)。日志會顯示令牌過期的信息,隨后檢查Rancher Server主機和Rancher Agent主機的時鐘是否同步。
在服務的詳細頁中,我們提供了一個服務日志的頁簽日志。在日志頁簽中,列出了和服務相關的所有事件,包括時間戳和事件相關描述,這些日志將會保留24小時。
如果RANCHER SERVER 運行在V1.6.2版本,點擊WEB shell出現白屏,這是UI上的一個BUG,請選擇升級server服務。
如果容器運行在不同主機上,不能夠ping通彼此,可能是由一些常見的問題引起的。
在應用->基礎設施中,檢查 healthcheck 應用的狀態。如果是active跨主機通信就是正常的。
手動測試,你可以進入任何一個容器中,去ping另一個容器的內部IP。在主機頁面中可能會隱藏掉基礎設施的容器,如需查看點擊“顯示系統容器”的復選框。
有時,Docker網橋的IP地址會被錯誤的作為了主機IP,而并沒有正確的選擇真實的主機IP。這個錯誤的IP通常是172.17.42.1或以172.17.x.x開頭的IP。如果是這種情況,在使用docker run命令添加主機時,請用真實主機的IP地址來配置CATTLE_AGENT_IP環境變量。
sudo docker run -d -e CATTLE_AGENT_IP=<HOST_IP> --privileged \ -v /var/run/docker.sock:/var/run/docker.sock \ rancher/agent:v0.8.2 http://SERVER_IP:8080/v1/scripts/xxxx
Rancher Overlay網絡默認使用的子網是10.42.0.0/16。如果這個子網已經被使用,你將需要更改Rancher網絡中使用的默認子網。你要確保基礎設施服務里的Network組件中使用著合適的子網。這個子網定義在該服務的rancher-compose.yml文件中的default_network里。
要更改Rancher的IPsec或VXLAN網絡驅動,你將需要在環境模版中修改網絡基礎設施服務的配置。創建新環境模板或編輯現有環境模板時,可以通過單擊編輯來配置網絡基礎結構服務的配置。在編輯頁面中,選擇配置選項>子網輸入不同子網,點擊配置。在任何新環境中將使用環境模板更新后的子網,編輯已經有的環境模板不會更改現在已有環境的子網。
這個實例是通過升級網絡驅動的rancher-compose.yml文件去改變子網為10.32.0.0/16。
ipsec: network_driver: name: Rancher IPsec default_network: name: ipsec host_ports: true subnets: # After the configuration option is updated, the default subnet address is updated - network_address: 10.32.0.0/16 dns: - 169.254.169.250 dns_search: - rancher.internal cni_config: '10-rancher.conf': name: rancher-cni-network type: rancher-bridge bridge: docker0 # After the configuration option is updated, the default subnet address is updated bridgeSubnet: 10.32.0.0/16 logToFile: /var/log/rancher-cni.log isDebugLevel: false isDefaultGateway: true hostNat: true hairpinMode: true mtu: 1500 linkMTUOverhead: 98 ipam: type: rancher-cni-ipam logToFile: /var/log/rancher-cni.log isDebugLevel: false routes: - dst: 169.254.169.250/32
注意:隨著Rancher通過升級基礎服務來更新子網,以前通過API更新子網的方法將不再適用。
Vxlan 通過4789端口實現通信,檢查防火墻有沒有開放此端口;
執行iptables -t filter -L -n參看IPtable表,查看chain FORWARD 是不是被丟棄,如果是,執行sudo iptables -P FORWARD ACCEPT
如果你想查看Rancher DNS配置,點擊應用 > 基礎服務。點擊network-services應用,選擇metadata,在metadata中,找到名為network-services-metadata-dns-X的容器,通過UI點擊執行命令行后,可以進入該容器的命令行,然后執行如下命令。
cat /etc/rancher-dns/answers.json
如果你的系統開啟了UFW,請關閉UFW或更改/etc/default/ufw中的策略為:
DEFAULT_FORWARD_POLICY="ACCEPT"
負載均衡器自動對其啟用健康檢查。如果負載均衡器處于初始化狀態,則很可能主機之間無法進行跨主機通信。
如果要查看負載均衡器的配置,你需要用進入負載均衡器容器內部查找配置文件,你可以在頁面選擇負載均衡容器的執行命令行
cat /etc/haproxy/haproxy.cfg
該文件將提供負載均衡器的所有配置詳細信息。
HAProxy的日志可以在負載均衡器容器內找到。負載均衡器容器的docker logs只提供與負載均衡器相關的服務的詳細信息,但不提供實際的HAProxy日志記錄。
cat /var/log/haproxy
如圖,在自定義配置中,按照global、defaults、frontend、backend的格式配置。
healthcheck不僅為其他服務提供健康檢查,對系統組件(比如調度服務)也提供健康檢查服務,healthcheck也對自己進行健康檢查。多個healthcheck組件時,它們會相互交叉檢查,只有健康檢查通過后,容器狀態才會變成綠色。而healthcheck一直顯示黃色初始化狀態,說明一直沒有通過健康檢查。健康檢查都是通過網絡訪問的,所以一定是網絡通信異常導致。
為什么節點關機后,應用沒有自動調度到其他節點上?Rancher上應用的調度,需要配合健康檢查功能。當健康檢查檢查到應用不健康才會重新調度,如果沒有配置健康檢查,即使關機,cattle也不會對應用做調度處理。
如果你在主機上運行一個容器(如:docker run -it ubuntu)該容器不能與互聯網或其他主機通信,那可能是遇到了網絡問題。Centos默認設置/proc/sys/net/ipv4/ip_forward為0,這從底層阻斷了Docker所有網絡。
解決辦法:
vi /usr/lib/sysctl.d/00-system.conf
添加如下代碼:
net.ipv4.ip_forward=1 net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 net.bridge.bridge-nf-call-arptables = 1
重啟network服務
systemctl restart network
查看是否修改成功
sysctl net.ipv4.ip_forward
如果返回為net.ipv4.ip_forward = 1則表示成功了
到此,關于“FAQ常見問題排查與修復方法是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。