精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

一区二区三区四区国产精品| 日韩av网站在线观看| 欧美白人最猛性xxxxx69交| 国产中文字幕乱人伦在线观看| 国模私拍视频在线| 老牛嫩草一区二区三区日本| 日韩视频在线观看免费| 在线精品视频播放| av亚洲一区| 一区二区三区四区不卡在线 | 精品影片在线观看的网站| 欧美午夜精品理论片a级按摩| 91麻豆天美传媒在线| 男人天堂网在线观看| 激情小说亚洲一区| 欧美做受高潮电影o| 午夜国产福利一区二区| 久久91成人| 精品久久久久久久久久久久包黑料| 久久久久免费精品| 波多野结衣在线播放| 国产精品三级在线观看| 久久精品ww人人做人人爽| 91成人一区二区三区| 先锋影音国产一区| 欧美激情videoshd| 亚洲一二三在线观看| 少妇精品久久久一区二区| 日韩精品一区二区三区中文不卡 | 亚洲午夜未删减在线观看| 美女日批在线观看| 久久久久久久性潮| 日本高清成人免费播放| 黄色大片中文字幕| 图片区小说区亚洲| 亚洲视频在线一区二区| 亚洲欧美日韩精品久久久| 天堂资源中文在线| eeuss影院一区二区三区| 亚洲最大福利网站| 亚洲视频中文字幕在线观看| 视频在线在亚洲| 欧美在线观看视频| 成人午夜视频在线播放| 在线观看一区| 高清欧美性猛交| jizz国产免费| 亚洲视频观看| 欧美激情videoshd| 国产精品2020| 最新亚洲一区| 久久久久国色av免费观看性色| 激情视频在线播放| 午夜天堂精品久久久久| 久久777国产线看观看精品| 欧美日韩精品亚洲精品| 欧美精品一线| 国内精品小视频| 日本免费观看视| 久久av一区二区三区| 欧美在线亚洲一区| 在线视频精品免费| 久久精品国产免费看久久精品| 国产专区精品视频| 国产精品国产三级国产普通话对白| 老司机午夜精品| 91gao视频| 亚洲黄色精品视频| 91一区二区在线观看| 欧美日韩国产精品一区二区| 欧美视频综合| 国产精品久久久爽爽爽麻豆色哟哟 | 国产精品色哟哟| 特级毛片在线免费观看| 成人在线播放免费观看| 亚洲一区中文日韩| 欧美性大战久久久久xxx| 国产精品久久久久av电视剧| 欧美日韩激情在线| www.污污视频| 大奶一区二区三区| 国产香蕉一区二区三区在线视频 | 日本在线人成| 亚洲一区二区在线播放相泽| 男人和女人啪啪网站| 日本美女久久| 日韩欧美亚洲国产精品字幕久久久| 亚洲自拍偷拍精品| 欧美一区二区三| 欧美精品在线视频观看| 在线能看的av| 极品美女销魂一区二区三区免费| 国产青春久久久国产毛片| 国产日本在线| 亚洲影视在线观看| 啊啊啊国产视频| 国产精品久久久久av蜜臀| 国产一区二区三区三区在线观看| 极品久久久久久| 久久先锋资源| 成人一区二区三区四区| 在线免费黄色| 午夜国产不卡在线观看视频| 日本高清久久久| 天堂av一区二区三区在线播放| 色偷偷av一区二区三区| 日本在线视频免费观看| 久久精品免费观看| 欧美不卡在线一区二区三区| 动漫一区在线| 欧美视频在线播放| 国产福利在线观看视频| 欧美一区二区三区久久精品茉莉花 | 一级黄色录像视频| 日本成人在线电影网| 国产亚洲一区在线播放| 超鹏97在线| 欧美三级在线播放| 朝桐光av一区二区三区| 午夜国产欧美理论在线播放 | 97国产精东麻豆人妻电影 | 九九九九精品九九九九| av免费在线观看网址| 欧美日韩中文另类| 瑟瑟视频在线观看| 欧美喷水视频| 亚洲xxx自由成熟| 久久精品视频观看| 欧美日韩视频不卡| 色屁屁草草影院ccyy.com| 亚洲中字在线| 国产日韩欧美亚洲一区| 中中文字幕av在线| 欧美一区二区三区色| 欧美一区二区三区观看| 日本va欧美va欧美va精品| 久久资源亚洲| 波多野结衣亚洲| 国产视频久久久久| 91蜜桃视频在线观看| 成人一区在线看| 免费看毛片的网址| 国产图片一区| 欧美专区在线观看| 精品一二三区视频| 在线观看不卡一区| 国产性猛交xx乱| 麻豆成人在线观看| 亚洲国产精品女人| 亚洲一区电影| 97久久精品视频| 香蕉久久国产av一区二区| 欧美性xxxxxxx| www.久久国产| 日韩二区三区四区| 一区二区三区四区国产| 99国内精品久久久久| 久久成人18免费网站| 国产日韩一级片| 樱花影视一区二区| 一边摸一边做爽的视频17国产| 99精品欧美| 欧美婷婷久久| 亚洲精品无播放器在线播放| 久久国产精品久久久久久久久久| 亚洲精品18p| 污片在线观看一区二区| 香蕉视频久久久| 狠狠色丁香久久婷婷综合_中| 福利在线小视频| 免费福利视频一区| 日韩免费观看视频| 成人黄色在线电影| 亚洲精品xxx| 最新中文字幕免费| 一区二区三区免费在线观看| 亚洲欧美日本一区| 日本成人中文字幕| www.avtt| 日韩免费视频| av色综合网| 黑人巨大亚洲一区二区久| 色天天综合狠狠色| 日韩一级片免费看| 欧美在线一二三| 久久久久久久久久久97| 国产午夜久久久久| 久久发布国产伦子伦精品| 西西人体一区二区| 亚洲五码在线观看视频| 欧美一级全黄| 亚洲直播在线一区| 天天免费亚洲黑人免费| 成人97在线观看视频| 蝌蚪视频在线播放| 精品国产91九色蝌蚪| 在线观看中文字幕码| 亚洲第一主播视频| 中国一级片在线观看| 91在线视频网址| 亚洲国产欧美91| 蜜臀精品久久久久久蜜臀| 91午夜在线观看| 天堂美国久久| 日韩精品不卡| 欧美黑白配在线| 91久久伊人青青碰碰婷婷| 小明成人免费视频一区| 57pao成人永久免费视频| 神马午夜伦理不卡 | 美女一区二区三区在线观看| www插插插无码视频网站| 国产精品成人一区二区不卡| 欧美一区二区福利| 欧美天堂社区| 国产精品视频在线免费观看| 99久久久成人国产精品| 国产精品露脸av在线| 自拍网站在线观看| 久久久免费高清电视剧观看| 黄色片网站在线| 色777狠狠综合秋免鲁丝| 无码国产色欲xxxx视频| 精品久久人人做人人爰| 国产乱叫456在线| 欧美日韩成人一区二区| 国产情侣免费视频| 欧美午夜www高清视频| 国产精品成人av久久| 亚洲精品乱码久久久久久久久| 女同久久另类69精品国产| 久久精品人人做人人爽人人| 亚洲精品女人久久久| 99久久精品99国产精品| 欧美日韩人妻精品一区在线| 成人精品亚洲人成在线| 亚洲成人激情小说| 国产成人免费网站| jjzz黄色片| 成人久久18免费网站麻豆 | 色天天综合网| 亚洲一区三区在线观看| 色综合久久网| 久久久久久久久久久一区| 香蕉一区二区| 欧美精品久久| 精品国产视频| 中文字幕剧情在线观看一区| 99精品综合| 国产日韩第一页| 欧美日韩国产精品一区二区亚洲| 日韩一级特黄毛片| 99视频精品| 亚洲乱码中文字幕久久孕妇黑人| 性欧美暴力猛交另类hd| 激情五月婷婷久久| 精品制服美女丁香| 深夜视频在线观看| 99久久99久久精品免费看蜜桃| 成人在线视频免费播放| 久久久久久电影| 极品久久久久久久| 亚洲欧美日韩在线| 免费一级全黄少妇性色生活片| 亚洲成va人在线观看| 日产精品久久久| 欧美日韩在线综合| 99久久亚洲精品日本无码| 欧美精品一区二区久久婷婷| 水中色av综合| 亚洲欧美日韩天堂一区二区| 日本系列第一页| 精品欧美aⅴ在线网站| 免费看一级视频| 欧美日韩电影在线播放| www.看毛片| 国产视频精品久久久| 欧美一区二区三区在线观看免费| 欧美精品在线第一页| 538在线精品| 国产精品激情av在线播放| 91精品一区| 精品蜜桃传媒| 久久一区二区中文字幕| 欧美黄网在线观看| 久久久人人人| 一区二区久久精品| 99视频精品免费视频| 免费视频91蜜桃| 亚洲午夜一区二区三区| 69xxxx国产| 日韩女优av电影| 成人在线播放视频| 欧美激情在线狂野欧美精品| 欧美成人影院| 999热视频| 欧美中文一区二区| 女人被男人躁得好爽免费视频| 久久综合九色综合欧美狠狠| 丰满人妻一区二区三区53视频| ww久久中文字幕| 黄色一级视频在线观看| 欧美三级欧美一级| 天天爽夜夜爽夜夜爽| 欧美成人免费一级人片100| 成人av三级| 国产精品18毛片一区二区| 成人同人动漫免费观看| 日本网站免费在线观看| 国产精品系列在线播放| 一本在线免费视频| 欧美性猛交xxxx富婆弯腰| 精品国产亚洲av麻豆| 最近免费中文字幕视频2019| 日韩av影片| 国产精品一区二区三区在线 | 亚洲精品日韩欧美| 丝袜美腿av在线| 成人美女av在线直播| 成人羞羞网站入口| 无码人妻丰满熟妇区五十路百度| www..com久久爱| 国产一级淫片免费| 日韩一区二区高清| 久草免费在线观看| 国产欧美在线看| 日韩av有码| 日本久久久久久久久久久久| 久久久噜噜噜久久人人看| 影音先锋亚洲天堂| 亚洲精品福利视频| 黑森林国产精品av| 精品久久久久久亚洲| 尹人成人综合网| 国内精品免费视频| 亚洲综合自拍偷拍| 亚洲av无码国产精品永久一区| 久久这里有精品视频| 99视频这里有精品| 中文字幕一区二区三区四区五区六区 | 2019中文字幕免费视频| 欧美大片网址| 国产精品丝袜久久久久久消防器材| 99精品桃花视频在线观看| 亚洲国产成人精品激情在线| 精品乱码亚洲一区二区不卡| 日本孕妇大胆孕交无码| 国产精品美女xx| 国产亚洲毛片| 中文字幕国产专区| 欧美怡红院视频| 日韩大片在线永久免费观看网站| 国产主播欧美精品| 亚洲图片在线| 成人免费无码大片a毛片| 欧美性黄网官网| h视频网站在线观看| 国产美女直播视频一区| 香蕉av一区二区| 日本少妇一级片| 精品国产乱码久久久久久虫虫漫画 | 成人福利在线看| 成年人免费高清视频| 国产亚洲激情在线| 羞羞视频在线观看一区二区| 肉大捧一出免费观看网站在线播放| 懂色中文一区二区在线播放| 日本在线观看中文字幕| 亚洲天堂男人天堂女人天堂| 激情欧美一区二区三区黑长吊| 中文字幕一区二区三区乱码| 成人深夜在线观看| 中文字幕手机在线视频| 久久视频免费在线播放| 视频在线一区| avav在线看| 亚洲精品国久久99热| 性感美女视频一二三| 成人黄色生活片| 一区二区福利| 黄色片子在线观看| 亚洲精品国产电影| 亚洲伦理一区二区| 国产一区二区视频播放| 中文字幕乱码久久午夜不卡| 国产高清免费观看| 国产成人精品日本亚洲| 综合一区在线| 成人免费毛片糖心| 日韩欧美专区在线| 成人黄色图片网站| 男人添女人荫蒂免费视频| 中文字幕精品三区| 少妇一级淫片免费看| 成人黄色生活片| 夜夜精品视频| 91香蕉视频在线播放| 亚洲社区在线观看| 国产精品白浆| 久久久久久久久久久久久久久国产 |