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

為什么說容器是單進程模型

云計算 前端
Go 語言現在的一個主要應用領域就是云原生技術,包括容器(以 Docker 為代表)、Kubernetes、Prometheus 等。后面將寫一系列文章來介紹一下云原生技術棧中的關鍵技術。

Go 語言現在的一個主要應用領域就是云原生技術,包括容器(以 Docker 為代表)、Kubernetes、Prometheus 等。后面將寫一系列文章來介紹一下云原生技術棧中的關鍵技術。

過去兩年很多大公司的一個主要技術方向就是將應用上云,在這個過程中的一個典型錯誤用法就是將容器當成虛擬機來使用,將一堆進程啟動在一個容器內。但是容器和虛擬機對進程的管理能力是有著巨大差異的。不管在容器中還是虛擬機中都有一個一號進程,虛擬機中是 systemd 進程,容器中是 entrypoint 啟動進程,然后所有的其他線程都是一號進程的子進程,或者子進程的子進程,遞歸下去。這里的主要差異就體現在 systemd 進程對僵尸進程回收的能力。如果你想和更多容器技術專家交流,可以加我微信liyingjiese,備注『加群』。群里每周都有全球各大公司的最佳實踐以及行業最新動態。

[[277611]]

僵尸進程

說到僵尸進程,這里簡單介紹一下 Linux 系統中的進程狀態,我們可以通過 ps 或者 top 等命令查看系統中的進程,比如通過 ps aux 在我的 ecs 虛擬機上面得到如下的輸出。 

  1. [root@emr-header-1 ~]# ps aux 
  2. USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND 
  3. root         1  0.1  0.0 190992  3568 ?        Ss   Mar16 289:04 /usr/lib/systemd/systemd --switched-root --system --de 
  4. root         2  0.0  0.0      0     0 ?        S    Mar16   0:05 [kthreadd] 
  5. root         3  0.0  0.0      0     0 ?        S    Mar16  13:01 [ksoftirqd/0] 
  6. root         5  0.0  0.0      0     0 ?        S<   Mar16   0:00 [kworker/0:0H] 
  7. root         7  0.0  0.0      0     0 ?        S    Mar16  14:41 [migration/0] 
  8. root         8  0.0  0.0      0     0 ?        S    Mar16   0:00 [rcu_bh] 
  9. root         9  0.0  0.0      0     0 ?        S    Mar16 243:19 [rcu_sched] 
  10. root        10  0.0  0.0      0     0 ?        S    Mar16   0:50 [watchdog/0] 
  11. root        11  0.0  0.0      0     0 ?        S    Mar16   0:39 [watchdog/1] 
  12. root        12  0.0  0.0      0     0 ?        S    Mar16  23:51 [migration/1] 
  13. root        13  0.0  0.0      0     0 ?        S    Mar16  15:44 [ksoftirqd/1] 
  14. root        15  0.0  0.0      0     0 ?        S<   Mar16   0:00 [kworker/1:0H] 

我們可以看到排在第一位的就是前面說到的 1 號進程 systemd。其中的 STAT 那一列就是進程狀態,這里的狀態都是和 S 有關的,但是正常還有 R、D、Z 等狀態。各個狀態的含義簡單描述如下:

  • S:Interruptible Sleep,中文可以叫做可中斷的睡眠狀態,表示進程因為等待某個資源或者事件就緒而被系統暫時掛起。當資源或者事件 Ready 的時候,進程輪轉到 R 狀態。
  • R:也就是 Running,有時候也可以指代 Runnable,表示進程正在運行或者等待運行。
  • Z:Zombie,也就是僵尸進程。我們知道每個進程都是會占用一定的資源的,比如 pid 等,如果進程結束,資源沒有被回收就會變成僵尸進程。
  • D:Disk Sleep,也就是 Uninterruptible Sleep,不可中斷的睡眠狀態,一般是進程在等待 IO 等資源,并且不可中斷。D 狀態相信很多人在實踐中第一次接觸就是 ps 卡住。D 狀態一般在 IO 等資源就緒之后就會輪轉到 R 狀態,如果進程處于 D 狀態比較久,這個時候往往是 IO 出現問題,解決辦法大部分情況是重啟機器。
  • I:Idle,也就是空閑狀態,不可中斷的睡眠的內核線程。和 D 狀態進程的主要區別是可能實際上不會造成負載升高。

關于僵尸進程,這里繼續討論一下。對于正常的使用情況,子進程的創建一般需要父進程通過系統調用 wait() 或者 waitpid() 來等待子進程結束,從而回收子進程的資源。除了這種方式外,還可以通過異步的方式來進行回收,這種方式的基礎是子進程結束之后會向父進程發送 SIGCHLD 信號,基于此父進程注冊一個 SIGCHLD 信號的處理函數來進行子進程的資源回收就可以了。記住這兩種方式,后面還會涉及到。

僵尸進程的最大危害是對資源的一種永久性占用,比如進程號,系統會有一個最大的進程數 n 的限制,也就意味一旦 1 到 n 進程號都被占用,系統將不能創建任何進程和線程(進程和線程對于 OS 而言,使用同一種數據結構來表示,task_struct)。這個時候對于用戶的一個直觀感受就是 shell 無法執行任何命令,這個原因是 shell 執行命令的本質是 fork。 

  1. [root@emr-header-1 ~]# ulimit -a 
  2. core file size          (blocks, -c) 0 
  3. data seg size           (kbytes, -d) unlimited 
  4. scheduling priority             (-e) 0 
  5. file size               (blocks, -f) unlimited 
  6. pending signals                 (-i) 63471 
  7. max locked memory       (kbytes, -l) 64 
  8. max memory size         (kbytes, -m) unlimited 
  9. open files                      (-n) 131070 
  10. pipe size            (512 bytes, -p) 8 
  11. POSIX message queues     (bytes, -q) 819200 
  12. real-time priority              (-r) 0 
  13. stack size              (kbytes, -s) 8192 
  14. cpu time               (seconds, -t) unlimited 
  15. max user processes              (-u) 63471 
  16. virtual memory          (kbytes, -v) unlimited 
  17. file locks                      (-x) unlimited 

孤兒進程

前面說到如果子進程先于父進程退出,并且父進程沒有對子進程殘留的資源進行回收的話將會產生僵尸進程。這里引申另外一種情況,父進程先于子進程退出的話,那么子進程的資源誰來回收呢?

父進程先于子進程退出,這個時候我們一般將還在運行的子進程稱為孤兒進程,但是實際上孤兒進程并沒有一個明確的定義,他的狀態還是處于上面討論的幾種進程狀態中。那么孤兒進程的資源誰來回收呢?類 Unix 系統針對這種情況會將這些孤兒進程的父進程置為 1 號進程也就是 systemd 進程,然后由 systemd 來對孤兒進程的資源進行回收。

單進程模型的本質

看完上面兩節大家應該知道了虛擬機或者一個完整的 OS 是如何避免僵尸進程的。但是,在容器中,1 號進程一般是 entry point 進程,針對上面這種 將孤兒進程的父進程置為 1 號進程進而避免僵尸進程 處理方式,容器是處理不了的。進而就會導致容器中在孤兒進程這種異常場景下僵尸進程無法徹底處理的窘境。

所以說,容器的單進程模型的本質其實是容器中的 1 號進程并不具有管理多進程、多線程等復雜場景下的能力。如果一定在容器中處理這些復雜情況的,那么需要開發者對 entry point 進程賦予這種能力。這無疑是加重了開發者的心智負擔,這是任何一項大眾技術或者平臺框架都不愿看到的尷尬之地。

如何避免

除了第二節討論的開發者自己賦予 entrypoint 進程管理多進程的能力,這里我更推薦借助 Kubernetes 來做這件事情。我想現在應該也沒有人對容器進行人工管理了,大部分人應該都轉向了容器編排和調度工具 Kubernetes 陣營了(對于那些還在使用 Swarm 的一小波人,我勸你們早日棄暗投明 :))。

Kubernetes 中可以將多個容器編排到一個 Pod 里面,共享同一個 Linux NameSpace。這項技術的本質是使用 Kubernetes 提供一個 pause 鏡像,展開來說就是先用 pause 鏡像實例化出 NameSpace,然后其他容器加入這個 NameSpace 從而實現 NameSpace 共享。突然意識到這塊需要有容器和 NameSpace 的技術背景,限于篇幅,希望你可以自行搜索這種技術背景。或者我下一篇文章討論一下容器技術的本質。

言歸正傳,我們來介紹一下 pause。pause 是 Kubernetes 在 1.16 版本引入的技術,要使用 pause,我們只需要在 Pod 創建的 yaml 中指定 shareProcessNamespace 參數為 true,如下: 

  1. apiVersion: v1 
  2. kind: Pod 
  3. metadata: 
  4. name: nginx 
  5. spec: 
  6. shareProcessNamespace: true 
  7. containers: 
  8. name: nginx 
  9. image: nginx 
  10. name: shell 
  11. image: busybox 
  12. securityContext: 
  13.   capabilities: 
  14.     add
  15.     - SYS_PTRACE 
  16. stdin: true 
  17. tty: true 

創建 Pod:

  1. kubectl apply -fshare-process-namespace.yaml 

attach 到 Pod 中,ps 查看進程列表: 

  1. / # ps ax 
  2. PID   USER     TIME  COMMAND 
  3. 1 root      0:00 /pause 
  4. 8 root      0:00 nginx: master process nginx -g daemon off
  5. 14 101       0:00 nginx: worker process 
  6. 15 root      0:00 sh 
  7. 21 root      0:00 ps ax 

我們可以看到 Pod 中的 1 號進程變成了 /pause,其他容器的 entrypoint 進程都變成了 1 號進程的子進程。這個時候開始逐漸逼近事情的本質了:/pause 進程是如何處理將孤兒進程的父進程置為 1 號進程進而避免僵尸進程的呢?我們看一下源碼,git repo: pause.c: 

  1. #define STRINGIFY(x) #x 
  2. #define VERSION_STRING(x) STRINGIFY(x) 
  3.  
  4. #ifndef VERSION 
  5. #define VERSION HEAD 
  6. #endif 
  7.  
  8. static void sigdown(int signo) { 
  9. psignal(signo, "Shutting down, got signal"); 
  10. exit(0); 
  11.  
  12. static void sigreap(int signo) { 
  13. while (waitpid(-1, NULL, WNOHANG) > 0) 
  14.  
  15. int main(int argc, char **argv) { 
  16. int i; 
  17. for (i = 1; i < argc; ++i) { 
  18. if (!strcasecmp(argv[i], "-v")) { 
  19.   printf("pause.c %s\n", VERSION_STRING(VERSION)); 
  20.   return 0; 
  21.  
  22. if (getpid() != 1) 
  23. /* Not an error because pause sees use outside of infra containers. */ 
  24. fprintf(stderr, "Warning: pause should be the first process\n"); 
  25.  
  26. if (sigaction(SIGINT, &(struct sigaction){.sa_handler = sigdown}, NULL) < 0) 
  27. return 1; 
  28. if (sigaction(SIGTERM, &(struct sigaction){.sa_handler = sigdown}, NULL) < 0) 
  29. return 2; 
  30. if (sigaction(SIGCHLD, &(struct sigaction){.sa_handler = sigreap, 
  31.                                          .sa_flags = SA_NOCLDSTOP}, 
  32.             NULL) < 0) 
  33. return 3; 
  34.  
  35. for (;;) 
  36. pause(); 
  37. fprintf(stderr, "Error: infinite loop terminated\n"); 
  38. return 42; 
  39. }  

重點關注一下 35 行和 13 行,這個不就是我們上面說的。

  • 除了這種方式外,還可以通過異步的方式來進行回收,這種方式的基礎是子進程結束之后會向父進程發送 SIGCHLD 信號,基于此父進程注冊一個 SIGCHLD 信號的處理函數來進行子進程的資源回收就可以了。

SIGCHLD 信號的處理函數核心就是這一行 while (waitpid(-1, NULL, WNOHANG) > 0) ,其中 WNOHANG 參數是為了讓父進程直接返回不阻塞。

總結

容器化改造的路非常漫長,對于很多業務同學在改造的過程中由于一些思維的慣性就想把容器當成一個虛擬機來使用,這個可能會導致非常多的問題。或許我們可以探究一些容器的設計模式,以便進行更好的實踐。

 

責任編輯:未麗燕 來源: Dockone.in
相關推薦

2025-09-30 09:10:16

2022-03-14 08:33:09

TypeScriptJavaScript前端

2020-07-03 14:05:26

Serverless云服務商

2021-11-29 18:27:12

Web Wasmjs

2015-12-04 10:04:21

Linux容器虛擬化

2018-03-22 14:47:13

容器開發人員筆記本

2011-09-20 15:51:42

NoSQL

2011-05-05 08:51:18

PHP

2025-04-07 08:30:00

緩存Java開發

2011-10-27 13:37:51

網頁設計

2023-05-05 16:26:33

2012-02-08 10:02:53

Web

2019-09-23 13:37:09

Anthos谷歌Kubernetes

2025-05-27 10:10:00

Java緩存開發

2019-08-06 10:05:03

Linux操作系統C語言

2018-12-27 15:13:12

云計算運維管理

2017-03-30 14:52:40

華為軟件開發云

2018-01-23 11:48:17

Vue.js前端開發

2021-01-14 15:34:53

區塊鏈比特幣機器

2021-06-24 12:46:40

數據管理模型
點贊
收藏

51CTO技術棧公眾號

九九在线高清精品视频| 免费a级毛片在线播放| 亚洲精品在线二区| 国产亚洲欧美视频| 亚洲一区二区三区三州| 超碰在线中文字幕| 国产人久久人人人人爽| 亚洲一区二区三区视频| 国产精品老女人| 无码人妻精品一区二区蜜桃网站| 中文字幕亚洲欧美日韩高清| 91视频 - 88av| 天堂资源最新在线| 久久99九九99精品| 5278欧美一区二区三区| 日韩国产第一页| 欧美重口另类| 日韩午夜电影在线观看| 黄色一级大片在线观看| 青青在线视频| 欧美国产一区在线| 精品免费日产一区一区三区免费| 曰批又黄又爽免费视频| 日韩天堂av| 美日韩丰满少妇在线观看| 亚洲国产欧美视频| 亚洲三区欧美一区国产二区| 欧美亚洲一区三区| 亚欧无线一线二线三线区别| 成人影欧美片| 欧美国产欧美综合| 久久久久久九九| 亚洲成人777777| 加勒比av一区二区| 国产精品九九久久久久久久| 天堂网一区二区三区| 午夜国产精品视频免费体验区| 一个色综合导航| 亚洲av成人片色在线观看高潮 | silk一区二区三区精品视频| 欧美性受极品xxxx喷水| 91猫先生在线| 2021天堂中文幕一二区在线观| 专区另类欧美日韩| 亚洲午夜精品久久久中文影院av | 北条麻妃一区二区三区| 91在线观看免费观看| 亚洲一级视频在线观看| 男人的天堂亚洲一区| 日本久久久久久久久久久| 日韩欧美亚洲视频| 亚洲伦理精品| 98精品在线视频| 国产91av视频| 国产亚洲高清视频| 欧美孕妇与黑人孕交| 国产精品一区二区6| 久久综合成人网| 新版的欧美在线视频| 午夜精品久久久久久久久| 国产一级不卡视频| 欧洲黄色一区| 亚洲国产综合视频在线观看| 国产精品视频网站在线观看| 欧美性video| 亚洲午夜在线视频| 亚洲国产精品成人天堂| mm视频在线视频| 五月激情综合婷婷| 久久久久久久激情| 素人一区二区三区| 欧美人与性动xxxx| 亚洲综合在线一区二区| 98视频精品全部国产| 亚洲电影免费观看| 国产色视频一区二区三区qq号| 亚洲精品无吗| 色偷偷噜噜噜亚洲男人| 免费高清在线观看电视| 国产精品啊啊啊| 91国内精品久久| 久久久久久久亚洲| 极品少妇xxxx精品少妇| 99三级在线| 婷婷色在线观看| 99在线热播精品免费| 日本在线视频一区| 黄色网页在线播放| 午夜精品视频在线观看| www.日日操| 欧美电影在线观看一区| 日韩精品中文字幕在线播放| 第一次破处视频| 中国精品18videos性欧美| 国语自产精品视频在线看一大j8| 91午夜精品亚洲一区二区三区| 奇米777欧美一区二区| 亚洲精品日韩激情在线电影| 欧美一区二区三区激情| 国产亚洲精品中文字幕| 欧美少妇一级片| 男人av在线播放| 欧美高清激情brazzers| 中文字幕乱码一区| 91视频综合| 91国产美女视频| 国产精品无码久久久久成人app| 成人免费视频视频在线观看免费 | 久久97视频| 久久精品视频一| 久久国产黄色片| 精品一区二区三区的国产在线播放| 国产精品久久亚洲7777| 成年人在线看| 亚洲成人av电影在线| 日本人69视频| 亚洲精华一区二区三区| 欧美黑人一级爽快片淫片高清| 激情网站在线观看| 成人一区二区三区在线观看| 在线观看一区二区三区三州| 性欧美xxx69hd高清| 日韩写真欧美这视频| www.日本高清视频| 国产视频一区在线观看一区免费| 91视频88av| av色图一区| 色综合天天性综合| 99免费观看视频| 亚洲电影在线一区二区三区| 国产精品久久久久久久久免费| 成人乱码一区二区三区 | 精品无码三级在线观看视频| 欧美日韩精品免费看| 国产色婷婷在线| 91精品国模一区二区三区| 少妇av片在线观看| 久久精品伊人| 欧美在线激情| 中国色在线日|韩| 亚洲黄页视频免费观看| 久久久久久久久久一区二区三区| 精品制服美女久久| 视频一区三区| 欧美xnxx| 在线观看成人黄色| 怡红院男人天堂| 国产午夜精品在线观看| 国产一级不卡毛片| 国产伦精品一区二区三区视频 | 亚洲精品国产精品乱码| 国产精品综合视频| 蜜臀在线免费观看| 亚洲午夜免费| 亚洲日本va午夜在线电影| 黄色欧美在线| 美女性感视频久久久| 亚洲一区精品在线观看| 亚洲国产岛国毛片在线| 久久精品网站视频| 欧美伦理在线视频| 国产精自产拍久久久久久| 91亚洲精选| 欧美日韩国产免费一区二区| 内射毛片内射国产夫妻| 免费成人av资源网| 宅男一区二区三区| 麻豆精品久久| 欧美激情一级二级| 天堂91在线| 欧洲精品在线观看| 青青青手机在线视频| 精品一区二区综合| 日韩精品一区二区在线视频| 国产精品白丝av嫩草影院| 97精品国产91久久久久久| 香蕉久久国产av一区二区| 色婷婷国产精品| 日韩精品一区国产麻豆| 一本一道久久a久久精品综合蜜臀| 国产精品一区二区免费在线观看| 国产伦精品一区二区三区在线播放| 韩国一区二区电影| 你懂的在线播放| 欧美撒尿777hd撒尿| 国产精品国产精品88| 成人永久免费视频| 日日碰狠狠丁香久燥| 日韩在线视频精品| 成人激情直播| 东京一区二区| 久久夜精品va视频免费观看| 精品人妻一区二区三区浪潮在线| 婷婷亚洲久悠悠色悠在线播放| 国产在线观看无码免费视频| 免费成人在线视频观看| 久久这里只有精品18| 免费精品国产| 51精品国产人成在线观看| 麻豆蜜桃在线观看| 精品国模在线视频| 天堂a√中文在线| 欧美一级理论片| caoporn国产| 亚洲激情综合网| 一区二区三区久久久久| 国产又粗又猛又爽又黄91精品| 777av视频| 99热在线成人| 蜜桃传媒视频麻豆第一区免费观看| 成人四虎影院| 97人人爽人人喊人人模波多| 亚洲图片88| 亚洲欧美国产制服动漫| 99热这里是精品| 91福利视频网站| 国产精品白浆一区二小说| 国产精品免费网站在线观看| 日本一区二区在线免费观看| 精品亚洲国内自在自线福利| 女人扒开屁股爽桶30分钟| 一区二区三区四区在线观看国产日韩| 日本婷婷久久久久久久久一区二区| 精品中文字幕一区二区三区四区| 国产精品18久久久久久麻辣| 97人人在线视频| 欧美成人精品在线视频| 69久久久久| 亚洲性生活视频| 涩涩视频免费看| 日韩一级片网址| 91片黄在线观看喷潮| 色婷婷精品久久二区二区蜜臂av| 久草成人在线视频| 亚洲免费视频成人| 日韩av片在线免费观看| 国产午夜精品一区二区三区视频| 欧美在线一级片| 岛国精品在线观看| 在线成人精品视频| 国产乱码精品1区2区3区| www.亚洲高清| 水蜜桃久久夜色精品一区的特点| 日韩精品一区在线视频| 国户精品久久久久久久久久久不卡| 26uuu成人| 91久久高清国语自产拍| 亚洲二区自拍| 欧美一区三区| 日韩欧美精品在线不卡| 国产欧美日韩精品一区二区三区| 黄色一区三区| 日韩系列在线| 欧美日韩精品免费观看| 精品在线观看入口| 免费在线观看一区二区| 九一国产精品| 色综合视频二区偷拍在线| 国产精品免费99久久久| 日本一区二区三区四区高清视频| 精品一区av| 亚洲欧美日韩不卡一区二区三区| 青青草97国产精品麻豆| 在线不卡视频一区二区| 亚洲色图网站| 国产freexxxx性播放麻豆| 亚洲黄色高清| 白嫩少妇丰满一区二区| 男女性色大片免费观看一区二区 | www.久久ai| 久久99国产精品自在自在app| 美女精品导航| 69视频在线播放| 欧美国产大片| 国产精品一区二区女厕厕| 99精品视频在线免费播放| av激情久久| 日本亚洲不卡| 天堂资源在线亚洲资源| 亚洲国产一区二区在线观看 | 国产精品日韩高清| 亚洲精品**不卡在线播he| 亚洲高清在线播放| 国模 一区 二区 三区| 黄色免费福利视频| 秋霞午夜av一区二区三区| 色哟哟在线观看视频| 99久久国产综合精品色伊| 女女互磨互喷水高潮les呻吟| 国产精品国模大尺度视频| 免费在线观看黄视频| 欧美性色19p| 国产男女猛烈无遮挡| 亚洲精品美女在线观看播放| 成a人v在线播放| 欧美激情精品久久久久| 亚洲国产尤物| 国产精品裸体一区二区三区| 精品一区二区三区中文字幕老牛| 大胆欧美熟妇xx| 久久一区亚洲| 黄色av电影网站| 欧美国产日韩一二三区| 日韩经典在线观看| 欧美精品亚洲二区| 日本1级在线| 欧美激情啊啊啊| 国产成人精品一区二区三区免费| 99在线高清视频在线播放| 欧美日韩国产传媒| 91专区在线观看| 国产精品一区二区久久不卡| 四虎国产精品成人免费入口| 一区二区三区国产精品| 在线观看国产小视频| 日韩成人黄色av| 日本一本在线免费福利| 国产美女精品视频| 色综合中文网| 一女被多男玩喷潮视频| 国产成人免费xxxxxxxx| 国产一区第一页| 日韩欧美在线视频观看| 欧美熟妇乱码在线一区| 久久夜精品va视频免费观看| 成人精品国产亚洲| 日本不卡一区二区三区视频| 亚洲激情亚洲| 午夜性福利视频| 成人欧美一区二区三区黑人麻豆| 无码人妻精品一区二区| 亚洲国产精品小视频| 色网在线观看| 91在线精品观看| 亚洲精品午夜av福利久久蜜桃| 国产视频手机在线播放| 久久久久久久性| 九九热在线免费观看| 日韩成人久久久| 欧美gv在线| 久久久一本精品99久久精品| 激情综合自拍| 国产精品手机在线观看| 夜夜嗨av一区二区三区四季av| 国产免费黄色录像| 精品国内产的精品视频在线观看| 日韩免费大片| 综合视频免费看| 国产综合色在线| 国产精品免费人成网站酒店| 3d动漫精品啪啪| 成人免费网址| 97久久人人超碰caoprom欧美| 欧美1区视频| 欧美激情一区二区三区p站| 一区二区三区国产豹纹内裤在线| 亚洲国产精品久久久久爰性色| 色与欲影视天天看综合网| 午夜久久av| 久操网在线观看| 91小视频在线免费看| 国产成人无码av| 一区二区三区高清国产| 欧美成人xxxx| 在线观看av的网址| 成人动漫av在线| 亚洲大片免费观看| 日韩中文字幕网| 亚洲精品一区国产| 玩弄中年熟妇正在播放| 国产亚洲成年网址在线观看| 中文字幕一区二区在线视频| 久久天天躁日日躁| 国产精品15p| 午夜精品久久久内射近拍高清 | 日本欧美精品久久久| 久久99精品网久久| 成人观看免费视频| 日韩av最新在线观看| 国精产品一区一区三区四川| 亚洲 欧洲 日韩| av成人免费在线观看| 中文字幕精品无| 欧美插天视频在线播放| 欧美人妖在线观看| jizz18女人| 亚洲第一福利视频在线| 国产福利小视频在线观看| 亚洲一区二区免费在线| 国产欧美在线| 亚洲色图27p| 精品国产髙清在线看国产毛片| 成人美女黄网站| 日本不卡一区二区三区四区| 波多野结衣中文字幕一区二区三区| 日本熟妇一区二区三区| 色中色综合影院手机版在线观看| 亚洲精品国产动漫| 国产裸体视频网站| 欧美系列亚洲系列|