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

一文搞懂 Docker、Containerd、RunC 間的聯系和區別

系統 Linux
Docker、Google、CoreOS 和其他供應商創建了開放容器計劃 (OCI),目前主要有兩個標準文檔:容器運行時標準 (runtime spec)和 容器鏡像標準(image spec)。

 [[443036]]

什么是RunC

Docker、Google、CoreOS 和其他供應商創建了開放容器計劃 (OCI),目前主要有兩個標準文檔:容器運行時標準 (runtime spec)和 容器鏡像標準(image spec)。

OCI 對容器 runtime 的標準主要是指定容器的運行狀態,和 runtime 需要提供的命令。下圖可以是容器狀態轉換圖:

  •  init 狀態:這個是我自己添加的狀態,并不在標準中,表示沒有容器存在的初始狀態
  •  creating:使用 create 命令創建容器,這個過程稱為創建中
  •  created:容器創建出來,但是還沒有運行,表示鏡像和配置沒有錯誤,容器能夠運行在當前平臺
  •  running:容器的運行狀態,里面的進程處于 up 狀態,正在執行用戶設定的任務
  •  stopped:容器運行完成,或者運行出錯,或者 stop 命令之后,容器處于暫停狀態。這個狀態,容器還有很多信息保存在平臺中,并沒有完全被刪除

Runc的來歷

RunC 是從 Docker 的 libcontainer 中遷移而來的,實現了容器啟停、資源隔離等功能。Docker將RunC捐贈給 OCI 作為OCI 容器運行時標準的參考實現。Docker 默認提供了 docker-runc 實現。事實上,通過 containerd 的封裝,可以在 Docker Daemon 啟動的時候指定 RunC的實現。最初,人們對 Docker 對 OCI 的貢獻感到困惑。他們貢獻的是一種“運行”容器的標準方式,僅此而已。它們不包括鏡像格式或注冊表推/拉格式。當你運行一個 Docker 容器時,這些是 Docker 實際經歷的步驟:

  •  下載鏡像
  •  將鏡像文件解開為bundle文件,將一個文件系統拆分成多層
  •  從bundle文件運行容器

Docker標準化的僅僅是第三步。在此之前,每個人都認為容器運行時支持Docker支持的所有功能。最終,Docker方面澄清:原始OCI規范指出,只有“運行容器”的部分組成了runtime。這種“概念失聯”一直持續到今天,并使“容器運行時”成為一個令人困惑的話題。希望我能證明雙方都不是完全錯誤的,并且在本文中將廣泛使用該術語。RunC 就可以按照這個 OCI 文檔來創建一個符合規范的容器,既然是標準肯定就有其他 OCI 實現,比如 Kata、gVisor 這些容器運行時都是符合 OCI 標準的。

怎么使用 runc 

  1. create the bundle  
  2. $ mkdir -p /mycontainer/rootfs  
  3. # [ab]use Docker to copy a root fs into the bundle  
  4. $ docker export $(docker create busybox) | tar -C /mycontainer/rootfs -xvf -  
  5. # create the specification, by default sh will be the entrypoint of the container  
  6. $ cd /mycontainer  
  7. $ runc spec  
  8. # launch the container  
  9. $ sudo -i  
  10. $ cd /mycontainer  
  11. $ runc run mycontainerid  
  12. # list containers  
  13. $ runc list  
  14. # stop the container  
  15. $ runc kill mycontainerid  
  16. # cleanup  
  17. $ runc delete mycontainerid 

在命令行中使用 runc,我們可以根據需要啟動任意數量的容器。但是,如果我們想自動化這個過程,我們需要一個容器管理器。為什么這樣?想象一下,我們需要啟動數十個容器來跟蹤它們的狀態。其中一些需要在失敗時重新啟動,需要在終止時釋放資源,必須從注冊表中提取圖像,需要配置容器間網絡等等。就需要有Low-Level和High-Level容器運行時,runc就是Low-Level實現的實現。

Low-Level和High-Level容器運行時

當人們想到容器運行時,可能會想到一系列示例;runc、lxc、lmctfy、Docker(容器)、rkt、cri-o。這些中的每一個都是為不同的情況而構建的,并實現了不同的功能。有些,如 containerd 和 cri-o,實際上使用 runc 來運行容器,在High-Level實現鏡像管理和 API。與 runc 的Low-Level實現相比,可以將這些功能(包括鏡像傳輸、鏡像管理、鏡像解包和 API)視為High-Level功能??紤]到這一點,您可以看到容器運行時空間相當復雜。每個運行時都涵蓋了這個Low-Level到High-Level頻譜的不同部分。這是一個非常主觀的圖表:

因此,從實際出發,通常只專注于正在運行的容器的runtime通常稱為“Low-Level容器運行時”,支持更多高級功能(如鏡像管理和gRPC / Web API)的運行時通常稱為“High-Level容器運行時”,“High-Level容器運行時”或通常僅稱為“容器運行時”,我將它們稱為“High-Level容器運行時”。值得注意的是,Low-Level容器運行時和High-Level容器運行時是解決不同問題的、從根本上不同的事物。

  •  Low-Level容器運行時:容器是通過Linux nanespace和Cgroups實現的,Namespace能讓你為每個容器提供虛擬化系統資源,像是文件系統和網絡,Cgroups提供了限制每個容器所能使用的資源的如內存和CPU使用量的方法。在最低級別的運行時中,容器運行時負責為容器建立namespaces和cgroups,然后在其中運行命令,Low-Level容器運行時支持在容器中使用這些操作系統特性。目前來看低級容器運行時有:runc :我們最熟悉也是被廣泛使用的容器運行時,代表實現Docker。runv:runV 是一個基于虛擬機管理程序(OCI)的運行時。它通過虛擬化 guest kernel,將容器和主機隔離開來,使得其邊界更加清晰,這種方式很容易就能幫助加強主機和容器的安全性。代表實現是kata和Firecracker。runsc:runsc = runc + safety ,典型實現就是谷歌的gvisor,通過攔截應用程序的所有系統調用,提供安全隔離的輕量級容器運行時沙箱。截止目前,貌似并不沒有生產環境使用案例。wasm : Wasm的沙箱機制帶來的隔離性和安全性,都比Docker做的更好。但是wasm 容器處于草案階段,距離生產環境尚有很長的一段路。
  •  High-Level容器運行時:通常情況下,開發人員想要運行一個容器不僅僅需要Low-Level容器運行時提供的這些特性,同時也需要與鏡像格式、鏡像管理和共享鏡像相關的API接口和特性,而這些特性一般由High-Level容器運行時提供。就日常使用來說,Low-Level容器運行時提供的這些特性可能滿足不了日常所需,因為這個緣故,唯一會使用Low-Level容器運行時的人是那些實現High-Level容器運行時以及容器工具的開發人員。那些實現Low-Level容器運行時的開發者會說High-Level容器運行時比如containerd和cri-o不像真正的容器運行時,因為從他們的角度來看,他們將容器運行的實現外包給了runc。但是從用戶的角度來看,它們只是提供容器功能的單個組件,可以被另一個的實現替換,因此從這個角度將其稱為runtime仍然是有意義的。即使containerd和cri-o都使用runc,但是它們是截然不同的項目,支持的特性也是非常不同的。dockershim, containerd 和cri-o都是遵循CRI的容器運行時,我們稱他們為高層級運行時(High-level Runtime)。

Kubernetes 只需支持 containerd 等high-level container runtime即可。由containerd 按照OCI 規范去對接不同的low-level container runtime,比如通用的runc,安全增強的gvisor,隔離性更好的runv。

containerd

與RunC_一樣_,我們又可以在這里看到一個docker公司的開源產品containerd曾經是開源docker項目的一部分。盡管_containerd_是另一個自給自足的軟件。

  •  一方面,它稱自己為容器運行時,但是與運行時__RunC_不同_。不僅_containerd_和_runc_的職責不同,組織形式也不同。顯然_runc_是只是一個命令行工具,_containerd_是一個長期居住守護進程。_runc_的實例不能超過底層容器進程。通常它在create調用時開始它的生命,然后只是在容器的 rootfs 中的指定文件去運行。
  •  另一方面,_containerd _可以管理超過數千個_runc_容器。它更像是一個服務器,它偵聽傳入請求以啟動、停止或報告容器的狀態。在引擎蓋下_containerd_使用RunC。然而,_containerd_不僅僅是一個容器生命周期管理器。它還負責鏡像管理(從注冊中心拉取和推送鏡像,在本地存儲鏡像等)、跨容器網絡管理和其他一些功能。

image.png

containerd 是一個工業級標準的容器運行時,它強調簡單性、健壯性和可移植性,containerd 可以負責干下面這些事情:

  •  管理容器的生命周期(從創建容器到銷毀容器)
  •  拉取/推送容器鏡像
  •  存儲管理(管理鏡像及容器數據的存儲)
  •  調用 runc 運行容器(與 runc 等容器運行時交互)
  •  管理容器網絡接口及網絡

上圖是 Containerd 整體的架構。由下往上,Containerd支持的操作系統和架構有 Linux、Windows 以及像 ARM 的一些平臺。在這些底層的操作系統之上運行的就是底層容器運行時,其中有上文提到的runc、gVisor 等。在底層容器運行時之上的是Containerd 相關的組件,比如 Containerd 的 runtime、core、API、backend、store 還有metadata 等等。構筑在 Containerd 組件之上以及跟這些組件做交互的都是 Containerd 的 client,Kubernetes 跟 Containerd 通過 CRI 做交互時,本身也作為 Containerd 的一個 client。Containerd 本身有提供了一個 CRI,叫 ctr,不過這個命令行工具并不是很好用。 

在這些組件之上就是真正的平臺,Google Cloud、Docker、IBM、阿里云、微軟云還有RANCHER等等都是,這些平臺目前都已經支持 containerd, 并且有些已經作為自己的默認容器運行時了。

從 k8s 的角度看,選擇 containerd作為運行時的組件,它調用鏈更短,組件更少,更穩定,占用節點資源更少。

Docker

Docker 于 2013 年發布,解決了開發人員在端到端運行容器時遇到的許多問題。這里是他包含的所有東西:

  •  容器鏡像格式
  •  一種構建容器鏡像的方法(Dockerfile/docker build);
  •  一種管理容器鏡像(docker image、docker rm等);
  •  一種管理容器實例的方法(docker ps, docker rm 等);
  •  一種共享容器鏡像的方法(docker push/pull);
  •  一種運行容器的方式(docker run);

當時,Docker 是一個單體系統。但是,這些功能中沒有一個是真正相互依賴的。這些中的每一個都可以在可以一起使用的更小、更集中的工具中實現。每個工具都可以通過使用一種通用格式、一種容器標準來協同工作。從 Docker 1.11 之后,Docker Daemon 被分成了多個模塊以適應 OCI 標準。拆分之后,結構分成了以下幾個部分。圖片

其中,containerd 獨立負責容器運行時和生命周期(如創建、啟動、停止、中止、信號處理、刪除等),其他一些如鏡像構建、卷管理、日志等由 Docker Daemon 的其他模塊處理。 

Docker 的模塊塊擁抱了開放標準,希望通過 OCI 的標準化,容器技術能夠有很快的發展。 

現在創建一個docker容器的時候,Docker Daemon 并不能直接幫我們創建了,而是請求 containerd 來創建一個容器。當containerd 收到請求后,也不會直接去操作容器,而是創建一個叫做 containerd-shim 的進程。讓這個進程去操作容器,我們指定容器進程是需要一個父進程來做狀態收集、維持 stdin 等 fd 打開等工作的,假如這個父進程就是 containerd,那如果 containerd 掛掉的話,整個宿主機上所有的容器都得退出了,而引入 containerd-shim 這個墊片就可以來規避這個問題了,就是提供的live-restore的功能。這里需要注意systemd的 MountFlags=slave。

然后創建容器需要做一些 namespaces 和 cgroups 的配置,以及掛載 root 文件系統等操作。runc 就可以按照這個 OCI 文檔來創建一個符合規范的容器。 

真正啟動容器是通過 containerd-shim 去調用 runc 來啟動容器的,runc 啟動完容器后本身會直接退出,containerd-shim 則會成為容器進程的父進程, 負責收集容器進程的狀態, 上報給 containerd, 并在容器中 pid 為 1 的進程退出后接管容器中的子進程進行清理, 確保不會出現僵尸進程。containerd,containerd-shim和容器進程(即容器主進程)三個進程,是有依賴關系的??梢詤⒖肌禼ontainerd,containerd-shim和runc的依存關系》[1],查看怎么保證live-restore的功能的。 

 

責任編輯:龐桂玉 來源: 奇妙的Linux世界
相關推薦

2023-09-07 07:17:01

KubernetesCRI標準

2020-11-04 07:49:04

Select

2024-03-01 19:26:22

2022-05-05 16:47:24

Docker網絡空間容器

2021-08-13 05:50:01

ContainerdDockerKubernetes

2023-12-21 17:11:21

Containerd管理工具命令行

2023-10-16 08:16:31

Bean接口類型

2022-02-08 10:41:20

Service MeAPI GatewaLinux

2022-08-26 00:00:00

數據庫數據倉庫OLAP

2024-04-12 12:19:08

語言模型AI

2022-03-24 08:51:48

Redis互聯網NoSQL

2023-02-10 10:56:56

KubernetesLimitsRequests

2020-12-21 07:54:46

CountDownLa用法源碼

2019-11-06 17:30:57

cookiesessionWeb

2021-03-22 10:05:59

netstat命令Linux

2023-09-08 08:20:46

ThreadLoca多線程工具

2023-09-15 12:00:01

API應用程序接口

2018-04-18 09:19:06

2025-05-06 09:30:00

DevOps云原生開發

2023-09-22 12:21:33

Python深拷貝淺拷貝
點贊
收藏

51CTO技術棧公眾號

欧美亚洲一级片| 亚洲精品第一国产综合精品| 成年人免费观看的视频| 精品黑人一区二区三区在线观看| 午夜国产欧美理论在线播放 | 中文字幕永久免费视频| 最新国产精品久久久| 亚洲国模精品一区| 黄色片久久久久| 黄av在线免费观看| 91影院在线观看| 成人精品一区二区三区电影黑人| 久久久久久国产精品视频| 欧美亚视频在线中文字幕免费| 色系网站成人免费| 300部国产真实乱| 免费资源在线观看| 懂色av一区二区夜夜嗨| 国产精品久久久久久av下载红粉| 午夜国产小视频| 欧美黄色网视频| 日韩视频一区二区三区 | 91福利在线免费| 国产精品久久毛片| 久久久亚洲综合网站| 国产女人18毛片水真多| 久久综合婷婷| 国内精久久久久久久久久人| 欧洲美女女同性互添| 蜜桃成人av| 亚洲国产成人精品女人久久久 | 欧美专区视频| 欧美日韩一区高清| 黄色高清无遮挡| 国语对白在线刺激| 亚洲人成网站影音先锋播放| 日韩精品久久一区二区三区| 天堂av中文字幕| 国产福利91精品| 国产日韩欧美日韩| 黄色av网站免费观看| 亚洲免费高清| 欧美精品videossex性护士| 你懂得在线观看| 日韩国产一区二区三区| 国产丝袜一区二区| 黄色污在线观看| 红杏成人性视频免费看| 日韩女优视频免费观看| 欧美国产日韩另类| 婷婷精品久久久久久久久久不卡| 欧美在线看片a免费观看| 日本成年人网址| 亚洲三级欧美| 狠狠色狠色综合曰曰| 欧美久久久久久久久久久久久| 日本动漫理论片在线观看网站| 亚洲女爱视频在线| 免费看污污视频| 五月花成人网| 亚洲国产精品天堂| 精品少妇一区二区三区在线| 青草在线视频在线观看| 亚洲国产日韩精品| 久久精品国产sm调教网站演员| h片精品在线观看| 岛国av一区二区| 99福利在线观看| 日韩成人影音| 欧美精品自拍偷拍动漫精品| 午夜精品免费看| 日本免费精品| 亚洲高清久久网| 爱爱免费小视频| 青青草国产成人a∨下载安卓| 最近2019年手机中文字幕| 中文乱码字幕高清一区二区| 亚洲香蕉av| 久久免费成人精品视频| 黑人精品无码一区二区三区AV| 玖玖视频精品| 国产日韩综合一区二区性色av| 国产精品一区二区黑人巨大 | 亚洲制服av| 国产精品日韩欧美综合| jizz国产视频| 91视频91自| 亚洲一卡二卡三卡四卡无卡网站在线看| 免费观看成人高潮| 亚洲成a人v欧美综合天堂 | 国产呦萝稀缺另类资源| 福利视频久久| h视频网站在线观看| 亚洲人妖av一区二区| 日韩av高清在线看片| 69堂精品视频在线播放| 欧美一区二区福利在线| 免费在线观看成年人视频| 水蜜桃久久夜色精品一区| 欧美高清在线播放| 久久久久久久久久成人| 国产91色综合久久免费分享| 欧美在线一二三区| 污网站在线免费看| 欧洲一区在线电影| 催眠调教后宫乱淫校园| 日本久久精品| 97香蕉超级碰碰久久免费的优势| 最近中文字幕在线观看| 成人精品免费看| 在线免费观看成人| 美女的胸无遮挡在线观看| 欧美美女喷水视频| 荫蒂被男人添免费视频| 91精品综合| 国产成人极品视频| 免费a视频在线观看| 国产精品传媒入口麻豆| 欧美视频第一区| 北条麻妃一区二区三区在线| yellow中文字幕久久| 老熟妇一区二区三区| 不卡一区二区中文字幕| 在线视频一二三区| а√天堂资源国产精品| 亚洲精品资源美女情侣酒店 | 精品91在线| 成人黄色大片在线免费观看| 成人福利在线| 色伊人久久综合中文字幕| 国产精品扒开腿做爽爽爽a片唱戏| 国产高清久久| 91精品国产综合久久男男| 第一福利在线| 色丁香久综合在线久综合在线观看| 午夜男人的天堂| 欧美私人啪啪vps| 91福利视频导航| 91麻豆国产福利在线观看宅福利| 欧美日韩三级视频| 国产在线免费av| 人妖欧美一区二区| 日韩亚洲视频| 成人国产综合| 亚洲性夜色噜噜噜7777| 天天干,天天干| 久久精品亚洲精品国产欧美kt∨| 免费在线观看亚洲视频 | 亚洲免费视频观看| 午夜影院在线看| 91玉足脚交白嫩脚丫在线播放| 国产妇女馒头高清泬20p多| 日韩中文在线| 欧美韩国理论所午夜片917电影| www.久久成人| 亚洲综合一区在线| 大乳护士喂奶hd| 国产精品亚洲综合久久| 欧美日韩精品免费观看| 欧美一级大片| 视频在线一区二区| 国产女人18毛片水18精| 亚洲免费观看在线视频| 曰本三级日本三级日本三级| 好看的亚洲午夜视频在线| 国产精品二区在线观看| gogo高清午夜人体在线| 精品无码久久久久久国产| 无码人妻丰满熟妇精品区| 久久精品人人做| 福利视频999| 影音先锋久久精品| 日本午夜精品电影| 一区二区三区| 国内精品久久久久影院 日本资源| 污污的视频网站在线观看| 日本道精品一区二区三区| youjizz亚洲女人| 国产乱人伦偷精品视频免下载| 日韩精品在线中文字幕| 亚洲欧美成人vr| 成人h视频在线观看播放| 毛片网站在线看| 亚洲欧美色婷婷| 国产精品亚洲lv粉色| 亚洲不卡在线观看| 娇妻被老王脔到高潮失禁视频| 麻豆精品久久精品色综合| 日韩一级性生活片| 国产欧美日韩在线一区二区| 91亚洲va在线va天堂va国| 国产高清中文字幕在线| 中文字幕日韩专区| 亚洲爱情岛论坛永久| 91福利视频在线| 黄色一级视频免费观看| 国产欧美日韩久久| 亚洲精品激情视频| 免播放器亚洲一区| 日韩中字在线观看| 999精品在线| 欧洲一区二区在线观看| 亚洲乱码一区| 国产精品视频地址| 日本不卡网站| 色综合久久悠悠| 午夜免费福利在线观看| 亚洲韩国欧洲国产日产av| 国产一区二区女内射| 欧美性猛交xxxx富婆| 久久高清无码视频| 国产精品全国免费观看高清 | 任你躁在线精品免费| 成人久久久久久| 666av成人影院在线观看| 久久久久亚洲精品| 超碰porn在线| 日韩在线观看av| 国产中文在线视频| 国产视频亚洲精品| 男人天堂综合网| 日韩欧美亚洲另类制服综合在线| 高潮无码精品色欲av午夜福利| 香蕉成人啪国产精品视频综合网| 天天操天天操天天操天天操天天操| 久久久国产精华| 搡老熟女老女人一区二区| 国产mv日韩mv欧美| 杨幂一区二区国产精品| 精品一区二区三区视频| 色婷婷成人在线| 毛片av一区二区| 国产高潮免费视频| 日韩成人免费在线| 国产精品69页| 久久精品91| 久久综合久久色| 老牛国产精品一区的观看方式| 日韩精品xxxx| 宅男噜噜噜66一区二区| 九色自拍视频在线观看| 妖精视频成人观看www| 国产视频九色蝌蚪| 日韩午夜电影| 亚洲欧洲日产国码无码久久99| 激情欧美一区| 国产真人做爰毛片视频直播| 国产一区视频在线观看免费| 免费看黄色a级片| 欧美日韩p片| 日本中文字幕一级片| 欧美久久一级| 久艹视频在线免费观看| 国产精品主播| 熟女人妇 成熟妇女系列视频| 每日更新成人在线视频| 成人精品小视频| 久久精品国产成人一区二区三区 | 中文字字幕在线中文| 欧美性69xxxx肥| 中文字幕手机在线视频| 欧美午夜影院一区| 国产又黄又粗又猛又爽| 欧美一卡二卡在线| 人妻一区二区三区免费| 亚洲二区中文字幕| 精品视频三区| 久久精品99久久久久久久久| 超碰在线无需免费| 国内成人精品视频| 日本在线中文字幕一区二区三区| 国产在线观看不卡| 亚洲视频三区| 久久人人爽爽人人爽人人片av| 极品美女一区二区三区| 黄频视频在线观看| 亚洲一区二区毛片| 伊人国产在线视频| 成人黄色大片在线观看| 日韩女同一区二区三区| 亚洲激情中文1区| 四虎成人永久免费视频| 精品视频123区在线观看| 精品久久人妻av中文字幕| 亚洲九九九在线观看| 欧美另类极品| 68精品久久久久久欧美| 欧美成人高清视频在线观看| 999国内精品视频在线| 色棕色天天综合网| 免费看日b视频| 日韩精品电影在线| 中文字幕第三区| 91免费看`日韩一区二区| 青青草华人在线视频| 亚洲成人精品一区| 一区二区www| 亚洲精品日韩在线| 中文在线字幕免费观看| 国产精品久久久久国产a级| 国产精品qvod| 99热都是精品| 日韩电影在线观看电影| 四虎永久免费观看| 亚洲欧洲一区二区三区| 欧美激情黑白配| 日韩午夜av一区| 午夜在线免费观看视频| 欧洲成人在线视频| xvideos.蜜桃一区二区| 熟妇熟女乱妇乱女网站| 丝袜诱惑制服诱惑色一区在线观看 | 亚洲精品无播放器在线播放| 久久av一区二区三区漫画| 欧美国产另类| 深爱五月综合网| 国产精品久久久久久久蜜臀 | 日韩精品乱码免费| 亚洲av成人片色在线观看高潮| 亚洲同性gay激情无套| 免费av中文字幕| 亚洲精品国产拍免费91在线| 免费看美女视频在线网站| 日本道色综合久久影院| 久久久伦理片| 久久久久久免费看| 成人毛片视频在线观看| 国产大学生自拍| 欧美一区二区视频在线观看| 日本中文字幕伦在线观看| 日本精品性网站在线观看| 老司机精品视频在线播放| youjizz.com在线观看| 国产精品一区二区黑丝| 国产日产精品一区二区三区的介绍| 在线一区二区三区四区五区| 午夜av免费观看| 欧美一级淫片aaaaaaa视频| 久9re热视频这里只有精品| 97碰在线视频| 成人国产视频在线观看| 日韩欧美a级片| 亚洲国产精品悠悠久久琪琪| av中文字幕在线看| 国产视色精品亚洲一区二区| 激情综合在线| 视频免费在线观看| 精品国产乱码久久久久久虫虫漫画| 免费av网站在线播放| 97精品久久久| 色橹橹欧美在线观看视频高清| 777777av| 久久久久久久综合狠狠综合| 波多野结衣人妻| 丝袜一区二区三区| 国产区一区二| 免费的一级黄色片| 成人avav影音| 男人天堂2024| 最近2019中文字幕第三页视频| 日韩在线电影| 久久这里只有精品8| 北岛玲一区二区三区四区| 国产尤物在线视频| 夜夜嗨av色一区二区不卡| 伦一区二区三区中文字幕v亚洲| 一区二区免费在线观看| 国产精品99精品久久免费| 日韩免费视频网站| 亚洲性猛交xxxxwww| 99久久这里有精品| 欧美精品自拍视频| 国产偷国产偷精品高清尤物| 国产精品国产av| 久久久久久有精品国产| 久久爱www成人| 午夜免费福利网站| 精品久久香蕉国产线看观看gif| 欧美日韩国产综合视频| 国产日韩精品在线| 亚洲区一区二| 国产毛片欧美毛片久久久| 日韩一区二区三区观看| 欧美男人天堂| 激情图片qvod| 91蝌蚪国产九色| 99久久亚洲精品日本无码 | 久草综合在线| 国产aaa免费视频| 日本一区二区在线不卡| 亚洲成人久久精品| 国产精品久久久久久中文字| 欧美日韩一区自拍| 久久久久久久久福利| 精品久久久久久综合日本欧美 | 国产欧美日韩综合一区在线播放 | 中文字幕网站在线观看| 日韩丝袜美女视频| 成人免费在线观看视频| 亚洲熟妇国产熟妇肥婆|