精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

vivo 容器集群監控系統優化之道

云計算
本文介紹了vivo容器團隊基于 Prometheus等云原生監控生態來構建的容器集群監控體系,在業務接入容器監控的過程中遇到的挑戰、困難,并分享了相應的應對策略和優化方案。

一、背景介紹

隨著vivo業務遷移到容器平臺,vivo云原生監控體系面臨著指標量快速上漲帶來的一系列挑戰,本文將分享vivo 容器化項目中容器監控遇到的問題以及我們的解決和優化方法。

二、監控架構

首先對vivo容器監控架構進行一個簡單的介紹。

圖片


  • 【架構高可用】:集群維度的雙副本 Prometheus 采集底層exporter數據,adapter多實例自動選主實現容災。
  • 【數據持久化】:通過remoteWrite將數據存儲到后端的VictoriaMetrics中進行持久化存儲,Grafana使用VictoriaMetrics做為數據源展示和告警。
  • 【監控統一化】:通過remoteWrite將數據交由kafka-adapter轉發到Kafka,由公司基礎監控等服務通過消費Kafka中的數據來進行展示和告警。

原生Prometheus沒有提供高可用的標準方案,我們通過自研 Adapter “分組選舉”方式實現去重,即每個 Prometheus 副本對應一組 Adapter,兩組 Adapter 之間會進行選主,只有Leader組的 Adapter才會轉發數據。通過這種方式既實現了去重,也實現了Prometheus雙副本高可用。

三、問題現象

過去幾年來,vivo容器化服務快速增長,監控流量上漲數倍,我們主要遇到如下三個問題:監控組件負載快速升高、容器監控數據斷點和數據存儲組件負載陡增

圖片

3.1 監控組件負載快速升高

容器化每次部署IP都會變化的特性,導致容器監控指標量相比物理機和虛擬機要高出好幾個數量級。同時由于集群規模的不斷增加以及業務的快速增長,導致監控 Prometheus、VictoriaMetrics 負載快速增高,給我們容器監控帶來極大的挑戰。監控總時間序列可以精簡為以下的表達式,即與 Pod數量、Pod指標量、指標Label維度數量呈線性關系:

  TotalSeries = PodNum * PerPodMetrics * PerLabelCount

而隨著集群規模的不斷增加以及容器數量的不斷增多,監控序列就會快速增長,同時監控組件負載快速升高,會對容器監控系統的穩定性產生影響。

3.2 監控丟點現象

vivo容器層面(業務)的監控數據則通過自研Adapter轉發給Kafka,進而存儲到公司基礎監控做業務監控展示和告警配置,同時也存儲一份到Druid做更多維度的統計報表。我們在推送監控數據的時候發現,Pod維度的指標難以保證發送頻率,即配置指標采集頻率為 10s,但是在推送的數據中頻率無法做到10s,且會有波動。下圖為 采集頻率設置 10s,查詢1分鐘的指標數據。

一分鐘內某一容器的 container_cpu_user_seconds_total 指標的值:

圖片

可以看到只取到了4個值,與期望的 6個值不相符,即發生了“掉點”的情況,監控面板按指定頻率展示數據會有頻繁掉0現象。

圖片

3.3 數據存儲組件負載陡增

圖片

vivo容器監控使用 VictoriaMetrics的v1.59.1-cluster版本做為后端時序數據庫來持久化存儲監控數據。在使用過程中發現 VictoriaMetrics的負載有不定期增高的情況,而后端數據庫的延遲會導致監控查詢告警功能的異常影響用戶體驗。

四、解法

4.1 監控組件負載快速升高

我們使用 Prometheus-Operator 管理 Prometheus,因為優化方案中有 Prometheus-Operator 相關的名詞,故為了下面的理解,先對 Prometheus-Operator 做一個介紹:

圖片

圖片來源:官方架構圖

上圖是Prometheus-Operator官方提供的架構圖,下面來介紹下圖中各組件:

  1. Operator:   Operator是最核心的部分,作為一個控制器,他會去創建Prometheus、ServiceMonitor資源對象,然后會一直監控并維持這些資源對象的狀態。
  2. Prometheus:這種資源對象就是作為Prometheus Server存在, Operator 根據自定義資源 Prometheus 類型中定義的內容而部署的 Prometheus Server。Prometheus 也可以通過 labelSelector 去匹配多個ServiceMonitor。
  3. ServiceMonitor:ServiceMonitor就是exporter的各種抽象,exporter是用來提供專門提供metrics數據接口的服務。Prometheus就是通過ServiceMonitor提供的metrics數據接口去 pull 數據的。該資源通過 Labels 來選取對應的 Service Endpoint,讓 Prometheus Server 通過選取的 Service 來獲取 Metrics 信息。一個 ServiceMonitor 可以通過 labelSelector 的方式去匹配一類 Service。
  4. Service:Service是Kubernetes內建資源用于把一組擁有相同功能的Pod封裝起來,并提供一個統一的入口來暴露這組Pod的服務,從而為客戶端訪問提供了一個穩定的訪問地址,屏蔽了底層Pod的變化和故障。Service可以結合Kubernetes中的其他組件實現負載均衡、服務發現、集群內部通信等功能。

我們重點關注 ServiceMonitor,因為ServiceMonitor為我們提供了指定 target 采集的配置,例如采集頻率,target內指標過濾,指標中label重命名等等操作。

對于監控組件負載快速升高問題的解決,我們主要從兩個方面著手,分別是指標治理以及性能優化

圖片圖片

4.1.1 指標治理

1、過濾未使用指標

第一個工作是過濾無用指標,Prometheus 會去從 Target 中去獲取指標數據。每個 Target 下會有多個 endponit。每一個endpoint 又會提供幾十上百個指標,而每個指標下的數據量也很大。但在生產環境中我們實際上用到的指標可能只有幾十個,Prometheus采集過來我們又沒有用到的指標就會浪費資源并降低監控系統的穩定性。因此我們需要對Prometheus 采集到的指標進行一定程度的過濾,從而減少資源的占用。

通過Prometheus提供的

scrape_samples_scraped指標對采集的 target進行分析找到采集樣本量大的Target。

我們進行指標過濾主要就是關注這些數據量大的 target,在進行指標過濾之前需要收集 Prometheus所采集的所有指標數據以及當前監控告警面板以及相關依賴服務所使用到的指標。再根據采集的指標和正在使用的指標進行正則表達式的書寫。最終在對應 target的 ServiceMonitor將正則表達式寫入。Prometheus則會過濾掉我們不需要的指標。下面就是過濾 cAdvisor這個 target 的 container_threads 開頭的指標的示例。

# 過濾  container_threads  開頭的指標
    - action: drop
      regex: container_threads(.*)
      sourceLabels:
      - __name__

完成指標精簡后,監控單次采集樣本量從 1000萬降低到 250萬。Prometheus 的CPU 使用量降低 70% ,內存 使用量降低 55%。

圖片

圖片

圖片

2、過濾低優先級 pod 相關指標

對精簡后的指標進行分析,發現 Pod維度的監控指標占比為70%,且有相當比例的 Pod 是集群組件的 Daemonset的Pod。而Daemonset的Pod是隨著集群規模的增加而增加的。

而對于大部分的集群組件Daemonset,因為設置了資源上限,我們不需要關注其資源消耗情況,只需要關注是否存活和正常提供服務即可。故可以對這部分 Pod 的指標進行一個精簡,不收集這些 Pod的 memory、cpu 等容器監控指標。

一個 Daemonset 提供的 Pod 的 Namespace 是相同的,且Pod名稱前綴相同。

# 名稱為cadvisor的 daemonset 提供的 pod
cadvisor-xxxx1                                    1/1     Running            
cadvisor-xxxx2                                    1/1     Running

cAdvisor 提供的指標中包含了 namespace 和 pod 的 label。

container_memory_cache{cnotallow="POD", namespace="monitoring", pod="kube-state-metrics-xxxx-xxxx", service="cadvisor"}

所以我們通過在 ServiceMonitor 上面組合指標的 pod 和 namespace,并與指定的規則進行匹配丟棄掉我們不需要的 daemonset pod 的序列。

# 過濾掉 monitoring namespace 下面 telegraf 這個daemosnet提供的 pod 的相關指標
    - action: drop
      regex: monitoring@telegraf(.*)
      separator: '@'
      sourceLabels:
      - namespace
      - pod

在對集群中部分ds Pod 的指標進行過濾后。

圖片

cAdvisor 的單次采集數據量下降 70%。效果十分明顯。

4.1.2 性能優化

1、均衡 Prometheus 負載

vivo 容器監控架構中最核心的組件就是 Prometheus了,而 Prometheus 也是日常出現問題最多的一個組件,因為 Prometheus 不僅是需要采集數據,還需要將數據通過remote_write的方式推送的VictoriaMetrics 和 Kafka中。

圖片圖片

將監控 target 進行分類交由不同的組 Prometheus 采集,且每類 Prometheus 為雙副本模式。隨著集群規模的增加,發現當前模式的不合理之處,即因為Pod維度監控數據量級十分高,導致container 類型 Prometheus 負載遠遠高于其他類型的 Prometheus。在高負載的情況下面會發生重啟,remote_write 異常等情況。

我們 Prometheus組件架構為按類型采集監控指標。其中 Container類型的 Prometheus采集的指標數量遠遠大于 Component、Host、Resource類型。故需要手動平衡 集群中 Prometheus的負載 將集群的 container類型 Prometheus上面kubelet 和 kube-state-metrics 轉移到 resource-Prometheus 上面 降低 container-Prometheus負載。(與此同時resource-Prometheus也會發送到 kafka-adapter)。且在負載低的Prometheus上 監控跳轉面板用到的監控指標(核心指標)進行重復采集,盡可能防止數據丟失。降低了container-Prometheus 40%的負,極大的減少了Prometheus異常情況的發生。

2、減少Prometheus存儲數據時間

我們的第2個修改點在 Prometheus的數據存儲時間上,Prometheus的默認存儲時間為2周,后續測試發現 Prometheus的存儲數據時間對內存的影響很大,且現在監控數據的持久化存儲都放在 VictoriaMetrics 上面,Prometheus存儲的數據主要用于排查問題,不需要承擔持久化存儲的任務。故我們修改Prometheus采集的數據本地存儲時間從7天改為2天。Prometheus 內存消耗降低 40%。

圖片

4.2 監控丟點現象

4.2.1 問題定位

最初我們認為是 Prometheus 在remote_write 的過程中發生了丟點的情況,但是通過在社區查詢和配置問題Prometheus 遠程寫相關的監控指標發現Prometheus并沒有在遠程寫的時候丟棄數據,且發現在推送數據的過程中只有kubelet 內置的 cAdvisor提供的數據有"丟點"的情況。 故我們開始研究指標提供端組件 cAdvisor,發現cAdvisor”丟點”問題的原因在于 cAdvisor 組件有自己的刷新頻率 和 時間戳。cAdvisor 會去 cgroup 中讀取數據并存儲到內存中供外部使用。Kubelet的cAdvisor 的刷新數據頻率達不到 10s,并且會根據刷新時間放到指標中。 而 Prometheus 按 10s 采集頻率去采集數據時,底層的 cAdvisor 如果還沒有去刷新數據,內存中則還是上次的數據。而cAdvisor 在0.31版本及之后的版本中添加了時間戳支持,即 cadvisor 提供的數據會帶上自己的時間戳。當 Prometheus 去采集 cadviosr數據時會以 cAdvisor提供的時間戳為準。故當 Prometheus 按照ServiceMonitor 設置的采集頻率10s去采集cAdvisor 提供的數據時,如果在此期間 cAdvisor 沒有進行數據更新,則Prometheus會采集到與上次采集時間戳和值相同的情況,Prometheus 就只會記錄一條數據。這就是cAdvisor “丟點”的本質。cAdvisor的刷新頻率由 housekeeping相關參數 和 抖動 機制確定。

kubelet 內置 cAdvisor設置的參數:

// Kubelet 內置 cadvisor 默認參數
// cadvisor housekeeping 的間隔,刷新數據的間隔
const defaultHousekeepingInterval = 10 * time.Second      
// cadvisor 是否開啟動態 housekeeping
const allowDynamicHousekeeping = true                        
/*
cadvisor housekeeping 的最大間隔,allow_dynamic_housekeeping=true的時候, 會判斷容器活躍程度動態的調整 HousekeepingInterval, 當發現一段時間為容器狀態為發生改變會將 housekeeping 的間隔 設置為maxHousekeepingInterval 。
*/
const maxHousekeepingInterval = 15 * time.Second

4.2.2 解決方案

根據上面的分析,定位到無法保證指標頻率的根本原因在于 cAdvisor 的默認啟動參數,而目前我們采集的cAdvisor是內置于 kubelet 中的,如果要修改參數的話需要改動 kubelet。故綜合考慮集群穩定性和維護成本等因素,我們決定以 daemonset 的方式部署一套cAdvisor,并根據需求設置 housekeeping 相關的參數來保證 cAdvisor 刷新數據的頻率,并設置 Prometheus 采集 cAdvisor 數據的時候忽略 cAdvisor 自帶的時間戳,即通過單獨部署的 cAdvisor 提供Pod的監控數據并保證監控數據的頻率。

我們的工作主要在部署 cAdvisor 和 修改對應的 ServiceMonitor。

1、部署 cAdvisor:主要是確定cAdvisor啟動參數, 主要操作為禁用dynamic_housekeeping 和 設置 housekeeping_interval 為 1s,來保證 cAdvisor 獲取數據的頻率。

containers:// 參數設置
  - -allow_dynamic_housekeeping=false
  - -housekeeping_interval=1s

2、創建對應的ServiceMonitorcAdvisor 讓Prometheus 忽略cadviosr自帶的時間戳。(因為 cadviosr自身的抖動機制,頻率無法固定)

cAdvisor的抖動機制:

// return jitter(cd.housekeepingInterval, 1.0)
func jitter(duration time.Duration, maxFactor float64) time.Duration {
if maxFactor <= 0.0 {
maxFactor = 1.0
}
wait := duration + time.Duration(rand.Float64()*maxFactor*float64(duration))
return wait
}

cAdvisor的 ServiceMonitor上配置忽略指標自帶時間戳

通過單獨部署的 cAdvisor和 Prometheus 的忽略 cAdvisor 自帶的時間戳,我們成功的解決了容器監控斷點的問題,保證了監控的頻率。

spec:
  endpoints:
  - honorLabels: true
    // 忽略時間戳
    honorTimestamps: false
    interval: 10s

可以看到再去采集 1分鐘內的容器相關監控數據,是很標準的 6 個數據點。至此監控“掉點”問題解決。

圖片

監控面板展示數據連續,無中斷現象發生。

圖片

4.3 后端數據庫負載突增

4.3.1 問題定位

從監控架構圖可以看到,我們使用社區 v1.59.1-cluster版本的VictoriaMetrics 作為監控后端的時序數據庫,并在Prometheus 采集的數據后通過remote_write寫入到時序數據庫VictoriaMetrics中進行持久化存儲,Grafana會從VictoriaMetrics 讀取數據展示在對應的 Dashboard上面。而在我們的實際使用中發現,Prometheus 遠程寫入VictoriaMetrics有不定期延遲飆升的現象。

Prometheus寫入VictoriaMetrics延遲

圖片

寫入數據庫延遲的飆升會導致,監控面板展示延時、監控誤告警等一系列問題。

我們對 VictoriaMetrics的詳細指標進行分析。發現 vmstorage 組件在底層執行 indexdb merge 操作的時候,其 CPU、內存等資源使用量會有一個突增, 即indexdb 的 Merge 操作非常消耗資源。

圖片

4.3.2 解決方案

正是由于VictoriaMetrics 這些的資源突增,導致自己負載過高,無法正常響應 Prometheus的 remote_write的數據。我們所期望的是在 indexdb merge 的時候,資源使用量的增長不會影響到正常的數據插入和查詢。經過查詢相關資源得到VictoriaMetrics在1.73.0版本中對indexdb的 merge進行優化,提升了整體性能。故我們對VictoriaMetrics 進行了版本升級以優化這個問題。在版本升級后,未發現 VictoriaMetrics 在indexdb merge時有資源突增的情況發生。

圖片

五、總結

在Kubernetes大規模使用的今天,以 Prometheus 為核心的監控系統已成為云原生監控領域的事實標準。原生Prometheus沒有提供高可用和持久化存儲的標準方案,vivo通過自研adapter實現了Prometheus雙副本高可用,并將數據寫入到VictoriaMetrics中實現了數據的持久化存儲。而在業務規模的增長的過程中,監控數據量也在快速增長,對監控采集和存儲組件都帶來了不小的壓力,當前我們通過降低數據提供端指標數量、優化采集組件參數、升級開源存儲組件版本的方式,提升了監控系統的性能。

而架構的演變是隨著業務規模的增長而不斷的演變改進的,未來我們將結合業務實際規模優化監控架構提升容器監控整體性能。后續我們規劃在監控采集、監控查詢、監控數據提供三個方向繼續提升提供系統性能:

  • 【監控采集】:改進數據采集端架構,應用自動分片從而降低采集端壓力。
  • 【監控查詢】:應用 PrometheusRule以降低常用查詢耗時,提升監控查詢體驗。
  • 【監控數據提供】:在exporter端降低數量從而更穩定提供的數據。
責任編輯:龐桂玉 來源: vivo互聯網技術
相關推薦

2022-06-16 13:21:10

vivo容器集群云原生

2025-03-06 10:33:04

2022-08-31 12:15:09

JavaScript代碼優化

2019-12-05 10:40:41

DockerMySQL數據庫

2023-12-20 21:36:52

容器平臺服務器

2022-12-15 11:26:44

云原生

2025-04-10 06:00:00

2022-12-29 08:56:30

監控服務平臺

2023-03-15 21:38:43

短視頻服務器

2025-02-20 08:00:00

2014-03-14 14:03:55

系統優化達夢集群

2022-09-14 23:14:10

vivoPulsar大數據

2022-04-28 09:36:47

Redis內存結構內存管理

2022-02-18 11:13:53

監控架構系統

2010-08-12 17:26:54

網站運維監控與報警機制

2024-11-13 21:18:02

2022-06-09 13:45:18

vivoK8S集群Kubernetes

2023-12-27 22:08:39

vivo數據庫

2020-08-20 08:06:13

操作系統AWS谷歌

2014-09-22 13:31:46

Linux
點贊
收藏

51CTO技術棧公眾號

少妇一区二区视频| 欧美hdxxx| 激情综合色综合久久综合| 久久五月天色综合| 久久福利小视频| jvid一区二区三区| 亚洲午夜在线观看视频在线| 蜜桃成人免费视频| 国产免费视频一区二区三区| 国产日韩1区| 久久亚洲欧美日韩精品专区| 亚洲观看黄色网| 成人国产精品久久| 欧美性猛交xxxxx水多| 一区二区在线中文字幕电影视频| 蜜臀av在线观看| 美腿丝袜亚洲一区| 2023亚洲男人天堂| 四虎免费在线视频| 久久中文视频| 亚洲乱码一区av黑人高潮| 91丝袜超薄交口足| av有声小说一区二区三区| 一区二区三区在线免费观看| 午夜视频久久久| 天天干在线观看| 国产成人欧美日韩在线电影| 国产精品嫩草影院一区二区| 日韩欧美三级视频| 一区二区三区在线电影| 中文字幕亚洲国产| 国产精品无码久久久久一区二区| 999精品视频在这里| 欧美精品亚洲二区| 色多多视频在线播放| 亚洲欧美电影| 五月激情丁香一区二区三区| av 日韩 人妻 黑人 综合 无码| www.久久热.com| 久久精品水蜜桃av综合天堂| 狠狠色狠狠色综合人人| 亚洲国产精品18久久久久久| 国产一二精品视频| 国产欧美久久久久久| 国产精品成人久久久| 麻豆9191精品国产| 欧美最猛黑人xxxx黑人猛叫黄| 国产黄色片视频| 国产精品va| 欧美高清电影在线看| av激情在线观看| 中文字幕人成人乱码| 久久亚洲精品一区| 国产大学生自拍| 欧美日韩国产在线一区| 欧美激情一区二区三区久久久| 私库av在线播放| 国产精品mm| 97精品国产97久久久久久| 中文在线观看免费网站| 国产亚洲成人一区| 国产成人精品一区二区在线| 亚洲男人天堂网址| 日本人妖一区二区| 91美女片黄在线观| 亚洲av少妇一区二区在线观看| 国产精品综合久久| 国产精品久久久久久久久久久久冷 | 国产免费高清av| 国产在线一区观看| 国产chinese精品一区二区| 天堂av资源网| 久久久国产午夜精品| 神马影院一区二区三区| 黄色网页在线免费观看| 亚洲综合无码一区二区| 国产免费黄色小视频| 性感美女一区二区在线观看| 欧美精品日韩一区| 97中文字幕在线观看| 亚洲成aⅴ人片久久青草影院| 在线播放国产精品| 欧美日韩成人免费观看| 免费在线日韩av| 国产日本欧美在线观看 | 亚州一区二区三区| 4438x亚洲最大成人网| 国产免费一区二区三区最新6| 免费成人av| 超碰97人人做人人爱少妇| 国产午夜小视频| 奇米一区二区三区| 国产传媒一区二区| 69av亚洲| 狠狠躁夜夜躁人人爽超碰91| 亚洲精品午夜在线观看| 99久久香蕉| 色婷婷久久一区二区| 国产真实夫妇交换视频| 日韩av一区二区三区四区| 99久久自偷自偷国产精品不卡| 日产精品久久久久久久性色| 亚洲欧美另类久久久精品2019| 无码人妻精品一区二区三区在线 | 在线播放日韩| 国产精品欧美日韩一区二区| 亚洲精品久久久久久无码色欲四季| 91麻豆swag| 永久免费网站视频在线观看| 亚洲www啪成人一区二区| 日韩欧美一级片| 日韩毛片无码永久免费看| 欧美午夜电影在线观看| 国产美女精品视频| 男人的天堂在线视频| 亚洲影视在线播放| 久久这里只精品| 免费成人网www| 97国产成人精品视频| 国产乱码久久久久| 国产欧美中文在线| www.99热这里只有精品| 国产成人免费av一区二区午夜| 亚洲色图13p| 国产在线视频你懂的| 久久精品99久久久| 欧美连裤袜在线视频| 国产精品186在线观看在线播放| 欧美另类一区二区三区| 人妻少妇无码精品视频区| 激情综合久久| 成人免费在线视频网址| 在线观看a视频| 色狠狠av一区二区三区| 国产精品伦子伦| 极品少妇一区二区三区| 99国产在线| 91在线中文| 精品视频在线视频| www.男人天堂| 亚洲日本国产| 国产精品一区而去| 丁香花在线高清完整版视频| 日韩欧美在线网站| 青青草国产在线观看| 国产一区二区三区免费观看| 欧美aaa在线观看| 日韩电影精品| 久久视频在线播放| 国产毛片久久久久| 亚洲精品日日夜夜| 好吊操视频这里只有精品| 欧美影视一区| 国产精品视频免费一区| 阿v视频在线| 精品视频在线播放免| 亚洲欧美偷拍一区| 日本一区二区三区dvd视频在线| 午夜免费一区二区| 成人婷婷网色偷偷亚洲男人的天堂| 国产精品普通话| 日本亚洲精品| 精品欧美乱码久久久久久1区2区| 久久精品无码人妻| 99视频精品全部免费在线| 国产综合av在线| 欧美欧美黄在线二区| 国产精品老女人精品视频| 尤物网在线观看| 日韩欧美电影一区| 免费观看一区二区三区毛片 | 精品少妇一区二区三区密爱| 精品制服美女丁香| 国产成人在线小视频| 开心激情综合| 国产精品一二三在线| 五月花成人网| 亚洲精品中文字| 97超碰国产在线| 亚洲超丰满肉感bbw| 亚洲AV无码国产成人久久| 久久99精品国产麻豆不卡| av动漫在线播放| 免费成人av| 97夜夜澡人人双人人人喊| 成人美女大片| 久久久精品在线| 天天干,夜夜爽| 欧美麻豆精品久久久久久| 日韩精品一区二区在线播放| 国产午夜精品福利| 欧美人与性动交α欧美精品| 欧美一级播放| 中文精品视频一区二区在线观看| 高清欧美性猛交xxxx黑人猛| 国产精品成人免费视频| 青春草在线免费视频| 在线成人免费网站| 黄色av一区二区三区| 欧美日精品一区视频| 国产做受高潮漫动| 亚洲特级片在线| 久久精品—区二区三区舞蹈 | 亚洲ⅴ国产v天堂a无码二区| 国产成人亚洲综合a∨婷婷图片| 成人一级片网站| 国内久久精品| 亚洲午夜精品久久久中文影院av| 美女网站色精品尤物极品姐弟| 成人av色在线观看| 亚洲午夜天堂| 欧美精品激情在线观看| 毛片在线看片| 中日韩美女免费视频网址在线观看 | 最新av在线播放| 亚洲欧美国产精品久久久久久久| 国产成年妇视频| 精品视频免费在线| 日批视频免费在线观看| 亚洲国产精品久久久久婷婷884| 亚洲色图欧美色| 久久精品一区二区三区不卡牛牛 | 亚洲欧美另类图片小说| youjizz亚洲女人| 国产欧美视频一区二区| 中文字幕av观看| 成人av网站在线| 国产精品果冻传媒| 国产成人鲁色资源国产91色综| 九九热精品在线播放| 蜜臀av国产精品久久久久 | 国产综合色视频| 亚洲36d大奶网| 老汉av免费一区二区三区 | 国产风韵犹存在线视精品| 91精品999| 久久99精品国产麻豆婷婷| 天天爽夜夜爽一区二区三区| 久久先锋资源| 亚洲人成无码www久久久| 毛片一区二区| 日本激情视频在线| 男人操女人的视频在线观看欧美| 国产a级片免费观看| 老司机午夜精品视频在线观看| 精品一区二区中文字幕| 亚洲欧美日韩国产一区| 国产a视频免费观看| 久久午夜电影| 中文字幕第38页| 国产一区二区三区四| 中文字幕久久久久久久| 国产成人一区在线| 催眠调教后宫乱淫校园| 久久综合久久鬼色| 国产精品国产三级国产专业不| 国产欧美视频一区二区三区| 国产白丝一区二区三区| 18欧美亚洲精品| 玖玖爱免费视频| 午夜欧美大尺度福利影院在线看| 日韩欧美一区二区一幕| 欧美性猛交xxx| 一二区在线观看| 日韩一区二区高清| 色丁香婷婷综合久久| 亚洲人成在线电影| 精品176二区| 欧美精品video| 竹内纱里奈兽皇系列在线观看| 国产精品美女主播在线观看纯欲| 亚洲精品三区| 国产欧美一区二区三区不卡高清| 国产精品密蕾丝视频下载| 伊人久久婷婷色综合98网| 国产精品va| mm1313亚洲国产精品无码试看| 久久成人18免费观看| 丰满少妇xbxb毛片日本| 久久免费的精品国产v∧| 网爆门在线观看| 亚洲一二三四在线| 精品国产午夜福利| 在线综合视频播放| 偷拍自拍在线| 久久国产精品偷| 日韩av福利| 91精品国产高清久久久久久91裸体| 欧美一区二区三区久久| 在线观看亚洲视频啊啊啊啊| 99精品国产一区二区青青牛奶 | 91色婷婷久久久久合中文| 亚洲天堂av中文字幕| 亚洲一区自拍偷拍| 国产精品无码一区| 亚洲电影免费观看| 成人免费高清在线播放| 精品中文字幕在线| 国产亚洲精品精品国产亚洲综合| 国产一区精品视频| 亚洲国产精品91| 99久久激情视频| 成人国产精品免费| 欧美日韩午夜视频| 欧美午夜在线一二页| 婷婷色在线视频| 久久的精品视频| 国内自拍亚洲| 秋霞毛片久久久久久久久| 樱桃成人精品视频在线播放| 奇米视频888| 欧美激情综合在线| 久草视频在线观| 亚洲第一福利视频| 国产成人l区| 国产精品视频中文字幕91| 亚洲精品国产setv| 老太脱裤让老头玩ⅹxxxx| 国产精品99久久久久久似苏梦涵| 欧美激情视频二区| 色老综合老女人久久久| 亚洲AV第二区国产精品| 欧美激情第99页| 欧美日本三级| 男人j进女人j| 国产在线精品一区二区夜色 | 成人a级免费视频| 欧美日韩第一| 成熟老妇女视频| ww久久中文字幕| 国产原创视频在线| 亚洲精品国产美女| 91桃色在线观看| 国产一区高清视频| 亚洲国产免费| 加勒比精品视频| 精品成人在线视频| 亚洲欧洲视频在线观看| 久久久最新网址| 牛牛影视一区二区三区免费看| 国产aaa免费视频| www.欧美.com| 久久精品国产成人av| 日韩精品极品视频| 欧美电影h版| 亚洲精品一品区二品区三品区| 欧美aaaaa成人免费观看视频| 成人做爰69片免网站| 欧美日韩一区国产| 欧美人xxx| 91影视免费在线观看| 综合在线视频| 少妇熟女视频一区二区三区| 亚洲国产一区二区三区青草影视| 欧美 日韩 国产 成人 在线| 国内成人精品一区| 免费成人结看片| 久久成年人网站| 亚洲制服欧美中文字幕中文字幕| 秋霞网一区二区| 日韩免费观看av| 国产精品88久久久久久| 无码国产精品一区二区高潮| 亚洲第一主播视频| 青青草手机在线| 国产精品99免视看9| 91久久夜色精品国产按摩| 亚洲丝袜在线观看| 欧美日韩色婷婷| 在线观看二区| 国产精品日韩一区二区三区| 美女日韩在线中文字幕| 免费精品在线视频| 欧美成人乱码一区二区三区| 一区二区乱码| 中文字幕日韩一区二区三区不卡| 国产91精品在线观看| 黄色片免费观看视频| 最近中文字幕日韩精品 | 久久国产精品二区| 亚洲免费电影在线观看| 不卡精品视频| 亚欧无线一线二线三线区别| 国产精品污网站| 黄色一级a毛片| 国产精品久久一区主播| 欧美天堂亚洲电影院在线观看| 免费a级黄色片| 91精品午夜视频| 中文字幕在线免费观看视频| 黄色一级视频播放| 久久一夜天堂av一区二区三区| 国产精品一区二区av白丝下载 | 欧美精品福利在线| 成人久久电影| 国产精品无码在线| 日韩亚洲欧美综合| 成人午夜亚洲| 国产91美女视频| 一区二区在线观看免费|