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

知乎十萬級容器規模的分布式鏡像倉庫實踐

開發 架構 開發工具 分布式
知乎在 2016 年已經完成了全量業務的容器化,并在自研容器平臺上以原生鏡像的方式部署和運行。

 知乎在 2016 年已經完成了全量業務的容器化,并在自研容器平臺上以原生鏡像的方式部署和運行。

后續我們陸續實施了 CI、Cron、Kafka、HAProxy、HBase、Twemproxy 等系列核心服務和基礎組件的容器化。

知乎既是容器技術的重度依賴者,也是容器技術的深度實踐者,本篇文章分享知乎在鏡像倉庫這個容器技術核心組件的生產實踐。

基礎背景

容器的核心理念在于通過鏡像將運行環境打包,實現“一次構建,處處運行”,從而避免了運行環境不一致導致的各種異常。

在容器鏡像的發布流程中,鏡像倉庫扮演了鏡像的存儲和分發角色,并且通過 tag 支持鏡像的版本管理,類似于 Git 倉庫在代碼開發過程中所扮演的角色,是整個容器環境中不可缺少的組成部分。

鏡像倉庫實現方式按使用范圍可以分為兩類:

  • Docker Hub,在公網環境下面向所有容器使用者開放的鏡像服務
  • Docker Registry,供開發者或公司在內部環境下搭建鏡像倉庫服務。

基于公網下載鏡像的網絡帶寬、延遲限制以及可控性的角度考慮,在私有云環境下通常需要采用 Docker Registry 來搭建自己的鏡像倉庫服務。

Docker Registry 本身開源,當前接口版本為 V2 (以下描述均針對該版本),支持多種存儲后端,如:

  • InMemory:A temporary storage driver using a local in memory map. This exists solely for reference and testing。
  • FileSystem:A local storage driver configured to use a directory tree in the local file system。
  • S3:A driver storing objects in an Amazon Simple Storage Service (S3) bucket。
  • Azure:A driver storing objects in Microsoft Azure Blob Storage。
  • Swift:A driver storing objects in Openstack Swift。
  • OSS:A driver storing objects in Aliyun OSS。
  • GCS:A driver storing objects in a Google Cloud Storage bucket。

默認使用本地磁盤作為 Docker Registry 的存儲,用下面的配置即可本地啟動一個鏡像倉庫服務:

  1. $ docker run -d \ 
  2.   -p 5000:5000 \ 
  3.   --restart=always \ 
  4.   --name registry \ 
  5.   -v /mnt/registry:/var/lib/registry \ 
  6.   registry:2 

生產環境挑戰

很顯然,以上面的方式啟動的鏡像倉庫是無法在生產環境中使用的,問題如下:

  • 性能問題:基于磁盤文件系統的 Docker Registry 進程讀取延遲大,無法滿足高并發高吞吐鏡像請求需要。

且受限于單機磁盤,CPU,網絡資源限制,無法滿足上百臺機器同時拉取鏡像的負載壓力。

  • 容量問題:單機磁盤容量有限,存儲容量存在瓶頸。知乎生產環境中現有的不同版本鏡像大概有上萬個,單備份的容量在 15T 左右,加上備份這個容量還要增加不少。
  • 權限控制:在生產環境中,需要對鏡像倉庫配置相應的權限認證。缺少權限認證的鏡像倉庫就如同沒有認證的 Git 倉庫一樣,很容易造成信息泄露或者代碼污染。

知乎的生產環境中,有幾百個業務以及幾萬個容器運行在容器平臺上,繁忙時每日創建容器數近十萬,每個鏡像的平均大小在 1G 左右。

部署高峰期對鏡像倉庫的壓力是非常大的,上述性能和容量問題也表現的尤為明顯。

知乎解決方案

為了解決上述的性能和容量等問題,需要將 Docker Registry 構造為一個分布式服務,實現服務能力和存儲容量的水平擴展。

這其中最重要的一點是為 Docker Registry 選擇一個共享的分布式存儲后端,例如 S3,Azure,OSS,GCS 等云存儲。

這樣 Docker Registry 本身就可以成為無狀態服務從而水平擴展。

實現架構如下:

該方案主要有以下幾個特點:

客戶端流量負載均衡

為了實現對多個 Docker Registry 的流量負載均衡,需要引入 Load Balance 模塊。

常見的 Load Balance 組件,如 LVS,HAProxy,Nginx 等代理方案都存在單機性能瓶頸,無法滿足上百臺機器同時拉取鏡像的帶寬壓力。

因此我們采用客戶端負載均衡方案,DNS 負載均衡:在 Docker daemon 解析 Registry 域名時,通過 DNS 解析到某個 Docker Registry 實例 IP 上,這樣不同機器從不同的 Docker Registry 拉取鏡像,實現負載均衡。

而且由于 Docker daemon 每次拉取鏡像時只需解析一次 Registry 域名,對于 DNS 負載壓力本身也很小。

從上圖可以看出,我們每一個 Docker Registry 實例對應一個 Nginx,部署在同一臺主機上。

對 Registry 的訪問必須通過 Nginx,Nginx 這里并沒有起到負載均衡的作用,其具體的作用將在下文描述。

這種基于 DNS 的客戶端負載均衡存在的主要問題是無法自動摘掉掛掉的后端。

當某臺 Nginx 掛掉時,鏡像倉庫的可用性就會受到比較嚴重的影響。因此需要有一個第三方的健康檢查服務來對 Docker Registry 的節點進行檢查,健康檢查失敗時,將對應的 A 記錄摘掉,健康檢查恢復,再將 A 記錄加回來。

Nginx 權限控制

由于是完全的私有云,加上維護成本的考慮,我們的 Docker Registry 之前并沒有做任何權限相關的配置。

后來隨著公司的發展,安全問題也變的越來越重要,Docker Registry 的權限控制也提上了日程。

對于 Docker Registry 的權限管理,官方主要提供了兩種方式,一種是簡單的 basic auth,一種是比較復雜的 token auth。

我們對 Docker Registry 權限控制的主要需求是提供基本的認證和鑒權,并且對現有系統的改動盡量最小。

basic auth 的方式只提供了基本的認證功能,不包含鑒權。而 token auth 的方式又過于復雜,需要維護單獨的 token 服務。

除非你需要相當全面精細的 ACL 控制并且想跟現有的認證鑒權系統相整合,否則官方并不推薦使用 token auth 的方式。這兩種方式對我們而言都不是很適合。

我們***采用了 basic auth + Nginx 的權限控制方式。basic auth 用來提供基本的認證,OpenRestry + lua 只需要少量的代碼,就可以靈活配置不同 URL 的路由鑒權策略。

我們目前實現的鑒權策略主要有以下幾種:

基于倉庫目錄的權限管理:針對不同的倉庫目錄,提供不同的權限控制。

例如 /v2/path1 作為公有倉庫目錄,可以直接進行訪問,而 /v2/path2 作為私有倉庫目錄,必須經過認證才能訪問。

基于機器的權限管理:只允許某些特定的機器有 pull/push 鏡像的權限。

Nginx 鏡像緩存

Docker Registry 本身基于文件系統,響應延遲大,并發能力差。為了減少延遲提升并發,同時減輕對后端存儲的負載壓力,需要給 Docker Registry 增加緩存。

Docker Registry 目前只支持將鏡像層級 meta 信息緩存到內存或者 Redis 中,但是對于鏡像數據本身無法緩存。

我們同樣利用 Nginx 來實現 URL 接口數據的 cache。為了避免 cache 過大,可以配置緩存失效時間,只緩存最近讀取的鏡像數據。

主要的配置如下所示:

  1. proxy_cache_path /dev/shm/registry-cache levels=1:2 keys_zone=registry-cache:10m max_size=124G; 

加了緩存之后,Docker Registry 性能跟之前相比有了明顯的提升。

經過測試,100 臺機器并行拉取一個 1.2G 的 image layer,不加緩存平均需要 1m50s,花費最長時間為 2m30s。

添加緩存配置之后,平均的下載時間為 40s 左右,花費最長時間為 58s,可見對鏡像并發下載性能的提升還是相當明顯的。

HDFS 存儲后端

Docker Registry 的后端分布式存儲,我們選擇使用 HDFS,因為在私有云場景下訪問諸如 S3 等公有云存儲網絡帶寬和時延都無法接受。

HDFS 本身也是一個穩定的分布式存儲系統,廣泛應用在大數據存儲領域,其可靠性滿足生產環境的要求。

但 Registry 的官方版本里并沒有提供 HDFS 的 Storage Driver,所以我們根據官方的接口要求及示例,實現了 Docker Registry 的 HDFS Storage Driver。

出于性能考慮,我們選用了一個 Golang 實現的原生 HDFS Client (colinmarc/hdfs)。

Storage Driver 的實現比較簡單,只需要實現 Storage Driver 以及 FileWriter 這兩個 interface 就可以了。

具體的接口如下:

  1. type StorageDriver interface { 
  2.     // Name returns the human-readable "name" of the driver。 
  3.     Name() string 
  4.  
  5.     // GetContent retrieves the content stored at "path" as a []byte. 
  6.     GetContent(ctx context.Context, path string) ([]byte, error) 
  7.  
  8.     // PutContent stores the []byte content at a location designated by "path"
  9.     PutContent(ctx context.Context, path string, content []byte) error 
  10.  
  11.     // Reader retrieves an io.ReadCloser for the content stored at "path" 
  12.     // with a given byte offset. 
  13.     Reader(ctx context.Context, path string, offset int64) (io.ReadCloser, error) 
  14.  
  15.     // Writer returns a FileWriter which will store the content written to it 
  16.     // at the location designated by "path" after the call to Commit
  17.     Writer(ctx context.Context, path string, append bool) (FileWriter, error) 
  18.  
  19.     // Stat retrieves the FileInfo for the given path, including the current 
  20.     // size in bytes and the creation time
  21.     Stat(ctx context.Context, path string) (FileInfo, error) 
  22.  
  23.     // List returns a list of the objects that are direct descendants of the 
  24.     //given path. 
  25.     List(ctx context.Context, path string) ([]string, error) 
  26.  
  27.     // Move moves an object stored at sourcePath to destPath, removing the 
  28.     // original object. 
  29.     Move(ctx context.Context, sourcePath string, destPath string) error 
  30.  
  31.     // Delete recursively deletes all objects stored at "path" and its subpaths. 
  32.     Delete(ctx context.Context, path string) error 
  33.     URLFor(ctx context.Context, path string, options map[string]interface{}) (string, error) 
  34.  
  35. type FileWriter interface { 
  36.     io.WriteCloser 
  37.  
  38.     // Size returns the number of bytes written to this FileWriter. 
  39.     Size() int64 
  40.  
  41.     // Cancel removes any written content from this FileWriter. 
  42.     Cancel() error 
  43.  
  44.     // Commit flushes all content written to this FileWriter and makes it 
  45.     // available for future calls to StorageDriver.GetContent and 
  46.     // StorageDriver.Reader. 
  47.     Commit() error 

其中需要注意的是 Storage Driver 的 Writer 方法里的 append 參數,這就要求存儲后端及其客戶端必須提供相應的 append 方法。

colinmarc/hdfs 這個 HDFS 客戶端中沒有實現 append 方法,我們補充實現了這個方法。

鏡像清理

持續集成系統中,每次生產環境代碼發布都對應有容器鏡像的構建和發布,會導致鏡像倉庫存儲空間的持續上漲,需要及時清理不用的鏡像釋放存儲空間。

但 Docker Registry 本身并沒有配置鏡像 TTL 的機制,需要自己開發定時清理腳本。

Docker Registry 刪除鏡像有兩種方式,一種是刪除鏡像:

  1. DELETE /v2/<name>/manifests/<reference> 

另一種是直接刪除鏡像層 blob 數據:

  1. DELETE /v2/<name>/blobs/<digest> 

由于容器鏡像層級間存在依賴引用關系,所以推薦使用***種方式清理過期鏡像的引用,然后由 Docker Registry 自身判斷鏡像層數據沒有被引用后再執行物理刪除。

未來展望

通過適當的開發和改造,我們實現了一套分布式的鏡像倉庫服務,可以通過水平擴容來解決單機性能瓶頸和存儲容量問題,很好的滿足了我們現有生產環境需求。

但是在生產環境大規模分發鏡像時,服務端(存儲、帶寬等)依然有較大的負載壓力。

因此在大規模鏡像分發場景下,采用 P2P 的模式分發傳輸鏡像更加合適,例如阿里開源的 Dragonfly 和騰訊開發的 FID 項目。

知乎當前幾乎所有的業務都運行在容器上,隨著業務的快速增長,該分布式鏡像倉庫方案也會越來越接近性能瓶頸。

因此我們在后續也會嘗試引入 P2P 的鏡像分發方案,以滿足知乎快速增長的業務需求。

責任編輯:武曉燕 來源: 知乎
相關推薦

2013-03-22 14:44:52

大規模分布式系統飛天開放平臺

2016-01-12 14:59:40

分布式存儲分布式存儲架構

2017-10-27 08:40:44

分布式存儲剪枝系統

2017-10-17 08:33:31

存儲系統分布式

2022-11-24 10:01:10

架構分布式

2023-07-18 18:14:51

云原生軟件架構

2021-10-30 19:30:23

分布式Celery隊列

2018-05-07 15:15:26

服務器爬蟲數據

2025-02-11 09:12:55

2018-09-03 08:36:04

知乎容器大數據

2017-06-16 21:00:02

Python爬蟲

2023-02-28 07:01:11

分布式緩存平臺

2024-09-27 09:19:30

2022-03-21 19:44:30

CitusPostgreSQ執行器

2024-04-08 11:04:03

2019-06-19 15:40:06

分布式鎖RedisJava

2024-05-07 07:58:10

數據架構大數據中間件架構

2021-08-26 00:23:14

分布式存儲高可用

2021-08-24 05:02:34

云原生容器分布式

2024-01-05 07:28:50

分布式事務框架
點贊
收藏

51CTO技術棧公眾號

菠萝蜜影院一区二区免费| 亚洲成a人片综合在线| 国产精品久久久久久久久久久久久| av网在线播放| 国产精品久久久久久久久久辛辛| 亚洲国产一区视频| 午夜久久资源| 少妇荡乳情欲办公室456视频| 另类激情亚洲| 九九热最新视频//这里只有精品| 久久丫精品国产亚洲av不卡| 欧美天堂在线| 欧美性猛xxx| 黄色一级大片免费| 男人天堂亚洲二区| 国产电影精品久久禁18| 国产不卡在线观看| 久久精品视频8| 欧美国产美女| 亚洲性视频网址| 午夜剧场免费看| 伊人久久一区| 欧美在线短视频| 国产一区二区网| av在线app| 国产精品美女一区二区三区| 久久99精品久久久久久秒播放器| av一级黄色片| 精品无码三级在线观看视频| 欧洲日韩成人av| 国产精品 欧美 日韩| 999精品在线| 一区二区三区国产视频| 老司机福利av| 美腿丝袜亚洲图片| 日韩一区二区在线观看视频 | 午夜欧美视频| 色阁综合伊人av| 亚洲第一综合网| 青青草久久爱| 亚洲精品第一国产综合精品| 麻豆网站免费观看| 国产精品久久久久久av公交车| 在线视频中文字幕一区二区| 日韩在线视频在线观看| 国产精品高颜值在线观看| 亚洲第一综合色| 国产96在线 | 亚洲| 牛牛精品在线视频| 亚洲永久精品大片| 激情视频小说图片| 青草视频在线免费直播| 夜夜嗨av一区二区三区网页| 免费成人进口网站| 二区三区四区高清视频在线观看| 中文字幕一区二区5566日韩| 中文字幕精品一区日韩| 免费观看成人高潮| 亚洲欧美日韩在线| 国内精品国产三级国产99| 18网站在线观看| 亚洲午夜激情av| 青青在线免费观看| 久久影院午夜精品| 日本久久电影网| 国产又黄又猛又粗| 亚洲综合资源| 欧美成人精品高清在线播放| 精品熟女一区二区三区| 亚洲aa在线| 一区二区亚洲欧洲国产日韩| 国产人与禽zoz0性伦| 91久久国产| 欧美精品激情在线| 国产99久久久| 裸体在线国模精品偷拍| 99久久久精品免费观看国产 | 99热这里只有精品免费| 男女免费观看在线爽爽爽视频| 亚洲一区二区三区小说| 国产a级一级片| 久久亚洲国产精品尤物| 日韩免费高清av| 久久久无码人妻精品一区| 国产欧美高清视频在线| 久久视频免费观看| 中日韩精品视频在线观看| 日韩制服丝袜av| 91超碰在线免费观看| 深夜福利视频网站| 国产精品久久久久影视| 亚洲天堂网中文字| 奇米888一区二区三区| 婷婷激情在线| 亚洲1区2区3区视频| 国产一级特黄a大片免费| 国产精品视频一区二区三区综合| 国产亚洲亚洲| 中文字幕久热精品在线视频| 国产小视频在线观看免费| 久久久久国产精品午夜一区| 3d精品h动漫啪啪一区二区| 日韩欧美在线番号| 亚洲美女偷拍久久| 欧美精品第三页| 国偷自产视频一区二区久| 中文字幕日韩高清| 国产精品视频久久久久久久| 国产在线精品不卡| 日韩精品大片| 美女高潮视频在线看| 制服丝袜一区二区三区| aaaaa级少妇高潮大片免费看| 亚洲成人精选| 国产精品青青在线观看爽香蕉| 亚洲欧美另类日韩| 国产精品久久久久久久久快鸭 | 噜噜爱69成人精品| 官网99热精品| 男人天堂手机在线| 欧美三级三级三级爽爽爽| 影音先锋人妻啪啪av资源网站| 偷拍欧美精品| 国产精品999999| 国产传媒免费观看| 黄色大片在线播放| 欧美日韩一区二区三区在线| 香蕉网在线播放| 亚洲专区在线| 精品国产免费人成电影在线观...| 麻豆传媒视频在线观看| 欧美色偷偷大香| 久久久久久久久久久久| 国产精品美女| 精品日产一区2区三区黄免费| 免费男女羞羞的视频网站在线观看| 欧美日韩国产另类一区| 日韩丰满少妇无码内射| 米奇777在线欧美播放| 久久国产精品99久久久久久丝袜| 日韩精品卡一| 日韩欧美中文一区| 天堂网avav| 国产麻豆成人精品| 免费成人进口网站| 亚州一区二区| 欧美情侣性视频| 风流少妇一区二区三区91| 亚洲一区影音先锋| 国产伦理在线观看| 亚洲视频碰碰| 久久综合毛片| 日韩不卡免费高清视频| 在线日韩av观看| 在线观看国产精品入口男同| 中文字幕欧美日本乱码一线二线 | 久久综合加勒比| 成人三级伦理片| 妞干网在线观看视频| 天海翼精品一区二区三区| 欧亚精品中文字幕| 国产福利小视频在线| 欧美精选午夜久久久乱码6080| 婷婷伊人五月天| 成人久久视频在线观看| 欧美精品一区免费| 欧美精品色图| 91在线视频一区| 丰满诱人av在线播放| 日韩精品在线观看一区二区| 怡春院在线视频| 亚洲蜜臀av乱码久久精品| 中文字幕一区二区三区乱码不卡| 久久久久久久高潮| 日本黄色播放器| h视频久久久| 日韩美女av在线免费观看| 欧美人xxx| 亚洲第一中文字幕| 精品乱码一区内射人妻无码| 亚洲欧美另类久久久精品2019| 你懂的在线观看网站| 免费一级欧美片在线观看| 国产 国语对白 露脸 | 亚洲老司机av| 国产精品久久久久久久免费| 性做久久久久久久久| 日本美女xxx| 懂色一区二区三区免费观看 | 特一级黄色大片| 欧美高清在线一区| 国内自拍偷拍视频| 蜜臀av性久久久久蜜臀aⅴ| 日本一本中文字幕| 日韩精品水蜜桃| 久久99精品久久久久久久久久| 免费视频观看成人| 97视频国产在线| 久草资源在线| 亚洲欧美另类人妖| 亚洲av无码一区二区乱子伦| 色94色欧美sute亚洲线路一久 | 国自产拍偷拍福利精品免费一| 欧美日韩在线播放一区二区| 91综合久久爱com| 国产精品欧美日韩| 亚洲人成午夜免电影费观看| 欧美成人性生活| 在线观看麻豆| 精品无人国产偷自产在线| 国产视频一区二区三| 91久久久免费一区二区| 中文在线观看免费网站| 国产精品不卡在线观看| 亚洲精品成人无码| av在线不卡电影| 亚洲三级在线视频| 久久爱www久久做| 欧美黑人又粗又大又爽免费| 亚洲全部视频| 9色porny| 欧美全黄视频| 一级黄色免费在线观看| 欧美偷拍综合| 日韩欧美三级一区二区| 九九免费精品视频在线观看| 国产精华一区| 91亚洲无吗| 99精品国产一区二区| 国产一区二区三区免费观看在线| 国产精品丝袜一区二区三区| 姬川优奈av一区二区在线电影| 国产69久久精品成人| 99在线视频影院| 欧美精品999| 日韩精品卡一| 欧美国产日本高清在线| 暖暖在线中文免费日本| 欧美日本黄视频| 新版中文在线官网| 欧美精品免费看| 在线观看a级片| 欧美激情一区二区三区成人| 欧美videosex性极品hd| 欧美高跟鞋交xxxxxhd| 午夜dj在线观看高清视频完整版 | 国产成人免费网站| 精品国产乱码久久久久久1区二区| 蜜桃精品视频在线观看| 日本中文字幕影院| 国产一区二区三区四| 亚洲天堂av一区二区三区| 国产高清久久久久| 日韩成人av影院| 成人国产在线观看| 野花社区视频在线观看| 久久久久亚洲蜜桃| 性猛交娇小69hd| 中文字幕中文字幕中文字幕亚洲无线 | 国产人妻777人伦精品hd| 亚洲成色精品| 92看片淫黄大片一级| 蜜桃视频在线一区| 日本泡妞xxxx免费视频软件| av午夜一区麻豆| 中文字幕在线看高清电影| 中文字幕不卡的av| 懂色av懂色av粉嫩av| 午夜精品久久久久影视| 永久免费无码av网站在线观看| 欧美视频裸体精品| 中文字幕一区二区三区波野结| 欧美精品vⅰdeose4hd| 性做久久久久久久| 日韩久久精品成人| 91社区在线观看| 久久久这里只有精品视频| 成人美女视频| 91久久精品美女高潮| 国产精品xxxav免费视频| 欧洲亚洲一区二区| 综合天堂久久久久久久| 黄在线观看网站| 经典三级在线一区| 成人手机在线免费视频| 国产精品理论在线观看| 久一区二区三区| 欧美三级三级三级爽爽爽| 黄色福利在线观看| 在线看福利67194| 都市激情国产精品| 91精品久久久久| 台湾色综合娱乐中文网| 特色特色大片在线| 久久久久99| 熟妇高潮一区二区| 中文字幕一区av| 国产精品第5页| 日韩精品一区二区三区中文不卡| 麻豆影视在线| 久久免费精品视频| 精品三级国产| 视频在线精品一区| 亚洲少妇一区| 操人视频免费看| 中文字幕欧美三区| aaa人片在线| 精品日本一线二线三线不卡| 日本中文字幕电影在线免费观看| 欧美亚洲另类视频| 大型av综合网站| 中国老女人av| 开心九九激情九九欧美日韩精美视频电影| 国产精品成人99一区无码| 亚洲三级视频在线观看| 亚洲天堂久久久久| 亚洲午夜精品久久久久久性色| 国产羞羞视频在线播放| 亚洲综合在线做性| 欧美激情欧美| 欧美精品性生活| 久久精品人人爽人人爽| 日操夜操天天操| 精品日韩99亚洲| 乱插在线www| 91视频网页| 自拍偷拍欧美| 中文字幕人妻熟女人妻a片| 亚洲欧洲av色图| 97久久人国产精品婷婷| 中文字幕日本精品| 欧美日一区二区三区| 日本一区二区精品视频| 久久精品官网| 波多野吉衣中文字幕| 一本色道综合亚洲| 欧美伦理影视网| 日韩免费在线看| 国产在视频线精品视频www666| 啊啊啊一区二区| 久久精品人人做人人综合| 免费黄色小视频在线观看| 亚洲男人天堂2019| 肉色欧美久久久久久久免费看| 免费国产一区二区| 久久一本综合频道| 蜜桃传媒一区二区亚洲| 欧美伊人久久大香线蕉综合69| caoporn国产精品免费视频| 国产精品久久久久av免费| 成人av国产| caoporm在线视频| 亚洲精品日韩一| 亚洲av无码一区二区三区性色| 欧美交受高潮1| 尤物tv在线精品| 五月婷婷六月合| 亚洲欧美日韩国产一区二区三区 | 国产精品一区无码| 国产亚洲精品va在线观看| 欧美日韩精品一区二区三区视频| 亚洲韩国在线| 国产伦精品一区二区三区免费 | 亚洲成avwww人| 三级在线看中文字幕完整版| 欧美激情第一页在线观看| 免费久久精品视频| 欧美成人免费看| 亚洲精品在线看| 久久日本片精品aaaaa国产| 国产成人一区二区三区别| 91碰在线视频| 中文字幕1区2区3区| 久久99青青精品免费观看| 色狠狠久久av综合| 日韩av一卡二卡三卡| 亚洲国产精品一区二区尤物区| 男生女生差差差的视频在线观看| 国产乱肥老妇国产一区二 | 欧美精品色婷婷五月综合| 国产精品热久久久久夜色精品三区| 国产av无码专区亚洲av麻豆| 91av国产在线| 三级电影一区| 精品国产av色一区二区深夜久久| 在线视频国内一区二区| 1stkiss在线漫画| 日本一区二区精品| 高清成人免费视频| 亚洲精品一区二三区| 欧美激情视频一区二区三区不卡| 最近国产精品视频| av影片在线播放| 欧美少妇bbb| 国产精选在线| 潘金莲一级淫片aaaaa免费看| 91亚洲午夜精品久久久久久| 国产精品欧美久久久久天天影视| 日韩美女中文字幕| 欧美日韩少妇|