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