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

亚洲区欧洲区| 欧美在线www| 国产无套精品一区二区| 青青青视频在线播放| www.久久久久久| 色999日韩| 久久久国际精品| 久久人人爽人人| 真实乱偷全部视频| 国产美女av在线| 久久99深爱久久99精品| 国产亚洲日本欧美韩国| 任你操这里只有精品| 日韩一区二区三区在线观看视频| 中文字幕免费一区二区| 欧美日韩视频在线一区二区| 三区精品视频观看| 极品国产91在线网站| 日韩欧美美女在线观看| 亚洲国产成人91porn| 97视频资源在线观看| 成人自拍小视频| 99精品视频在线免费播放| 国产精品久久久久aaaa樱花| 国产免费一区视频观看免费| 欧美88888| 全球中文成人在线| 亚洲欧洲日韩综合一区二区| 成人黄色在线播放| 中文字幕五月天| 日本成人精品| 亚洲成人av资源| 亚洲欧美一二三| www.色日本| 久久电影网站中文字幕| 日本国产精品视频| 国产传媒视频在线| 综合国产视频| 欧美日韩成人在线一区| 日本女人高潮视频| 日本黄色大片视频| 国产精品影视在线| 午夜精品免费视频| 久久久久久亚洲中文字幕无码| av亚洲一区二区三区| 国产精品婷婷午夜在线观看| 亚洲永久免费观看| 国产成人亚洲精品自产在线| 久久综合亚洲| 91麻豆精品国产91久久久久久久久| 亚洲免费av网| 免费黄色电影在线观看| 国产成人精品网址| 欧洲亚洲妇女av| 精品成人久久久| 最新国产拍偷乱拍精品| 一色桃子一区二区| 色哟哟网站在线观看| 桃色av一区二区| 亚洲欧美日韩久久| 久久久综合香蕉尹人综合网| 一区二区视频免费| 亚洲国产精品一区制服丝袜| 欧美极品美女电影一区| 卡一卡二卡三在线观看| 蜜桃精品一区二区三区| 欧美日韩免费网站| 91免费网站视频| 成人午夜在线影视| 久久久高清一区二区三区| 欧美一区2区三区4区公司二百| 91视频久久久| 在线日韩av| 日本精品免费观看| 国语对白一区二区| 日韩免费看片| 久久精品国产亚洲精品2020| 成人h动漫精品一区| 欧美电影院免费观看| 日韩视频在线观看一区二区| 国产免费视频传媒| 国产不卡人人| 亚洲精品免费播放| 伊人狠狠色丁香综合尤物| 天堂av在线免费观看| 精品在线播放免费| 岛国视频一区免费观看| 国产乱人乱偷精品视频a人人澡| 午夜亚洲视频| 国内成人精品视频| 无码人妻丰满熟妇奶水区码| 国产一区日韩二区欧美三区| 国产精品久久久久av| 久久99精品波多结衣一区| 国产精品99免费看| 九九热精品在线| tube国产麻豆| 国产色综合网| 97久久超碰福利国产精品…| 国产情侣呻吟对白高潮| 免费在线亚洲| 久久躁狠狠躁夜夜爽| 欧美乱大交做爰xxxⅹ小说| 欧美激情91| 美日韩精品免费观看视频| 久久一级免费视频| 亚洲国内精品| 国产欧美韩国高清| 亚洲 精品 综合 精品 自拍| 成人精品视频一区| 国产成人精品免费视频大全最热 | 阿v免费在线观看| 成人av影院在线| 亚洲国产午夜伦理片大全在线观看网站| 无码国产精品高潮久久99| 日本一区二区免费在线观看视频| 欧美另类高清视频在线| 香蕉av一区二区三区| 亚洲欧美综合另类在线卡通| 乱妇乱女熟妇熟女网站| 在线播放高清视频www| 777午夜精品视频在线播放| 人妻体内射精一区二区| 狠狠爱成人网| 午夜精品久久久久久久99黑人 | 中文字幕有码在线观看| 成人免费在线播放视频| 国产主播在线看| 国产在线|日韩| 欧美日本视频在线| 无码h肉动漫在线观看| 伊人影院久久| 青青a在线精品免费观看| 精品国产亚洲一区二区麻豆| 中文字幕中文乱码欧美一区二区| 人妻有码中文字幕| 国产综合av| 日韩精品www| 亚洲精品午夜视频| 日韩综合网站| 国产精品爱久久久久久久| 色播色播色播色播色播在线| 国产欧美一区二区精品秋霞影院 | 日本成人在线免费视频| se69色成人网wwwsex| 亚洲人成电影网站色| 亚洲人成人无码网www国产| 亚洲欧洲日本一区二区三区| 国产传媒一区二区| 午夜影院免费在线| 日韩欧美国产小视频| 成人无码www在线看免费| 亚洲激情黄色| 国产在线精品日韩| 日韩欧美一中文字暮专区| 欧美色网站导航| 欧美人妻一区二区三区| 欧美一区网站| 99久久无色码| 国模吧精品人体gogo| 亚洲男人天堂av网| 激情综合在线观看| 亚洲另类av| 国产不卡在线观看| 国产aⅴ爽av久久久久成人| 99久久夜色精品国产网站| 日韩欧美亚洲区| 男女视频在线| 在线播放中文字幕一区| 亚洲欧美精品aaaaaa片| 国产成a人亚洲| 艳色歌舞团一区二区三区| 国产乱码精品一区二三赶尸艳谈| 亚洲精品久久久久久久久久久| 国产成人免费在线观看视频| 亚洲国内自拍| 人偷久久久久久久偷女厕| 久久亚洲精品人成综合网| 日韩av在线一区二区| 男人的天堂av网站| 亚洲欧美偷拍三级| 国产肉体xxxx裸体784大胆| 麻豆成人精品| 成人性做爰片免费视频| 欧美高清视频看片在线观看 | av免费在线观看网址| 精品日韩成人av| 欧美 日韩 国产 一区二区三区 | 91影院未满十八岁禁止入内| 操喷在线视频| 欧美久久高跟鞋激| 人妻少妇无码精品视频区| 国产一区在线不卡| 99热在线这里只有精品| 999国产精品视频| 国产成人一区二区在线| 黑人精品一区二区| 亚洲国产高清不卡| 国产亚洲精品中文字幕| 亚洲aⅴ日韩av电影在线观看| 一区二区三区伦理| 亚洲国产一区自拍| 国产尤物在线视频| 麻豆精品国产| 日韩精品亚洲aⅴ在线影院| 68国产成人综合久久精品| 国产第一亚洲| 看片网址国产福利av中文字幕| 天天干天天干天天干| 亚洲图片88| 国模私拍一区二区国模曼安| 日韩黄色在线观看| 国产一区二区三区黄视频 | 中文在线手机av| 日韩精品91| ww久久中文字幕| 久久综合久久99| 欧美精品一区男女天堂| 亚洲欧洲激情在线| 欧洲日韩成人av| 国产suv精品一区二区三区88区| 日本一区二区三区四区五区六区| 久久久久黄色片| 日本高清在线观看视频| 成人精品电影| 91一区二区三区在线播放| 亚洲日本成人在线观看| 久久精品久久久久电影| 高清一区二区三区视频| 国产精品美女高潮无套| 日本高清在线观看视频| 欧美午夜一区| 婷婷一区二区三区| 欧美一级片在线播放| 国产精品69久久久| 久久人人爽人人片| 国产av无码专区亚洲av毛网站 | 久久激情电影| 精品一区二区三区的国产在线播放| ...av二区三区久久精品| 日韩日本欧美亚洲| 成人a在线视频| 男男做爰猛烈叫床爽爽小说| 欧美激情免费| 久久国产精品久久久久久电车| 91精品国产91热久久久做人人| 色综合视频网站| 国产伦精品一区二区三毛| 成人在线观看毛片| 国产jjizz一区二区三区视频| 青青草精品视频| 日韩国产欧美精品一区二区三区| 亚洲一区二区激情| 欧美日韩亚洲天堂| 日韩三级一区二区| 欧美视频国产精品| 欧美丰满美乳xxⅹ高潮www| 97久久精品人人爽人人爽蜜臀| 成人性生交视频免费观看| 伊人蜜桃色噜噜激情综合| 四虎影院一区二区| 天堂美国久久| www.黄色网址.com| 激情婷婷亚洲| 日韩视频免费播放| 欧美精品一区二区久久| 欧美日本亚洲| 久久亚洲成人| 爱爱爱视频网站| 中文精品电影| 日本精品久久久久久久久久| 久久精品一区| 亚洲最大综合网| 黄色亚洲在线| 一区二区三区四区| 欧美午夜影院| 日本日本19xxxⅹhd乱影响| 欧美亚洲三区| 亚洲图色中文字幕| 国产精品hd| av网站手机在线观看| 国产精品久久久久久模特| 男女爽爽爽视频| 精品一区二区在线免费观看| 九九九九九伊人| 成人午夜电影小说| 一级黄色片网址| 亚洲精品中文字幕乱码三区| 青娱乐免费在线视频| 成人永久aaa| 国产综合精品在线| 亚洲蜜桃精久久久久久久| 久久久精品视频在线| 狠狠躁夜夜躁久久躁别揉| 精品视频一二三区| 日韩一区二区三区在线观看| 日韩中文字幕影院| 视频在线一区二区| 国产区美女在线| 国产成人鲁鲁免费视频a| 精品美女一区| 久久精品aaaaaa毛片| 成人直播大秀| 麻豆映画在线观看| 美女视频一区免费观看| 中文字幕欧美视频| 久久久不卡网国产精品一区| 粉嫩av性色av蜜臀av网站| 午夜精品视频一区| 国产视频第一页| 91福利在线导航| www.国产一区二区| 欧美人狂配大交3d怪物一区| 性感美女视频一二三| 久久精品最新地址| 在线观看欧美日韩电影| 久久久精品欧美| 免费观看欧美大片| 欧美第一淫aaasss性| 樱桃视频成人在线观看| 国产一区二区三区四区hd| 天天色综合色| 欧美日韩亚洲一二三| av中文字幕一区| 国产黄色的视频| 欧美优质美女网站| 农村少妇久久久久久久| 欧美大片va欧美在线播放| 一区二区三区短视频| 99re视频在线| 综合久久久久| 亚洲美女爱爱视频| 捆绑变态av一区二区三区| 色综合久久久无码中文字幕波多| 国产精品久久久久四虎| 亚洲精品国产精品国自| 亚洲丶国产丶欧美一区二区三区| 中国一区二区视频| 亚洲视频axxx| 中文在线最新版地址| 久久精品人人做人人爽电影| 国产一区日韩欧美| 男人午夜视频在线观看| 国产欧美一区二区在线观看| 亚洲 日本 欧美 中文幕| 亚洲国产精品99| 亚洲日本中文字幕在线| 欧美巨大黑人极品精男| 国产a亚洲精品| 亚洲欧洲日韩综合二区| 在线成人www免费观看视频| 动漫美女无遮挡免费| 91蝌蚪porny| 久久久午夜影院| 亚洲精品一区二区在线| 亚洲女同av| 蜜桃网站成人| 日韩av成人高清| 手机av在线不卡| 欧美视频日韩视频| 国产色在线观看| 5566av亚洲| 重囗味另类老妇506070| 亚洲欧美高清在线| 久久嫩草精品久久久久| 特级毛片www| 欧美区在线观看| 免费看美女视频在线网站 | 欧美黑人猛交| 国产视频精品网| 久久精品女人天堂| 国产精品理论在线| 欧美精品黑人性xxxx| 超碰在线观看免费版| 99re6热在线精品视频播放速度| 欧美激情1区| 99久久人妻精品免费二区| 精品国产成人在线| 国产一二在线观看| 成人h视频在线| 久久久久久久久久久妇女| 北条麻妃亚洲一区| 亚洲风情在线资源站| 青青草视频在线观看| 国产aaa精品| 亚洲成av人片乱码色午夜| av直播在线观看| 欧美日韩在线观看一区二区 | 成人av一级片| 国产亚洲综合性久久久影院| 日韩 国产 欧美| 日韩视频一区在线| 亚洲国产欧美国产第一区| 成年丰满熟妇午夜免费视频| 99久久精品国产毛片| 一区二区视频网站| 欧美精品福利视频| 成人精品电影| 日韩av手机在线播放| 色成年激情久久综合|