欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線(xiàn)實(shí)戰(zhàn)洞察。

Kubernetes Pod 重啟排查全流程:狀態(tài)、事件、日志與根因定位

Kubernetes Pod 重啟排查全流程:狀態(tài)、事件、日志與根因定位 搞 Kubernetes 的誰(shuí)還沒(méi)被 Pod 重啟折磨過(guò)尤其是在線(xiàn)上環(huán)境上一小時(shí)告警還風(fēng)平浪靜下一秒突然彈出通知Pod 頻繁重啟、服務(wù)間歇性不可用甚至直接 CrashLoopBackOff。十次有八次大家第一反應(yīng)是趕緊看日志結(jié)果日志一片正常越查越懵最后只能重啟大法把 Pod 刪了讓 Deployment 重新拉一個(gè)看似好了但過(guò)幾個(gè)小時(shí)又復(fù)發(fā)。以我排查過(guò)幾十個(gè) Pod 重啟問(wèn)題的經(jīng)驗(yàn)來(lái)看這類(lèi)問(wèn)題真正難的地方不是“查不到”而是“查的先后順序不對(duì)”。狀態(tài)、事件、日志、節(jié)點(diǎn)這四層信息必須按順序看順序一亂很容易被表象帶偏。這篇文章就把我平時(shí)排查 POD 重啟問(wèn)題的一套完整流程拆開(kāi)講清楚包括怎么看狀態(tài)、怎么讀事件、什么時(shí)候才輪到日志以及最常見(jiàn)的幾個(gè)根因和那些容易誤判的干擾項(xiàng)。不管你是剛?cè)腴T(mén) Kubernetes 的運(yùn)維還是天天跟 Deployment、ConfigMap、探針打交道的開(kāi)發(fā)這套思路應(yīng)該都能幫你少走不少?gòu)澛贰?. 先從現(xiàn)象說(shuō)起Pod 重啟并不都是 CrashLoopBackOff很多人一看到 Pod 重啟腦子里自動(dòng)就蹦出“CrashLoopBackOff”這個(gè)詞但實(shí)際上“重啟”這兩個(gè)字在 Kubernetes 里對(duì)應(yīng)著好幾種完全不同的現(xiàn)象每種現(xiàn)象的排查入口完全不一樣。如果連現(xiàn)象都沒(méi)分清楚就開(kāi)始查日志大概率會(huì)被帶進(jìn)死胡同。1.1 Pod “重啟”的三個(gè)層面先別混為一談第一層是容器內(nèi)進(jìn)程退出后被殺掉重啟。這個(gè)層面下Pod 本身沒(méi)有消失Running 狀態(tài)還在但容器里的主進(jìn)程曾經(jīng)退出過(guò)Kubelet 按照重啟策略把它重新拉起來(lái)了。表現(xiàn)是RESTARTS這個(gè)字段在漲但 Pod 的名字、UID 都沒(méi)變。第二層是 Pod 被刪除后重建。這種情況常見(jiàn)于 Deployment 滾動(dòng)更新、節(jié)點(diǎn)故障、Pod 被驅(qū)逐Evicted。表現(xiàn)是 Pod 的名字變了比如帶了一串-xxxxx的 hash 后綴或者 AGE 突然變成幾秒鐘。這其實(shí)不是“容器重啟”而是“整個(gè) Pod 生命周期重建”。第三層是節(jié)點(diǎn)重啟導(dǎo)致所有 Pod 重新調(diào)度。節(jié)點(diǎn)宕機(jī)、系統(tǒng)維護(hù)、硬件故障等情況上面所有 Pod 都會(huì)被迫遷移到其他節(jié)點(diǎn)甚至直接失聯(lián)后重建。這時(shí)候你會(huì)看到一批 Pod 的 AGE 幾乎在同一時(shí)間重置而且分布在不同節(jié)點(diǎn)上。這三層我習(xí)慣用一個(gè)生活類(lèi)比來(lái)理解容器重啟等于餐廳廚房里某個(gè)廚師干得好好的突然被換掉餐廳本身還在營(yíng)業(yè)Pod 重建等于整個(gè)店重新裝修了桌子和菜單全部換新節(jié)點(diǎn)重啟等于整棟樓斷電里面所有店鋪都得重新開(kāi)張。排查入口完全不同所以開(kāi)工第一步一定是先確認(rèn)“你遇到的到底是哪一層”。實(shí)際操作中用一條kubectl get pods -n namespace -o wide就能看出不少信息如果 Pod NAME 后綴變了說(shuō)明 Pod 被重建過(guò)如果 NAME 沒(méi)變但 RESTARTS 在漲說(shuō)明是容器反復(fù)重啟再配合 NODE 字段和 AGE節(jié)點(diǎn)層面的干擾也有跡可循。1.2 STATUS 和 RESTARTS 里藏著最直接的線(xiàn)索kubectl get pods的結(jié)果里有幾個(gè)字段非常容易被忽略但其實(shí)信息量很大。STATUS 是你最先應(yīng)該看的它告訴你 Pod 處于什么階段RESTARTS 告訴你當(dāng)前容器重啟了多少次AGE 告訴你這個(gè) Pod 已經(jīng)存活了多久。這里有個(gè)很關(guān)鍵的細(xì)節(jié)如果 Pod 曾經(jīng)被刪除重建RESTARTS 會(huì)歸零因?yàn)樾碌?Pod 里容器是全新啟動(dòng)的。所以你如果看到一個(gè) Pod 的 AGE 只有幾分鐘但 RESTARTS 顯示 10 次說(shuō)明這個(gè) Pod 很穩(wěn)定地“活著”但沒(méi)有“活得健康”容器一直在被殺又重啟卻沒(méi)觸發(fā) Pod 重建——這種通常和探針有關(guān)。反過(guò)來(lái)如果看到一批 Pod 的 AGE 都只有幾秒RESTARTS 也是 0那大概率是 Deployment 滾動(dòng)更新或者節(jié)點(diǎn)故障觸發(fā)了整體重建根本不是“某個(gè)應(yīng)用崩了”而是上層動(dòng)作導(dǎo)致的。STATUS 的值也分好幾種CrashLoopBackOff表示容器啟動(dòng)后反復(fù)退出Kubelet 用了指數(shù)退避策略重啟間隔會(huì)越來(lái)越長(zhǎng)Running表示容器正在運(yùn)行但如果 RESTARTS 一直在漲說(shuō)明有探針在殺它Error通常是容器執(zhí)行完但退出時(shí)出錯(cuò)Completed是正常執(zhí)行完就退出常用于一次性任務(wù)Evicted則是被節(jié)點(diǎn)驅(qū)逐這個(gè)后面會(huì)專(zhuān)門(mén)說(shuō)。先把這個(gè)表格刻在腦子里看到什么狀態(tài)就知道往哪個(gè)方向查。STATUS含義優(yōu)先排查方向CrashLoopBackOff容器反復(fù)啟動(dòng)即退出退避重啟退出碼、啟動(dòng)命令、配置掛載Running RESTARTS 漲容器活著但被健康檢查殺掉Liveness/Readiness 探針配置OOMKilled容器內(nèi)存超過(guò) limits 被內(nèi)核殺死內(nèi)存配額、應(yīng)用內(nèi)存占用EvictedPod 被節(jié)點(diǎn)驅(qū)逐節(jié)點(diǎn)磁盤(pán)/內(nèi)存壓力Error容器異常退出退出碼、應(yīng)用日志Completed正常退出一次性任務(wù)一般無(wú)需處理2. 排查第一件事先分清是誰(shuí)在重啟當(dāng)你確定 “Pod 確實(shí)在重啟” 之后第一件事不是抓日志而是用kubectl describe看清楚這輪重啟的“案發(fā)現(xiàn)場(chǎng)”。我會(huì)把這步叫作“看尸檢報(bào)告”因?yàn)槿萜鞅恢貑⒑笊弦惠嗊M(jìn)程的狀態(tài)、退出時(shí)間、退出碼、被誰(shuí)殺掉的這些都記錄在 Pod 的狀態(tài)里不先看這些就直接翻日志等于跳過(guò)報(bào)告去猜死因非常容易漏掉關(guān)鍵信息。2.1 用 kubectl describe pod 讀重啟的“尸檢報(bào)告”kubectl describe pod pod-name -n namespace輸出的內(nèi)容很長(zhǎng)但核心就幾個(gè)區(qū)域。最上面是 Pod 基本信息包括 Node、IP、QoS 等級(jí)中間的 Conditions 反映 Ready、PodScheduled、Initialized 等狀態(tài)再往下是容器列表每個(gè)容器下面有 State、Last State、Exit Code、Reason 和 Started/Finished 時(shí)間最后是滾動(dòng)的 Events 時(shí)間線(xiàn)。我重點(diǎn)看的是 Last State 那一塊。Last State 里會(huì)記錄上一個(gè)容器的終止時(shí)間和退出碼如果顯示 TerminatedReason 是 Completed 還是 ErrorExit Code 是多少這決定了排查方向。舉個(gè)例子如果 Exit Code 是 0說(shuō)明上一個(gè)進(jìn)程是被“正常結(jié)束”的通常意味著有人刪 Pod、滾動(dòng)更新觸發(fā)優(yōu)雅終止或者探針之外的機(jī)制主動(dòng)殺了它如果 Exit Code 是 137對(duì)應(yīng) 128 9也就是 SIGKILL這往往是被 OOM Killer 或者外部 kill 命令強(qiáng)殺的如果是 143對(duì)應(yīng) 128 15也就是 SIGTERM通常是收到了優(yōu)雅終止信號(hào)但沒(méi)處理完如果是 1、2 這種就是應(yīng)用自身啟動(dòng)失敗或運(yùn)行錯(cuò)誤。這里面的坑是137 并不完全等同于內(nèi)存超限。Kubelet 主動(dòng)殺掉容器時(shí)Exit Code 也可能被標(biāo)記為 137尤其是探針失敗、節(jié)點(diǎn)驅(qū)逐、手動(dòng)刪除容器這些場(chǎng)景也會(huì)走 SIGKILL。所以看到 137 先別急著下“肯定是 OOM”的結(jié)論得繼續(xù)看 Reason 字段。如果 Reason 寫(xiě)的是 OOMKilled那才是內(nèi)存原因如果 Reason 是 ContainerCannotRun 或者空那就要再往 Events 里找。2.2 一份退出碼速查表排查時(shí)對(duì)照著看我整理過(guò)一份簡(jiǎn)化版的退出碼速查表排查時(shí)貼在終端旁邊非常實(shí)用Exit Code含義常見(jiàn)場(chǎng)景0正常退出任務(wù)執(zhí)行完、主動(dòng)退出、優(yōu)雅終止1通用應(yīng)用錯(cuò)誤啟動(dòng)失敗、配置錯(cuò)誤、運(yùn)行時(shí)異常2參數(shù)/環(huán)境錯(cuò)誤啟動(dòng)腳本參數(shù)不對(duì)、依賴(lài)缺失126命令不可執(zhí)行權(quán)限問(wèn)題、或動(dòng)態(tài)鏈接庫(kù)缺失127命令不存在entrypoint/command 寫(xiě)錯(cuò)、鏡像缺少命令137SIGKILL內(nèi)存 OOM、被強(qiáng)殺、節(jié)點(diǎn)壓力143SIGTERM優(yōu)雅終止超時(shí)后被 SIGKILL 跟進(jìn)有一次我排查一個(gè) Java 應(yīng)用頻繁重啟describe 里顯示 Exit Code 是 137Reason 是 OOMKilled但看應(yīng)用日志根本沒(méi)打印任何 JVM 內(nèi)存溢出異常。后來(lái)才發(fā)現(xiàn)OOM 發(fā)生在容器總內(nèi)存層面應(yīng)用層根本來(lái)不及報(bào)錯(cuò)內(nèi)核直接把進(jìn)程殺了。這類(lèi)問(wèn)題如果只查日志永遠(yuǎn)找不到原因必須結(jié)合 describe 和節(jié)點(diǎn)層的內(nèi)存監(jiān)控一起看。2.3 一個(gè)很常見(jiàn)的誤判RESTARTS 高但 STATUS 是 Running很多新手看到 STATUS 是 Running 就覺(jué)得“沒(méi)問(wèn)題”實(shí)際上這是最容易被坑的場(chǎng)景之一。如果容器狀態(tài)是 Running但 RESTARTS 一直在漲最常見(jiàn)的原因是 Liveness 探針失敗——Kubelet 判斷容器不健康殺掉了它然后又按策略拉起來(lái)。這時(shí)候日志往往非?!罢!币?yàn)閼?yīng)用啟動(dòng)后確實(shí)能跑只是探針訪(fǎng)問(wèn)的端口或路徑在特定時(shí)刻響應(yīng)超時(shí)觸發(fā)了 kill。所以我的排查習(xí)慣是先看 STATUS 能排除掉很多方向再看 RESTARTS 的漲勢(shì)判斷是持續(xù)還是偶爾然后立刻kubectl describe看 Last State 和 Reason。如果這些都看完還不能定位才考慮日志。這個(gè)順序能幫你過(guò)濾掉至少一半的無(wú)效信息。3. 三個(gè)最常見(jiàn)的重啟根因與定位方法根據(jù)我這些年的經(jīng)驗(yàn)線(xiàn)上 Pod 重啟 80% 以上逃不出這三個(gè)方向健康檢查探針配置不合理、內(nèi)存資源限制導(dǎo)致 OOM、配置或鏡像問(wèn)題導(dǎo)致啟動(dòng)即退出。每一個(gè)都有比較典型的特征掌握一套對(duì)應(yīng)的定位方法排查效率能提升一大截。3.1 Liveness 探針配置不當(dāng)容器“死于”健康檢查這是我見(jiàn)過(guò)最多的一個(gè)坑也是最“玄學(xué)”的一類(lèi)問(wèn)題。容器明明進(jìn)程還在、端口也在監(jiān)聽(tīng)但 Kubelet 通過(guò) Liveness 探針檢查時(shí)發(fā)現(xiàn)不健康于是按照策略把容器殺了重啟。表現(xiàn)非常典型STATUS 是 RunningRESTARTS 持續(xù)上漲describe 里能看到 “Liveness probe failed” 和 “Killing container” 的事件但應(yīng)用側(cè)日志往往沒(méi)有致命報(bào)錯(cuò)。Liveness 探針有幾個(gè)參數(shù)會(huì)直接影響重啟行為initialDelaySeconds是容器啟動(dòng)后等待多久才開(kāi)始探測(cè)設(shè)短了會(huì)導(dǎo)致應(yīng)用還沒(méi)完全初始化就被探針判定失敗periodSeconds是探測(cè)頻率默認(rèn) 10 秒太頻繁會(huì)放大瞬時(shí)波動(dòng)timeoutSeconds是單次探測(cè)的超時(shí)時(shí)間默認(rèn)只有 1 秒這個(gè)非常容易踩雷——很多應(yīng)用的 HTTP 接口在 GC 停頓、慢查詢(xún)或瞬時(shí)高負(fù)載時(shí)響應(yīng)時(shí)間超過(guò) 1 秒很正常但探針等不了直接就失敗failureThreshold是連續(xù)失敗多少次才觸發(fā)重啟默認(rèn) 3 次。我踩過(guò)最慘的一次是一個(gè) Java 服務(wù)啟動(dòng)需要大概 40 秒但 YAML 里initialDelaySeconds配的是 10periodSeconds是 10failureThreshold是 3。等于說(shuō)應(yīng)用還在啟動(dòng)階段探針已經(jīng)開(kāi)始探測(cè)三次失敗后 Kubelet 直接殺容器重啟然后又是 40 秒啟動(dòng)又是 30 秒后被探針殺掉形成了一個(gè)永遠(yuǎn)起不來(lái)的循環(huán)。表面上看是 CrashLoopBackOff實(shí)際根因就是探針配置和實(shí)際啟動(dòng)時(shí)間不匹配。解決辦法很簡(jiǎn)單把initialDelaySeconds調(diào)大到 60讓?xiě)?yīng)用先完成啟動(dòng)再開(kāi)始健康檢查。這里要特別強(qiáng)調(diào)一個(gè)概念Readiness 探針和 Liveness 探針職責(zé)不同。Readiness 失敗只代表“這個(gè)容器暫時(shí)不能接收流量”Kubelet 會(huì)把它的 Endpoint 摘掉不會(huì)殺容器只有 Liveness 失敗才會(huì)觸發(fā)重啟。很多團(tuán)隊(duì)圖省事把 Readiness 和 Liveness 配成一模一樣結(jié)果一個(gè)接口偶發(fā)慢查詢(xún)集群里一堆副本進(jìn)入 NotReady 狀態(tài)甚至容器反復(fù)重啟流量反復(fù)轉(zhuǎn)移。如果你遇到 Pod “又重啟又看起來(lái)正?!钡那闆r先搞清楚到底是哪個(gè)探針在報(bào)錯(cuò)describe 的 Events 里會(huì)明確寫(xiě)。3.2 資源限制導(dǎo)致 OOMKilled進(jìn)程“安靜的”消失了容器重啟的第二個(gè)高頻根因是內(nèi)存超限。每個(gè)容器可以設(shè)置requests和limits其中 limits 是硬上限一旦容器內(nèi)存用量超過(guò)這個(gè)值內(nèi)核 OOM Killer 就會(huì)介入直接發(fā)送 SIGKILL 殺掉容器里最耗內(nèi)存的進(jìn)程。表現(xiàn)是 Pod STATUS 一度是 OOMKilled然后被 Kubelet 重啟RESTARTS 加一一段時(shí)間后又重復(fù)。describe 里會(huì)看到 Reason: OOMKilledExit Code: 137。定位 OOM 問(wèn)題有個(gè)很關(guān)鍵的坑容器被殺的時(shí)候應(yīng)用本身可能根本來(lái)不及打印任何錯(cuò)誤日志所以你在kubectl logs里看不到“OutOfMemory”之類(lèi)的字樣。正確做法是看kubectl describe的 Reason以及節(jié)點(diǎn)層面的dmesg輸出里面會(huì)出現(xiàn)oom-killer和對(duì)應(yīng)的進(jìn)程 PID。另外監(jiān)控曲線(xiàn)非常重要要看容器內(nèi)存是緩慢爬坡最終觸頂還是瞬間突刺。緩慢爬坡大概率是內(nèi)存泄漏瞬間突刺往往是業(yè)務(wù)高峰或某個(gè)大請(qǐng)求導(dǎo)致的那就需要從應(yīng)用層去限流或優(yōu)化。JVM 應(yīng)用是 OOM 重災(zāi)區(qū)中的重災(zāi)區(qū)。很多團(tuán)隊(duì)把容器 limits 設(shè)成 4Gi但在 JVM 啟動(dòng)參數(shù)里把堆設(shè)成-Xmx3g看著好像沒(méi)問(wèn)題實(shí)際上 JVM 除了堆還有元空間、線(xiàn)程棧、JIT 編譯緩存、堆外內(nèi)存等一大堆開(kāi)銷(xiāo)加起來(lái)輕松超過(guò) 4Gi。換句話(huà)說(shuō)容器 limits 不足堆還沒(méi)到上限整個(gè)容器先被殺了。經(jīng)驗(yàn)做法是-Xmx不要超過(guò)容器 limits 的 60%—70%預(yù)留出堆外和系統(tǒng)層面的緩沖。這個(gè)問(wèn)題如果不用 describe 和內(nèi)存監(jiān)控一起看很容易誤判成“Java 進(jìn)程崩了”實(shí)際上容器層面先你一步動(dòng)了手。3.3 配置或鏡像問(wèn)題導(dǎo)致進(jìn)程啟動(dòng)即退出CrashLoopBackOff 的老熟人第三種常見(jiàn)根因就是容器啟動(dòng)起來(lái)之后立刻崩潰導(dǎo)致 Kubelet 反復(fù)拉起進(jìn)入 CrashLoopBackOff。這種問(wèn)題的特征最明顯STATUS 直接是 CrashLoopBackOff退出碼往往非 0。但“啟動(dòng)即退出”的誘因很多我把它拆成幾類(lèi)逐步排查。第一類(lèi)是啟動(dòng)命令或入口配置錯(cuò)誤。Deployment 里command和args寫(xiě)錯(cuò)比如指向了一個(gè)不存在的文件鏡像沒(méi)有那個(gè)二進(jìn)制就會(huì)報(bào) Exit Code 127command not found如果二進(jìn)制存在但沒(méi)有執(zhí)行權(quán)限Exit Code 是 126。這類(lèi)問(wèn)題查起來(lái)最直接kubectl logs看一下就會(huì)看到 “exec: ...: not found” 或者權(quán)限錯(cuò)誤。第二類(lèi)是 ConfigMap 掛載問(wèn)題。Deployment 通過(guò) volume 掛載 ConfigMap 時(shí)如果 key 不存在、路徑寫(xiě)錯(cuò)了、或者掛載的配置文件名和應(yīng)用預(yù)期不一致應(yīng)用啟動(dòng)時(shí)找不到配置文件就直接退出。這類(lèi)問(wèn)題的坑在于它可能不是每次都會(huì)失敗因?yàn)槟承?yīng)用會(huì)根據(jù)環(huán)境變量或默認(rèn)值兜底只在特定條件下才讀某個(gè) key。我遇到過(guò)一個(gè)典型場(chǎng)景項(xiàng)目里把一個(gè) ConfigMap 的 key 從APP_CONF改成了app.confDeployment 里的掛載路徑也改了但新版本鏡像里的啟動(dòng)腳本讀的還是舊路徑線(xiàn)上直接 CrashLoopBackOffdescribe 里只看到MountVolume.SetUp failed的 events應(yīng)用日志基本為空或者只有一行 “file not found”。第三類(lèi)是啟動(dòng)腳本依賴(lài)外部依賴(lài)。比如應(yīng)用啟動(dòng)時(shí)要連接數(shù)據(jù)庫(kù)、Redis、或者注冊(cè)中心如果這些依賴(lài)沒(méi)就緒或者地址配錯(cuò)應(yīng)用會(huì)連接失敗后直接退出。這種在微服務(wù)架構(gòu)里特別常見(jiàn)癥狀和“代碼有問(wèn)題”非常像。排查時(shí)先看啟動(dòng)日志里的報(bào)錯(cuò)信息是connect refused還是unknown host前者查網(wǎng)絡(luò)和端口后者查 DNS 解析和 Service 配置。這里也順帶提醒一句不要一看到 CrashLoopBackOff 就懷疑代碼質(zhì)量先檢查配置聲明、環(huán)境變量、掛載卷再往深處挖。4. 從事件到日志一層層剝開(kāi)真相當(dāng)狀態(tài)、事件都看完了還沒(méi)有鎖定根因下一步才是日志。但日志的打開(kāi)方式也有講究很多人一頭扎進(jìn)kubectl logs猛翻結(jié)果看到的是重啟之后的“新”進(jìn)程日志上一輪進(jìn)程退出前寫(xiě)的“遺言”根本沒(méi)看見(jiàn)。4.1 kubectl logs --previous 才能看到上一輪的“遺言”在容器被重啟之后kubectl logs默認(rèn)顯示的是當(dāng)前容器進(jìn)程的輸出。如果當(dāng)前進(jìn)程又活了但上一輪是崩潰退出的你真正需要的是上一個(gè)進(jìn)程留下的日志。這時(shí)候必須加--previous參數(shù)kubectl logs pod-name -n namespace --previous --tail50這個(gè)命令會(huì)返回上一次容器實(shí)例的日志也就是崩潰前打印的最后 50 行。很多 CrashLoopBackOff 的真相就藏在這幾十行里。比如啟動(dòng)腳本報(bào)Caused by: java.lang.IllegalArgumentException: ...或者 Python 直接 traceback一目了然。有個(gè)需要注意的細(xì)節(jié)如果容器狀態(tài)已經(jīng)是 CrashLoopBackOffKubelet 會(huì)按退避策略等待一段時(shí)間才重啟下一次但--previous日志只在容器被重建之前有效。如果 Pod 已經(jīng)被刪除重建歷史容器日志就沒(méi)了。所以要趁重啟間隙趕緊抓或者用-f持續(xù)跟蹤當(dāng)前日志等到下一次崩潰瞬間的尾部輸出。我自己還會(huì)把日志推到 stdout 的同時(shí)寫(xiě)到本地文件萬(wàn)一崩潰太頻繁至少本地文件能留底。4.2 kubectl get events 是重建時(shí)間線(xiàn)的最好工具事件Events是 Kubernetes 的審計(jì)日志記錄了 Pod 生命周期里的每一個(gè)關(guān)鍵動(dòng)作。排查重啟問(wèn)題時(shí)我會(huì)把 Events 按時(shí)間排好序看一遍基本能把“誰(shuí)在什么時(shí)候干了什么”還原出來(lái)kubectl get events -n namespace --sort-by.lastTimestamp如果 Pod 很多可以加--field-selector只看目標(biāo) Podkubectl get events -n namespace --field-selector involvedObject.namepod-name --sort-by.lastTimestampEvents 里最有價(jià)值的幾類(lèi)信息Scheduled說(shuō)明 Pod 被調(diào)度到哪個(gè)節(jié)點(diǎn)Created/Started是容器創(chuàng)建的節(jié)點(diǎn)Killing或者Unhealthy往往是觸發(fā)重啟的直接原因Evicted則說(shuō)明是節(jié)點(diǎn)壓力導(dǎo)致驅(qū)逐。有一次我排查一個(gè) Pod 頻繁重啟應(yīng)用日志干凈得不行但 Events 里反復(fù)出現(xiàn)Liveness probe failed: HTTP probe failed with statuscode: 500緊接著又是Killing container。這一下就把嫌疑集中到了探針和它后面的應(yīng)用路徑上再往應(yīng)用層查探針接口為什么偶發(fā) 500就順理成章了。我在團(tuán)隊(duì)里常說(shuō)一句話(huà)Events 是案發(fā)現(xiàn)場(chǎng)的監(jiān)控錄像日志只是兇手臨走前留下的字條。先看錄像再讀字條順序不要反。很多人在kubectl logs里耗兩小時(shí)回頭一看 Events 里早就寫(xiě)得明明白白。4.3 別忽略節(jié)點(diǎn)層面kubelet 日志和節(jié)點(diǎn)健康狀況如果是節(jié)點(diǎn)層面的問(wèn)題比如 kubelet 崩潰、磁盤(pán)滿(mǎn)了、節(jié)點(diǎn)內(nèi)存不足光看 Pod 內(nèi)部的信息是看不出來(lái)的。這時(shí)候需要把視野從 Pod 提升到 Node 層。一條比較有用的命令是journalctl -u kubelet -n 200 --no-pagerkubelet 日志里能看到它對(duì)某個(gè)容器的SyncLoop判斷、探針失敗記錄、驅(qū)逐決策等信息。節(jié)點(diǎn)磁盤(pán)滿(mǎn)會(huì)導(dǎo)致鏡像拉取失敗、容器日志寫(xiě)不進(jìn)去甚至觸發(fā) Pod 驅(qū)逐節(jié)點(diǎn)內(nèi)存壓力觸發(fā)系統(tǒng) OOM 或者 Eviction Manager 介入Pod 會(huì)被標(biāo)記為Evicted。這些在 Pod 的 Events 里能看到但根因在節(jié)點(diǎn)上不結(jié)合起來(lái)看就容易誤判成應(yīng)用問(wèn)題。另外DNS 和網(wǎng)絡(luò)配置也經(jīng)常背鍋。有些應(yīng)用啟動(dòng)時(shí)需要解析外部的服務(wù)域名如果節(jié)點(diǎn)上的 DNS 配置有問(wèn)題Pod 里解析一直失敗應(yīng)用就反復(fù)啟動(dòng)退出。這種問(wèn)題我們?cè)?K8s 里排查時(shí)也可以借鑒一個(gè)思路系統(tǒng)層面“重啟能恢復(fù)”的怪毛病往往和某個(gè)服務(wù)狀態(tài)異常有關(guān)比如 DNS 緩存、網(wǎng)絡(luò)棧狀態(tài)先在事件里把時(shí)間點(diǎn)對(duì)齊再判斷到底是哪一層出了問(wèn)題。4.4 實(shí)操?gòu)?fù)盤(pán)一次 Java 服務(wù)頻繁重啟的完整排查說(shuō)一個(gè)我印象很深的實(shí)際案例。當(dāng)時(shí)線(xiàn)上有個(gè) Java 服務(wù)告警顯示 Pod RESTARTS 每隔 10 分鐘左右漲一次STATUS 一直是 Running。團(tuán)隊(duì)里有人說(shuō)“狀態(tài)正??赡苁钦`報(bào)”但我看 RESTARTS 在漲就知道肯定有東西在殺容器。我執(zhí)行的第一條命令是kubectl describe pod看到 Last State 顯示 Exit Code 137但 Reason 并不是 OOMKilled而是空。這說(shuō)明不是內(nèi)存問(wèn)題那就有可能是探針失敗后 Kubelet 主動(dòng) SIGKILL。然后我用kubectl get events --sort-by.lastTimestamp看了一下時(shí)間線(xiàn)里面清楚地寫(xiě)著Unhealthy和Liveness probe failed: HTTP probe failed with statuscode: 500。再往前幾條 Events是/healthz返回 500 后探針連續(xù)失敗。接下來(lái)我沒(méi)有繼續(xù)翻業(yè)務(wù)日志而是先看探針配置timeoutSeconds默認(rèn)是 1 秒但服務(wù)的/healthz接口在 GC 發(fā)生時(shí)會(huì)偶爾慢過(guò) 1 秒。FS 小哥也確認(rèn)服務(wù)堆內(nèi)存較大Full GC 時(shí)停頓能達(dá)到好幾秒。于是我把探針的timeoutSeconds調(diào)到了 5periodSeconds保持 10 秒同時(shí)讓?xiě)?yīng)用團(tuán)隊(duì)優(yōu)化 GC 參數(shù)問(wèn)題很快就不再出現(xiàn)。四步定位先看狀態(tài)排掉分支再看 describe 鎖定退出碼再用 Events 找到直接觸發(fā)原因最后結(jié)合探針配置和應(yīng)用行為制定修復(fù)方案。全程沒(méi)靠猜這就是順序的力量。5. 還要小心“看似 Pod 重啟”的干擾項(xiàng)排查 Pod 重啟問(wèn)題最怕的不是根因復(fù)雜而是被干擾項(xiàng)帶偏方向。有幾種情況和“Pod 重啟”非常像但實(shí)際上完全是另一碼事。如果在第一步?jīng)]識(shí)別出來(lái)后面所有精力都白費(fèi)。5.1 節(jié)點(diǎn)重啟導(dǎo)致一批 Pod 同時(shí)“重啟”節(jié)點(diǎn)宕機(jī)、系統(tǒng)升級(jí)、硬件被重啟會(huì)導(dǎo)致節(jié)點(diǎn)上的所有 Pod 突然消失隨后重新調(diào)度到其他節(jié)點(diǎn)甚至同一個(gè)節(jié)點(diǎn)重啟回來(lái)。這種時(shí)候你在kubectl get pods里看到一堆 Pod 的 AGE 都?xì)w零RESTARTS 也可能歸零第一反應(yīng)可能是“某個(gè)應(yīng)用掛了”實(shí)際上你看到的是一整批 Pod 被重建。怎么判斷先看kubectl get nodes里節(jié)點(diǎn)的 AGE 和 CONDITIONS。如果節(jié)點(diǎn) Uptime 只有幾分鐘再看 kubelet 的啟動(dòng)時(shí)間基本能確認(rèn)是不是節(jié)點(diǎn)層重啟。另外看 Pod 是不是分布在同一個(gè)節(jié)點(diǎn)上特別關(guān)鍵。如果重啟的 Pod 集中在同一個(gè) Node 上那問(wèn)題大概率不在應(yīng)用而在節(jié)點(diǎn)生命周期。這就像 Windows 系統(tǒng)重啟后開(kāi)機(jī)黑屏、拔掉網(wǎng)線(xiàn)就正常的那種“硬故障”你得先查系統(tǒng)底層和驅(qū)動(dòng)而不是在應(yīng)用層摳日志。5.2 Evicted 和搶占Pod 被驅(qū)逐而非崩潰節(jié)點(diǎn)有磁盤(pán)壓力、內(nèi)存壓力、PID 壓力時(shí)kubelet 會(huì)執(zhí)行驅(qū)逐策略把一部分 Pod 標(biāo)記為Evicted隨后刪除。被驅(qū)逐的 Pod 通常不是“崩潰”了而是“被請(qǐng)走”了。它們的 STATUS 會(huì)顯示Evicteddescribe 里能看到類(lèi)似node.kubernetes.io/disk-pressure的污點(diǎn)和事件。這種情況如果你只盯著應(yīng)用日志會(huì)發(fā)現(xiàn)什么異常都沒(méi)有因?yàn)閼?yīng)用可能是被 SIGTERM 優(yōu)雅停掉的甚至日志里只有 graceful shutdown 的記錄。真正要查的是節(jié)點(diǎn)層面的監(jiān)控磁盤(pán)使用率、內(nèi)存水位、inode 數(shù)量。如果節(jié)點(diǎn)磁盤(pán)滿(mǎn)了鏡像拉取、日志寫(xiě)入都會(huì)出問(wèn)題Pod 也會(huì)被優(yōu)先驅(qū)逐。另外如果集群里有搶占式 PodPriorityClass 很高低優(yōu)先級(jí)的 Pod 可能會(huì)被搶占刪除這在 Events 里能看到Preempting相關(guān)條目。5.3 滾動(dòng)更新和配置變更造成的“假重啟”Deployment 升級(jí)鏡像、修改副本參數(shù)、或者觸發(fā)rollout restart都會(huì)創(chuàng)建新的 ReplicaSet然后滾動(dòng)替換舊 Pod。這時(shí)候你會(huì)看到舊 Pod 被刪、新 Pod 被創(chuàng)建表面上也是“Pod 重啟”但這是一個(gè)期望中的發(fā)布動(dòng)作不是故障。判斷方法很簡(jiǎn)單看 ReplicaSet。kubectl get rs -n namespace如果出現(xiàn)了新的 ReplicaSet且新舊并行那就說(shuō)明是發(fā)布不是故障。還有kubectl rollout status deployment/name能直接看到當(dāng)前部署狀態(tài)。這里有個(gè)工程上的常見(jiàn)坑修改 ConfigMap 并不會(huì)自動(dòng)觸發(fā) Deployment 滾動(dòng)更新很多人改了配置后手動(dòng)刪除 Pod 讓它重建如果 ConfigMap 名稱(chēng)沒(méi)變很多場(chǎng)景下 kubelet 不會(huì)重新拉取最新的配置掛載雖然新版 K8s 有了更細(xì)的優(yōu)化但很多情況下還是需要顯式觸發(fā)。規(guī)范做法是配置變更后執(zhí)行kubectl rollout restart deployment/name讓它走一遍新 ReplicaSet 的滾動(dòng)邏輯而不是手動(dòng)隨機(jī)刪 Pod。5.4 云廠(chǎng)商底層故障與基礎(chǔ)設(shè)施漂移最后一個(gè)干擾項(xiàng)來(lái)自基礎(chǔ)設(shè)施層。節(jié)點(diǎn)出現(xiàn) NotReady、被云平臺(tái)自動(dòng)重啟、或者底層網(wǎng)絡(luò)設(shè)備故障也可能導(dǎo)致 Pod 重啟。這種情況下Pod 層面能看到的只有“節(jié)點(diǎn)失聯(lián)”“容器重建”之類(lèi)的結(jié)果根因在集群之外。排查時(shí)要結(jié)合云平臺(tái)的控制臺(tái)事件和節(jié)點(diǎn)監(jiān)控把時(shí)間線(xiàn)對(duì)齊。很多 SRE 在這類(lèi)問(wèn)題上有過(guò)慘痛教訓(xùn)排查一整天應(yīng)用側(cè)毫無(wú)頭緒最后發(fā)現(xiàn)是底層虛擬機(jī)漂移。6. 如何減少 Pod 重啟探針與資源的工程化實(shí)踐排查問(wèn)題很重要但更值得花時(shí)間的是讓這些問(wèn)題少發(fā)生。Pod 重啟這件事尤其是探針 OOM 和配置不當(dāng)引發(fā)的重啟大部分是可以在架構(gòu)和配置層面提前規(guī)避的。這一節(jié)我把它沉淀成幾個(gè)工程化建議。6.1 探針配置的量化建議和模板探針不是越嚴(yán)格越好而是要符合應(yīng)用的實(shí)際啟動(dòng)時(shí)間和對(duì)瞬時(shí)故障的容忍度。我通常按下面這個(gè)模板來(lái)配置livenessProbe: httpGet: path: /healthz port: 8080 initialDelaySeconds: 60 periodSeconds: 10 timeoutSeconds: 3 failureThreshold: 3 readinessProbe: httpGet: path: /ready port: 8080 initialDelaySeconds: 60 periodSeconds: 5 timeoutSeconds: 2 failureThreshold: 2解釋一下幾個(gè)關(guān)鍵參數(shù)的思路。initialDelaySeconds要覆蓋應(yīng)用最慢啟動(dòng)時(shí)間寧大勿小至少要在“實(shí)測(cè)從容器創(chuàng)建到接口可響應(yīng)”的時(shí)間基礎(chǔ)上再加 20 秒冗余。timeoutSeconds別用默認(rèn)的 1 秒除非你確認(rèn)應(yīng)用接口響應(yīng)永遠(yuǎn)在毫秒級(jí)否則至少給 3 秒。failureThreshold不建議堆到幾十次那等于把探針變成了擺設(shè)合理區(qū)間是 2—5 次既能容忍偶發(fā)抖動(dòng)又不至于讓不健康容器長(zhǎng)期留在服務(wù)里。還有一條很重要的原則探針路徑必須輕量。不要把數(shù)據(jù)庫(kù)連接檢查、下游依賴(lài)檢查都塞進(jìn)/healthz里否則數(shù)據(jù)庫(kù)抖動(dòng)一次所有 Pod 一起重啟這是典型的故障放大。健康檢查應(yīng)該只反映本進(jìn)程的存活狀態(tài)下游依賴(lài)的狀態(tài)交給業(yè)務(wù)層的熔斷和報(bào)告機(jī)制。6.2 資源配額與 JVM/內(nèi)存優(yōu)化內(nèi)存類(lèi)應(yīng)用最容易因 OOM 和重啟糾纏不清所以資源配額不能拍腦袋。我的建議是requests必須設(shè)不要只給limits。只給 limits 不給 requests會(huì)導(dǎo)致調(diào)度器以為節(jié)點(diǎn)資源很寬裕實(shí)際運(yùn)行時(shí)卻在高水位很容易觸發(fā)節(jié)點(diǎn)級(jí)壓力。盡量讓 requests 等于實(shí)際穩(wěn)態(tài)占用limits 比 requests 高出一定冗余比如 1.2 到 1.5 倍但不要差距過(guò)大否則會(huì)削弱 QoS 保障。JVM 應(yīng)用有一個(gè)鐵律-Xmx必須小于容器 limits而且要留足堆外空間。粗略估算時(shí)容器 limits 可以按“堆內(nèi)存的 1.5 倍”起步比如-Xmx2g的容器limits 至少給 3Gi。如果有大量線(xiàn)程、堆外緩存或者 NIO 緩沖還要再上調(diào)。要不然你總會(huì)遇到那種“明明堆內(nèi)存還有一半容器卻被 OOM 殺掉”的詭異問(wèn)題實(shí)際上元空間和堆外早就爆了。集群層還可以用 LimitRanger 和 ResourceQuota 兜底避免某個(gè)團(tuán)隊(duì)隨手寫(xiě)一個(gè)巨大的 limits。這些策略看起來(lái)是約束實(shí)際上是在保護(hù)整個(gè)集群的穩(wěn)定性也保護(hù)你自己的服務(wù)不會(huì)互相踩踏。6.3 配置變更與發(fā)布策略ConfigMap 和 Deployment 是結(jié)對(duì)出現(xiàn)的但配置變了不會(huì)自動(dòng)滾動(dòng)更新這是很多人栽過(guò)跟頭的地方。工程化的做法是ConfigMap 一旦創(chuàng)建不要原地修改而是新版本命名空間下重建一個(gè) ConfigMap比如帶 v2 后綴然后通過(guò)修改 Deployment 里的 configMap 引用并執(zhí)行kubectl rollout restart。這樣既保留歷史版本又能回滾。K8s 1.20 還支持 ConfigMap 的immutable: true選項(xiàng)直接禁止原地修改避免誤操作。滾動(dòng)發(fā)布的參數(shù)也值得精確控制。Deployment 里的maxSurge和maxUnavailable決定滾動(dòng)的節(jié)奏。舉例strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 maxUnavailable: 0這個(gè)配置的意思是滾動(dòng)過(guò)程中最多額外創(chuàng)建一個(gè)新 Pod并且不允許服務(wù)實(shí)例數(shù)降到期望值以下。適合在線(xiàn)服務(wù)能最大程度保證容量。缺點(diǎn)是發(fā)布速度慢一些但換來(lái)的安全感非常值。尤其是你的服務(wù)有流量突刺maxUnavailable: 0能避免發(fā)布瞬間大量請(qǐng)求 503。另外給容器加preStophook 是減少“被 SIGKILL”的有效手段lifecycle: preStop: exec: command: [/bin/sh, -c, sleep 5]Kubelet 在收到停止信號(hào)時(shí)先執(zhí)行 preStop 的 sleep再發(fā) SIGTERM 給主進(jìn)程。這幾秒時(shí)間能讓?xiě)?yīng)用把進(jìn)行中的請(qǐng)求處理完把連接優(yōu)雅關(guān)閉。對(duì)很多服務(wù)端應(yīng)用來(lái)說(shuō)少了這 5 秒后面省下的排障時(shí)間可能是幾個(gè)小時(shí)的量級(jí)。6.4 建立“重啟即告警”的可觀(guān)測(cè)性與其等用戶(hù)反饋“服務(wù)掛了一會(huì)兒”不如在重啟剛開(kāi)始時(shí)就收到告警。Prometheus 生態(tài)里kube-state-metrics 會(huì)暴露一個(gè)指標(biāo)kube_pod_container_status_restarts_total記錄容器累計(jì)重啟次數(shù)。可以用它做一條簡(jiǎn)單的告警規(guī)則- alert: ContainerRestarting expr: increase(kube_pod_container_status_restarts_total[5m]) 2 for: 5m labels: severity: warning annotations: summary: Pod {{ $labels.namespace }}/{{ $labels.pod }} container {{ $labels.container }} restarting意思是“5 分鐘內(nèi)某個(gè)容器重啟超過(guò) 2 次并且持續(xù) 5 分鐘”就觸發(fā)告警。這個(gè)閾值比 CrashLoopBackOff 出現(xiàn)早得多往往在探針開(kāi)始反復(fù)殺容器、但還沒(méi)進(jìn)入退避階段的時(shí)候就能報(bào)警。事后分析時(shí)事件和日志也應(yīng)該盡量留存到外部系統(tǒng)比如 Loki、Elasticsearch否則 Pod 被重建之后很多現(xiàn)場(chǎng)證據(jù)就瞬間蒸發(fā)了。6.5 一個(gè)小技巧臨時(shí)容器調(diào)試啟動(dòng)即退出的問(wèn)題最后分享一個(gè)挺實(shí)用的技巧。如果你遇到容器啟動(dòng)即退出、日志也沒(méi)留下什么有效信息又來(lái)不及把鏡像拉出來(lái)手動(dòng)跑可以借助臨時(shí)容器ephemeral container進(jìn)到 Pod 里“圍觀(guān)”。前提是 Kubernetes 版本在 1.23 以上并且集群?jiǎn)⒂昧讼嚓P(guān)特性。命令類(lèi)似kubectl debug -it pod-name -n namespace --imagebusybox --targetcontainer-name臨時(shí)容器會(huì)共享目標(biāo)容器的命名空間你可以在里面看文件、查網(wǎng)絡(luò)、檢查掛載內(nèi)容甚至手工執(zhí)行目標(biāo)命令親眼看到它到底報(bào)什么錯(cuò)。如果臨時(shí)容器一時(shí)半會(huì)兒進(jìn)不去還有個(gè)土辦法先把 Deployment 的啟動(dòng)命令臨時(shí)改成command: [sleep, 9999]讓容器穩(wěn)定跑起來(lái)再kubectl exec進(jìn)入容器手動(dòng)執(zhí)行原來(lái)的啟動(dòng)命令看完整報(bào)錯(cuò)。這個(gè)辦法唯一的代價(jià)是業(yè)務(wù)暫時(shí)不提供服務(wù)但在測(cè)試環(huán)境或者低峰期效率遠(yuǎn)超來(lái)回翻日志。排查了這么多 Pod 重啟問(wèn)題我自己最深的一個(gè)體會(huì)是流程比經(jīng)驗(yàn)靠譜。第一次遇到 CrashLoopBackOff 我也慌日志翻到頭大后來(lái)發(fā)現(xiàn)只要按“狀態(tài) → 事件 → 日志 → 節(jié)點(diǎn)”這個(gè)順序查80% 的問(wèn)題十分鐘內(nèi)都能定位。最后再分享一個(gè)小習(xí)慣每次排查完把 describe 輸出和 events 存一份到本地筆記里。很多問(wèn)題過(guò)兩個(gè)月會(huì)以非常相似的形態(tài)再出現(xiàn)翻舊案比從零開(kāi)始排查快得多而且你會(huì)慢慢發(fā)現(xiàn)Kubernetes 的故障雖然花樣多但底層邏輯永遠(yuǎn)是那幾板斧。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
影音先锋一区| 日韩综合成人| 99精品视频免费观看,| 超碰免费在线| 婷婷激情视频欧美视频自拍视频欧美剧| WWW、日本色丁香、co m| 九九人人精品| 99亚洲色| 人人干天天舔| 91免费试看| 91啪啪网| 99久久精品视频女神1| 人人肏逼视频在线一区二区| 波多野结衣AV无码Porn| 第四色婷婷色五月| 玖热精品综合视频| 久久五月激情综合| 91精品国产色猫| 色情综合网| 九热视频这里只有精品| 深爱激情中文五月天av| www.99日本| www,奇米影视| 色五月av| 婷婷五月天影院| 成人精品一区二区三区四区五区 | 亚洲va欧洲va国产va不卡| 色欲五月婷婷| 九九青草热| 中文字幕日产A片在线看| 久久精品这里只有精品免费首页| 99热这里精| 91精品久久久久| 色爱爱综合网| WWW色色色COM| 婷婷五月综合免费在线| 99热这里只有精品13| 91精品人妻少妇无码影院| 曰韩少妇内射免费播放| http:色情日本com| 无码激情AAAAA片-区区| 99热久久这里只有精品| 无码免费人妻A片AAA毛片西瓜| 婷婷色在线视频| 欧美日本va| 激情开心五月婷婷| 日韩av大全| 99er6免费视频热播| www.99热精品| 久久99综合| 婷婷五月天AV在线| 色婷婷免费观看| 99伊人婷婷在线| 97日本在线播放| www.狠狠操| 综合色图区| 九九热在线精品视频| 思思热再线视频| 色色影院aaaav| 99日精品视频| 亚洲艹网| 丁香婷婷人妻| 日韩a热| 久热丁香| 精品久久99码| 再綫Av免费視品| 丝袜大香蕉| 久久狼人天堂| 五月激情基地| 男人的天堂五月丁香| 色播五月婷婷| www.丁香五月| 亚洲99精品九九在线| 亚洲狠狠爱婷婷| 国产成人精品一区二区三区视频| 色九月丁香婷婷蜜桃在线观看| 永久天堂日本| 99ri在线| seav天堂| 9999综合99综合人| 婷婷丁香六月综合激情站| 欧美在线视频免费播放| 婷婷激情五月天7| 色 免费网站视频| 一级片sese片.COM| 华人在线免费| 91久久久久久| 天天色凹凸| 99视频只有精品| 久久9热好| www.色色色com| 五月刺激丁香月综合| 丁香深五月婷婷| 五月丁香花激情啪啪网| 玖玖资源站国产| 日日做天天操夜夜爽| 看国产探花操逼三级片| 亚洲色99| www.99热这里精品| 五月天激情国产综合AV| 中美日韩成人在线| 狼人伊人干| 日本免费91| 影音先锋色婷婷| 久久久er热| 丁香婷婷激情网站| 99久久久久| 99原创自拍视频在线观看| 超碰免费观看| 国产婷婷五月中文字幕高清| 99久在线观看| 久热天堂| 婷婷久久六月天| 丁香桃色网| 五月天另类小说| 丁香五月在线播放| 91精品又长又大又粗又爽又猛| 91婷婷| 亚洲婷婷激情888精品久| 久久99热免费最新版| 九九热视频在线观看| W色综合| 99热这里只有精品1025| 大陆肏屄视频| 97五月天| 9l视频自拍九色9l视频自拍九色9l社区 | 欧洲色| 五月丁香婷婷欧美色图视频五月丁香777电影 | AA片在线观看视频在线播放| 激情99| 97涩涩丁香五月天| 天天橾日日橾夜夜橾17| 激情久久久| 国自产拍偷拍精品啪啪一区二区| 丁香五月人妻熟女| 99亚洲视频| 99燥99日| 婷婷九月激情| 色播五月婷婷| 热久国产| 殴美综合激情五月天免费视频| 五月天色不卡| 区美毛片子| 色五月成人在线| 九九香蕉网| 91美女啪啪| 99亚洲综合| 欧美色色色色色色色色色色| 欧美婷婷丁香五月| 五月天婷婷视频30| 欧美日本韩国亚洲| 五月的婷婷六月丁香| 琪琪色五月天| 欧美三级黄色片久久| 情涩婷婷五月天| 99精品热| 无码se| 激情六月婷婷| 久久嘟嘟丁香| 激情五月天影院| 日韩黄色影院| 丁香五月在线观看完整版| 久草热在线视频| 丁香五月激情五月| 狠狠操性爱av| 精品九九婷婷| 天天插天天爽| 1024人妻| 91超级碰碰| 婷婷婷婷色| 亚洲综合另类| 99热久久日本| 热99免费在线| 99热国产精品| 丁香六月婷| 99在线热| 五月婷婷六月丁香| 激情五月综合免费| 国产精品久久久久9999小说| tingtingzonghewang| 婷婷丁香十月| 狠狠精品干练久久久无码中文字幕| 丁香婷婷五月六月久久| 色综合中文| 日韩狠狠色| 91丨九色丨高潮丰满日本| 国产午夜成人AV在线播放| 亚洲啪啪网| 五月狠狠| 日本三级中国三级99人妇网站| 国产免费一区二区三区三州老师F1F1.CC| 婷婷丁香视频在线观看免费| 在线看九一V图片| 天天做天天爱天天玩夜夜爽| 国产白丝在线一区| 久草热久草在线视频| 天天色伊人| 日逼影音先锋男人资源站| 欧美激情综合色丁香婷婷五月天| 五月丁香六月婷婷精品| 高清国产AV| 99久在线精品99re8| 色婷婷激情五月天| 亚洲精品一区中文字幕乱码| 久热69| 激情欧美婷婷| 色婷婷色丁香色欲av| 久色激情| 婷婷色在线视频| 激情婷婷五月综合| 激情另类综合| 日本色频| 123日本不卡在线| 99热这里只有精品最新网址| 天天日夜夜拍| 激情五月婷婷综合网| 欧美熟女视频 色婷婷| 看久久性爱视频| 天天综合网色欲香| 丁香五月激情五月| 狠狠操综合| 99操逼| 丁香五月天大香蕉啪啪| 婷婷五月婷婷| 久久久日韩特色特黄AAAA| www.狠狠狠狠| 久久香蕉福利| 中文字幕有多少字| 日韩在线视频中文字幕| 日本激情综合| 综合色色婷婷| 婷婷无码视频| 国产五月天激情小说| www久久艹| 在线视频婷婷| 成熟妇人A片免费看网站| 久久人妻人人| 国产美女视频久| 99爱最新免费视频在线观看| 国内婷婷丁香社区在线播放| 九月丁香| 二色AV| 五月婷性爱| 五月开心激情| 婷婷九九| 九色91国产| 五月花亭亭| 999九九九久久久99HD| 蜜桃婷婷五月| 91久久免费| 91九色精品熟女内射| 婷婷亚洲色| 综合网色| 大香蕉伊在| 综合色久| 日韩视频99| 新伍月婷婷| 婷婷亚洲日本| 久久婷中文字幕| 风流少妇A片一区二区蜜桃 | 国产成人精品一区二三区熟女在线| 九九免费视频在线| 色综合综合网| 91碰碰碰| 婷婷情色五月天| 九九草热在线观看| 五月婷婷综合精品| 五月丁香影院| 色婷网| 五月婷婷久久久| 久久免费精彩视频| 五月婷六月| 日日夜夜狠狠| 丁香五月婷婷啪| 嫩草AV久久伊人妇女超级A| 99热99干| 激情五月天www| 精品无码av丁香五月激情| 碰碰碰91| 国产综合久久久777777| 久久久久久婷| 色综合99无码 | 人伦30P| 国内自拍97在线| 成人看片网站| 国产精品99久久久久久久女警| 五月婷婷狠天天色综合| 婷婷五月成人色综合| 好好干Av| 久久婷婷亚洲五月天| 久久视频这里99| 五月天日日操夜夜操 | 丁香五月激情性色郤| 婷婷色网| 淫五月停停| 亚洲中文字幕AV在线| 五月丁香A片| 99热高清在线| 亚洲激情淫网| 狠狠狠色激情综合适合| 久久色情| 婷婷激情五月视频| 亚洲婷婷丁香五月在线| 新精品99| 久久久久er热| 99碰碰碰| 操笔无码| 亚洲综合色网| 日日做A爰片久久毛片A片英语 | 欧美激情-区二区三区| 五月社区婷婷激情| 综合99在线| 色色综合日韩| 五月丁香无码| 狼友超碰| 五月天激情国产综合婷婷婷| 大香蕉手机视频| 99热这里都是精品| 情欲禁地| 激情文学 综合 九月| 在线成人av播放| 91主播在线| 性爱网六月丁香| 狼人婷婷综合| 五月六月丁香激情视频| 五月天婷婷激情四射综合| 婷婷伊人綜合中文字幕| 激情五月综合ì香亚洲| 奇米色大香蕉| 先锋男人91资源| 99人妻碰碰碰久久久久视| 色五月天丁香婷婷| 丁香五月婷婷高清| 丁香婷婷五月六月天| 91在线日| 99久久精彩视频| 婷婷国产日本欧美| 色五月婷婷丁香五月| 一区二区你懂的| jiujiu热在线视频| 九九99精品视频| 激情五月黄色| 丁香五月婷婷姐| 五月天久久综合| 大香蕉网 久久| 深爱五月激情网| 草一草avb| 大大香蕉综合在线| 99热精品9| 人人操AV| 色婷婷激情小说网| 夜夜操狠狠操| 思思热久久阴99| 日本丁香五月| 九九热99熟女| 久久色9| 涩五月丝袜婷婷| 国产夫妻操逼内射视频| AAA久久| 色情五月丁香| www.99热在线| 91综合色| 99精品丁香五月| 婷婷六月天国产综合| 99精品高潮| 精品无码色| 天天拍夜夜爽日日| 九九综合九九| www.久久色.com| 婷婷和五月天| 色五月婷婷老师| AA丁香综合激情| 99玖玖人人| 丁香婷婷激情五月色| 丁香五月在线观看| www五月婷婷| 色久激情在线| 婷婷色情 | 亚洲AV激情五月综合网| 国产一级黄色影片,| 五月丁香人妻| 99色嘟嘟精品网站| 色天天狠狠干| 开心五月深爱五月| 99久在线精品| 婷婷的色色五月天| 另类激情综合| 任你草| 激情综合亚洲| 五月婷婷精品无在线| 人妻丰满精品一区二区A片| 丁香五月天婷婷久久| 色色热| 99re这里有精品手机在线| 国产精品久久久久9999小说| 五月天激情啪啪| 大香蕉伊然在亚洲90| 99只有这里有精品在线视频| 久久九九网| 久久久久9999| 五月天综合在线观看| 久久婷婷五月综合精品蜜芽| 六月丁香网| 99热在线免费观看精品| 99热99色| 九九热精品99| 极品人妻VIDEOSSS人妻| 日韩无码色色| 色婷丁香五月| 久久婷婷五月天激情新地址| 色综合五月| 影音先锋色婷婷| 白人荫道BBWBBB大荫道| 中文字幕视频色婷婷| 丁香六月天AV| www.夜夜| 日日操夜夜爽天天天| 成人 在线 日韩| 色日本综合| 一本综合丁香日日狠狠色| 青青青在线视频国产| 综合激情五月天| 超碰免费成人| 五月婷婷综合网| 99热这里全是精品| 丁香5月激情网| 五月丁香黄色视频| 26UUU精品一区二区c〇m| 天天射天天操天天干| 99热免费精品| 婷婷五月情天| 色屌丝中文字幕| 色九月婷婷综合| 婷婷五月天六月丁香| 色婷婷狠狠禁18久久| 欧美噜噜久久久XXX| www.五月天色色.com| 欧美综合五月丁香五月天| 色婷婷播放| 五月天丁香| 成功精品影院| 色婷五月天激情| 五月婷婷六月丁香激情深爱| 精品99在线| 九九免费在线视频| 久久成人性爱| 日韩色色小视频| 热九九九九| 99干日日干| 色五月激情| 日本爆乳片手机在线播放| 99精品在| 日本婷婷综合精品| VA日本视频| 噜噜干日本| 色婷婷最新域名 | 深情五月天| 婷婷五月丁香基| 国产26uuu| AV在线观看网站| 人人草人人舔| 亚洲九九九九| 五月天激情四射网站| www色色色com| 五月婷婷开心六月激情小说| 色婷婷五月天成人网| 五月在线| 激情欧美五月丁香| 九九热这里有精品视频| 亚洲天堂制| 五月色天情| 综合激情五月天六月婷免费视频| 男人天堂伊人五月丁香| www.夜夜操.con| av九九| 中文在线成人| 色五月婷婷综合| 欧美日本一区二区三区| 日本色色色| 色婷插| 欧美日本va| 色综合偷拍| 国外亚洲成AV人片在线观看| 国产精品美女久久久久AV超清| 六月亚洲婷婷6月中文字幕| 久久99精品日本| 六月丁香婷婷大香蕉| 丁香五月婷婷国产在线| 色五月97| 五月天成人综合| 99热自拍| 婷婷玉月丁香五月在线视频| 九九色99| 色五月涩涩婷婷| 五月天婷婷激情| 99热免费精品| 婷婷射丁香| 成人亚洲精品| 丁香五月深爱五月婷婷| 青青热视频| 久久5 9视频免费观看| 九九九九中文字幕| 碰人人97| 日韩aaaaa| 色九九九九| 国产精品久久久60086| 九九色色网| 日日操夜夜操中国无码| 成人无码精品1区2区3区免费看| 久久色亭亭五月天| 婷婷五月天在线综合| 精品国产va久久久久| yw国产AV| 久久五月婷6 9| 俺去也五月| 六月婷婷色综合| 天天干天天干天天干天天干天天干天天| 婷婷久久五月天丁香| 五月婷婷开心深| 《诡秘之主》在线观看| 五月丁香六月婷婷啪啪| 国产日日夜夜操| 肏屄色播伊人97婷婷| 久久se 综合网| www.色九月| site:minyis.com| 色婷婷久综合久久一本国产AV| 中文字幕黄色电影网址| 《战争与艾拉》完整版| 性爱视频久久| 日日噜噜夜夜狠狠久久丁香五月| 男同色五月开心五月激情五月| 丁香六月成人| 欧美经典片免费观看大全| 丁香婷婷久久| 天天综合网站| 国产精品VIDEOSSEX久久发布| 五月婷婷综合在线| 丁香六月婷婷久久综合| 精品热青草| 99性色| 亚洲av| 少妇AB又爽又紧无码网站| 天天做天天爱天天爽| 日日噜狠狠色| 五月亭亭性| 色播激情五月天| 无月播播激情在线观看视频| 婷婷五月天亚洲丁香| 噜噜综合网| 久月丁香爱婷婷综合| 五月六月丁香激情视频| 狠狠va| 男人综合网| 狠狠色丁香99| 久热A| 精品婷婷五月视| 琪琪秋霞| 玖玖资源网站最新站| 婷五月丁香| 五月天久久婷婷婷| 天天xxxxxx天天日| 99色综合| www.久久爱.c n| 日本一毛片| 99在线观看精品视频| 婷婷五月天福利| 九九在线91| 婷婷五月黄色激情在线| 六月天婷婷| 久色视频首页| 色欲色欲久久宗合网| 色色色.com| 久婷婷视平| 伊人久久丁香婷婷六月五月综合| 丁香五月婷婷影视先锋| 五月天激情婷婷久久| 爆乳熟女-区二区三区| 婷婷五月色综合| 99久久五月婷婷| 亚洲成人五月| 色播六月| 天天做天天爱天天日| 99啪| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 亚洲日韩一页精品发布| WWW.久久久久久久久久久久久| 97碰久久| 亚洲一区二区无码蜜乳av| 久色大| 日日干夜夜干| 五月婷婷日| 婷婷五月丁香五月丁香| 天天色视频| 激情综合久久| 成人资源在线| 五月天久久成人| 色五月婷婷操逼| 男同91| 成人一级片| av在线色五月丁香婷区久| 欧美日韩成人免费在线| 婷婷五月成人社区| 熟女少妇内射日韩亚洲| 九玖欧洲亚洲| 九色视频91疯狂| 五月天色图| 丁香九月激情在线视频| 婷婷欧美偷拍综合| 国产三级在线播放| 神马欧美精| 午夜美女人啪最红院| 99久久婷婷精品视频| 色婷六月| 久久久99精品| 92久久| 免费看欧美成人A片无码| 五月激情婷婷在线| 人妻乱码久久久| 亲子乱av一区二区三区的| 日本超碰在线| 色色丁香激情五月| 青青草性爱视频| AV在线不卡网站| 狠狠插狠狠插| 午夜婷婷久久| 五月丁香六月激情啪| 五月婷久久| 亚洲婷婷激情五月天| 久久婷婷网站| 欧美日韩123| 色天天综合| 亚洲亚洲人成综合网络| 成人五月天婷婷| 99免费热视频在线| 色噜噜五月天| 婷婷五月天在线视频网站| 激情综合丁香六| 婷婷瑟五月天久久综合| 97自拍视频在线| 99啪啪| 日韩狠狠色| 久9精品| 99九九视频| 奇米色大香蕉| 九九精品在线观看视频6| 国外亚洲成AV人片在线观看| 五月丁香成人日| 五月天婷婷基地| 超碰成人免费| 九九热这里| 成人综合网站| 精品网站:999WWW| 丁香五月综合在线视频| 甈吧vv| 这里只有精品免费| 欧美大奶熟女噜噜噜噜| 五月丁香婷婷潮喷中文字幕| 婷婷五月天堂网| 综合网色| 亚洲激情AV| www.97碰碰com| 婷婷色五月天色| 好吊兆人妻| 在线中文AV| 熟妇内谢69XXXXXA片| 婷婷成人五月天| 色婷视频| 99国产精品久久久久久久久久久| 色九九综合| 国产亚洲在线观看| 亚洲爆乳无码精品AAA片蜜桃| 欧美日综合| 亚洲激情在线| 国精产品一区一区三区免费视频| 国产欧美精品AAAAAA片| 欧美日本免费一道免费视频| 日韩综合成人| 嘿嘿视频免费看9| 毛片毛片毛片毛片| 激情综合九| 丁香五月天社区| 久热综合| 国产XXXX搡XXXXX搡麻豆| 99热这里有精品2| 极品五月天| 丁XX 成人| 成人在线日韩| 久久婷婷七月丁香| 激情第四色| 99精品久久| 成人午夜天| 玖玖资源站蜜臀| 日本激情91| 丁香六月婷婷| 精品久久久人妻| 色欲av伊人久久大香线蕉影院| 婷婷激情图片| 综合伊人狠狠| 先锋五月婷婷丁香草草| 69超碰在线| 激情综合五| 天天做天天爽| 少妇AB又爽又紧无码网站| 婷婷中文字幕欧美| 婷婷五月天丁香社区| 伊人婷婷大香蕉| 狠狠干五月丁香| 婷婷色色欧美| 午夜婷婷丁香| 色亭亭五月天网扯| 人人摸人人| 色播五月婷婷| 97碰 在线视频观看| 久久人人九九| 深爱丁香激情| 大香蕉久久久| 亚洲AV影片在线观看| 91色吧网| 99综合99| 欧美内射AA| 色欲色欲久久宗合网| 黑人无码一区| 天天干夜夜b| 黄网在线观看免费| 黄色热99| 久久伊人大香蕉| 亚洲情a| 久久婷婷五月| 免费AV在线网址| 26uuu.| 丁香五月天成人网站| 久草五月| 五月丁香无码| 欧亚中文A V| 婷婷丁香五月激情综合站_久久五月丁香激情综合_开心五月综合激情综合五月_婷 | 无码激情AAAAA片-区区| 丁香五月网址| 色中色综合| 欧美性猛交XXXX乱大交极品| 操碰99| 激情五月丁香综合网站| 欧美成人精品A片免费一区99| 大香蕉中文| 婷婷丁香色情五月天| 99热亚洲| 大香蕉九九| 五月婷婷在线免费观看 | 激情婷婷五月基地| 五月色综合| 伊人激情综合网| 开心激情五月天网| 色综合视频在线| 综合亚洲五月天| 九色婷婷| 91视频精品99| 99视频这里有精品| 婷婷免费视频| 激情开心五月亚洲| 另类天堂| 精品久久艹| 这里只有精品视频一区| 丁香五月激情月| 99热只有精品在线播放| 丁香五月性| 成人在线不卡| 日本熟妇精品99| WWW色色色COm| av在线观看网站| 97热精品| 国产精品成人AV在线| 色色九九五月天 | 亚洲精品国产精品乱码视99| 午夜婷婷五月天| 九九久久视频| 无码色色| 五月天婷婷影院影院观看| 俺去啦综合网| 久狠日av| 91|九色|动漫| 可似看的AV| 99综合成人视频在线观看| 五月丁香淫淫婷婷婷| 久久99草五月婷婷| 色五月婷婷在线| 六月丁香婷婷色狠狠久久| 99天堂在线观看免费视频| 一本到不卡高清DVD| 26uuu成人网| 九九99九九精品视频| 日本情色一区二区| 天堂久久性| 色综合区| 六月五月丁香五月欧美| 午夜日日| 色色色在线观看| 婷婷精品在线| 99热99色| 色999;丁香五月| 五月丁香综合久久夜夜| 久久久无码精品成人A片小说 | 人人摸人人操人人爱| 五月丁香六月婷综合成人综合| 婷婷五月丁香人妻无码高清| 97se视频在线| 婷婷日在线观看| 五月婷视频| 久久色亭亭五月天| 五月婷五月婷伊人伊人五月婷| 性做久久久久久久免费看| 色区域网站视频| 爆乳熟女一区二区三区爆乳| 久久丁香五月天| 五月丁香六月婷婷综合伊人| 国产99久9在线| 亚洲激情婷婷| 99国产小视频| 97中文在线| 艹B高清无码| 五月婷婷综合在线| 婷婷丁香77777| wwww.9免费视频| 亚洲AV成人精品日韩在线播放| 久久这有这里精品| 五月婷婷97| 天天日夜夜爽| 欧美成人AAA片一区国产精品| 六月婷婷最新网址| 9.1综合网| 九月丁香五月婷婷| 精品久久99码| 五月天天丁香婷婷| 日韩 中文 欧美| 婷婷五月天天| 久9无码视频| 被强行糟蹋的女人A片| 欧美人人超级碰| 五月天激情综合网站| 婷婷精品性性性性性性性| 任我肏| 欧美情色一区| 色噜噜狠狠色综合成人网| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | www.99热| 超碰精品国产首页| 激情第四色| 精品皮股午夜AV| 天天玩天天摸| 9久热精品在线视频| 在线一起草av| 97五月天婷婷午夜| 超碰爱爱爱| 秋霞少妇AV网站| 五月丁香怕怕综合| 操操国产| 婷婷综合另类| 91男人操女人视频| 天天综合网在线| 六月婷婷开心| 六月狠狠综合| www.爱操com.| 一起草无码视频| 日韩超碰在线| 五月丁香久久色| 色狠狠婷婷| 99精品国产乱码久久久人妻| 成人丁香五月| 色婷婷网| 五月激情射| 婷婷丁香婷婷97| 淫视馆av三区| 在线视频婷婷| 亚洲V国产V欧美V久久久久久| 99久在线精品99re8热| 干一干xxxx| 五月丁香婷婷AV| 日本久久爱| 日本激情五月天‘| 亚洲精品久久久久久久久久吃药| 99这里只有免费的小视频在线观看| 91九色在线| 99自拍视频网站| 五月天小说激情| 久热久色| 九九碰九九爱97| 日本99视频精品免费播放| 狠色狠色综合久久| 国产在线aaa片一区二区99| 91chinese在线| 亚洲色图五月丁香| 亚洲无码www| 五月丁香中文字幕| 亚洲丁香婷婷| 久久这里只有国产视频| 午夜不卡久久精品无码免费| 美女天天久久| 人人干av| 久久婷婷五月天| 久久婷婷五月天懂色| 超碰日日操| 婷婷五月激情的图片| 美欧成人视频| 99性爱视频| 97精品自拍视频| 5五月综合网亚洲| 久热精品在看| 丁香六月综合激情| 99热狠狠操| 激情av在线| 国产综合婷婷| 爆乳熟妇一区二区三区爆乳照片| 97人妻碰碰碰久久香蕉| 天天拍久久| 激情五月丁香色婷婷| 99re这里只有精品首页| 人人噜天天上| 就爱射中文字幕资源网| 女人高潮内射99精品| 激情丁香淫荡婷婷| 狠狠精品干练久久久无码中文字幕| 色五月丁香婷婷综合| 99色6爱9热| 亚洲精品五十一区| 99热这里只有的精品视 | 超碰九九热| 色婷婷久久综合久色| 。久久久久久久久久久久久久人妻| 日狠狠| 五月天天天色| 中文字幕视频色婷婷| 久久婷婷东京热大香樵| 91综合国免费久入| 丁香六月天婷婷色| 人妻精品一区二区三区| 婷婷色色网| 激情综合丁香六| 91成人看片| 婷婷九月激情网| 丁香婷婷月| 色九区| 亚洲国产网站| 五月天天天操天天爽夜夜操| 99热99热不卡| 色日本五月天| 人人操大| 九九热九九| 99热这里只有精品3| 婷婷五月天色| 五月天小说激情| 色色五月婷| 99热这里只有精品18| 婷婷五月无码| 大香蕉丁香| 婷婷五月电影| 激情五月丁香五月| 六月香五月婷| 九九偷拍网| 天天拍天天操| 色婷婷视频综合| 婷婷九月激情| 亚洲成人在线观看av| 亚洲人人操| 激情综合网络插| Caoub青青超碰| 久久综合九九| 久久久五月婷婷| 中文字幕九九九九| 丰满少妇猛烈A片免费看观看| AV性爱在线| 99这里只有精品视频免费| 啪啪日热| 天天肏视频| 欧美综合在线五月天色婷婷| www.日本91| BBWCUCKOLD精品熟妇| 婷婷久久五月天| 色噜噜,噜噜色| 久久一品区| 免费做A爰片77777| 五月天丁香成人社| 思思久久96热在精品国产,| 69久久99精品久久久久| 亚洲愉拍99热成人精品| 九九re精品视频在线观看| 五月永久激情| 综合久久9| 亚洲xx在线| 亚洲综合婷婷| 深爱五月激情| 日本久碰| 亚洲激情精品| 91se视频| 五月婷在线色视频| 亚洲网视屏| 亚洲精品444久久久久久| 色婷婷小说| 激情亚洲婷婷| 这里只有精彩视| 免费AV黄在线播放| 9有码中文| 狼人伊人干| 国产国产乱老熟女视频网站97| 久久丝袜婷婷| 婷婷色五月综合| 综合色天天| 91丨九色丨东北熟女| 久久日韩婷婷五月| 丁香五月婷婷社区| 天天拍天天操| 日韩一级片| 这里只有精品视频在线| 国产另类综合| 六月婷婷色五月| 丁香五月,开心五月,成人婷婷 | 日本久久爱| 婷婷五月天亚洲激情戏精品| 思思99热热热99| 五月婷婷婷综合网| 丁香婷婷老司机久操| 国产毛片精品一区二区色欲黄A片| 99爱在线精品视频免费观看| 色婷婷五月综合在线| www.婷婷.com| 天天干天天爽天天操| 日韩婷婷五月天| 亚洲色色在线| 天天色情站| 丁香六月开心| 综合久久婷婷| 九九久久99精品免费观看www| 亚洲成Av人片乱码色第1集| 久久9精品| 丁香婷婷色九月| 丁香久久| 丁香五月第九色| 思思干精品| 无码动漫av| 九九色综合网| 玖玖婷婷五月| 色婷婷a| 五月天婷婷社区久久综合| 亚洲啪啪精品| 九九伦子片| www九九免费视频| 婷婷五月五月丁香| A片天天| 婷婷丁香激情五月天色色色| 婷婷色情 | 99丁香婷婷综合网| 丁香五月婷婷社区| 婷婷丁香五月天之开心少妇| 操操综合网婷婷| 香蕉曰比| 久久五月天 91| 久久五月天精品视频| 亚洲天堂碰碰婷婷| 大香蕉丁香| 97碰成超视频免费视频| 永久免费一区二区三区| 日韩AV在线免费观看| 激情婷婷在线中文字幕| 午夜色婷婷| 丁香六月婷婷五月天| 色色色视频免费无码| 激情纯色婷婷五月天在线不卡视频| 色婷婷丁香五月丁香| 婷婷开心激情综合五月天| 无月播播激情在线观看视频| 欧美成人网99网| 激情久久久久久久久| 久久久99视频| 色色色色综合| 中文字幕在线免费看线人| 婷婷狠狠综合网入口| 婷婷伊人綜合中文| 干一干xxxx| 另类小说五月天| 男人天堂伊人五月丁香| 日夜夜天天| 婷婷五月天第三页| 99热6这里之有精品| 一本久久婷婷| 久久天天| 激情图片婷婷丁香五月| 热99这里只有精品视频| 超碰93在线观看| 任你擦免费视频| 亚洲网站在线鸭子av| 色五月五月丁香| 国产精品人人妻人人爽| 伊人久久大香网| 亚洲欧洲午夜成人精品av| 美女五月激情| 99九九综合久久九九| 婷婷WWW久久| 五月开心播播网| 婷婷五月天小说| 黄色成人网站在线播放| 亚洲欧美999| wwccc久久久| 密黄站| 粉嫩av蜜桃av蜜臀av| 国产精品成人网站| 丁香六月婷婷缴情欧美| 激情五月激情综合网| 五月婷婷久久久| 国产va视频| 亚洲天天综合| 色综合网综合| 五月伊人视频在线看| WWW.天天日| 色五月天激情| 伊人色综合影院视频| 九9九9无码| 51精品国内探花| 中文AV网站| 色99最新网址| 丁香五月影| 日韩欧美不卡| 成人做爰高潮A片免费视频| 综合网色| 久9视频| 五月婷婷激情综合网| 中文字幕AV在线播放| 夜夜躁婷婷AV| 色色无码| 色色色在线观看| 操日视频| www.henhenl| AV在线免费播放| 婷婷激情在线| 久久婷婷色色| 丁香婷婷五月综合色情| 五月丁香婷婷啪啪| 久久久99久久| 五月丁香婷婷激情图片| 久久大香蕉同僚| 草草夜夜操| www99久久| 亚洲最大五月六月丁香婷婷| 亚洲精品大片| 中文在线成人| 思思99热这里只有精品6| 色婷婷www| 在线视频激情网站| www.俺去也com| 天天干天天操天天拍| 国产婷婷久久| 99只有这里是精品| 99热这里只有精品在线| 久久婷中文字幕| 亚洲狠狠操| 五月丁香综合| 色情五月婷婷| 超碰国产AV| 任我肏视频精品| 综合五月亭亭9| 久久丁香| 东京热免费视频网站| 五月欧美色色五月| 五月婷婷综合在线| 91精品国产99久久久久久天美| 九色色| 风流少妇A片一区二区蜜桃 | 99久在线观看| 99视频只有精品| 国产精品成av人在线视午夜片| 成人婷婷桔色| 26uuu成人网| 99久久精品色老| 丁香六月婷婷综合| 激情文学 综合 九月| 夜夜撸天天日| 无码少妇高潮喷水A片免费| 人人干人人干骚美女| 久久9久| 精品亚洲国产成AV人片传媒| 精品人妻一区二区三区四区不卡在| 日操熟女| www.99热. com这里只有精品| 一本道在线电影| 很很操96| 五月天婷婷综合网| 99久久久| 亚洲天堂色色| www.激情五月天。com| 99热网站| 天天激情5月天亚洲| 99自拍视频在线| 97碰碰在线看视频免费| 9热在线视频| 手机旧版看人妻1025| 激情婷婷丁香五月| www.婷婷,com| 少妇人妻丰满做爰XXX| www久久艹| 久噜久噜| 婷婷婷婷婷婷婷五月丁香| 日本三级第一页| 99久久精| 激情五月天 婷婷| 99色视频| 69久久99精品久久久久婷婷| 夜夜天天天天天干天天爽| 欧美色色色色色| 色婷婷狠狠久久综合五月 | 桃色成人网| 久热中文字幕| 99热中文字幕久久| 成功精品影院| AA久久| 婷婷王月天影院| 国产做爰视频免费播放| 曰曰久久| 九九视频这里只有精品| av国产精品| 99狠狠色| 亚洲视频伍月婷婷| 无码少妇高潮喷水A片免费| 亚洲人妻Av| 日韩爱操视频| 色色欧美。| 六月激情久久婷婷| 天天肏视频| 人人爽欧美婷婷久久久五月丁香| 色婷婷丁香特级性爱视频| 色综合五月天| 婷婷五月丁香六月| 丁香五月婷婷五月| 久久久久久久久久久jjjj| 狠狠色丁香99| 大香蕉综合| 九九热a| 欧美三级欧美一级| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 99er免费在线观看| 五月丁香激情综合网| 天天综合天天玩夜夜玩天天玩夜夜玩| 综合色七七| 色吧婷婷| 99热这只有| 久久婷五月影院| 欧美大香蕉视频| 色频玖玖五月天| 狠狠爱婷婷| 免费91久久精品| 天天插天天干天天舔| 国产成人精品一区二区三区视频 | 五月停视频天堂| 五月丁香六月欧美| 日本色色色色色色色色一色二色| 777久久综合视频| 99久久综合| 久久九九免费大视频| 国产激情综合| 99久久国产成人精品| 狠狠干婷婷| 婷婷丁香午夜综合影视| 丰满老熟妇BBBBB搡BBB| 午夜丁香六月婷| 精品久久穴| 日本欧美国产| www.1024久久| 99这里有精品| 站长推荐无码播放| 五月天婷婷激情小说电影|