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

徹底搞懂 Kubernetes 中的 Events

云計算
既然 events 是 Kubernetes 集群中的一種資源,正常情況下它的 metadata.name 中應該包含其名稱,用于進行單獨操作。

 [[442818]]

之前我寫了一篇《更優雅的 Kubernetes 集群事件度量方案》,利用 Jaeger 利用 tracing 的方式來采集 Kubernetes 集群中的 events 并進行展示。最終效果如下:

寫那篇文章的時候,立了個 flag 要詳細介紹下其中的原理,鴿了很久,現在年底了,也該發出來了。

Eents 概覽

我們先來做個簡單的示例,來看看 Kubernetes 集群中的 events 是什么。

創建一個新的名叫 moelove 的 namespace ,然后在其中創建一個叫做 redis 的 deployment。接下來查看這個 namespace 中的所有 events。

  1. (MoeLove) ➜ kubectl create ns moelove 
  2. namespace/moelove created 
  3. (MoeLove) ➜ kubectl -n moelove create deployment redis --image=ghcr.io/moelove/redis:alpine  
  4. deployment.apps/redis created 
  5. (MoeLove) ➜ kubectl -n moelove get deploy 
  6. NAME    READY   UP-TO-DATE   AVAILABLE   AGE 
  7. redis   1/1     1            1           11s 
  8. (MoeLove) ➜ kubectl -n moelove get events 
  9. LAST SEEN   TYPE     REASON              OBJECT                        MESSAGE 
  10. 21s         Normal   Scheduled           pod/redis-687967dbc5-27vmr    Successfully assigned moelove/redis-687967dbc5-27vmr to kind-worker3 
  11. 21s         Normal   Pulling             pod/redis-687967dbc5-27vmr    Pulling image "ghcr.io/moelove/redis:alpine" 
  12. 15s         Normal   Pulled              pod/redis-687967dbc5-27vmr    Successfully pulled image "ghcr.io/moelove/redis:alpine" in 6.814310968s 
  13. 14s         Normal   Created             pod/redis-687967dbc5-27vmr    Created container redis 
  14. 14s         Normal   Started             pod/redis-687967dbc5-27vmr    Started container redis 
  15. 22s         Normal   SuccessfulCreate    replicaset/redis-687967dbc5   Created pod: redis-687967dbc5-27vmr 
  16. 22s         Normal   ScalingReplicaSet   deployment/redis              Scaled up replica set redis-687967dbc5 to 1 

但是我們會發現默認情況下 kubectl get events 并沒有按照 events 發生的順序進行排列,所以我們往往需要為其增加 --sort-by='{.metadata.creationTimestamp}' 參數來讓其輸出可以按時間進行排列。

這也是為何 Kubernetes v1.23 版本中會新增 kubectl alpha events 命令的原因。

按時間排序后可以看到如下結果:

  1. (MoeLove) ➜ kubectl -n moelove get events --sort-by='{.metadata.creationTimestamp}' 
  2. LAST SEEN   TYPE     REASON              OBJECT                        MESSAGE 
  3. 2m12s       Normal   Scheduled           pod/redis-687967dbc5-27vmr    Successfully assigned moelove/redis-687967dbc5-27vmr to kind-worker3 
  4. 2m13s       Normal   SuccessfulCreate    replicaset/redis-687967dbc5   Created pod: redis-687967dbc5-27vmr 
  5. 2m13s       Normal   ScalingReplicaSet   deployment/redis              Scaled up replica set redis-687967dbc5 to 1 
  6. 2m12s       Normal   Pulling             pod/redis-687967dbc5-27vmr    Pulling image "ghcr.io/moelove/redis:alpine" 
  7. 2m6s        Normal   Pulled              pod/redis-687967dbc5-27vmr    Successfully pulled image "ghcr.io/moelove/redis:alpine" in 6.814310968s 
  8. 2m5s        Normal   Created             pod/redis-687967dbc5-27vmr    Created container redis 
  9. 2m5s        Normal   Started             pod/redis-687967dbc5-27vmr    Started container redis 

通過以上的操作,我們可以發現 events 實際上是 Kubernetes 集群中的一種資源。當 Kubernetes 集群中資源狀態發生變化時,可以產生新的 events。

深入 Events

單個 Event 對象

既然 events 是 Kubernetes 集群中的一種資源,正常情況下它的 metadata.name 中應該包含其名稱,用于進行單獨操作。所以我們可以使用如下命令輸出其 name :

  1. (MoeLove) ➜ kubectl -n moelove get events --sort-by='{.metadata.creationTimestamp}' -o jsonpath='{range .items[*]}{.metadata.name}{"\n"}{end}' 
  2. redis-687967dbc5-27vmr.16c4fb7bde8c69d2 
  3. redis-687967dbc5.16c4fb7bde6b54c4 
  4. redis.16c4fb7bde1bf769 
  5. redis-687967dbc5-27vmr.16c4fb7bf8a0ab35 
  6. redis-687967dbc5-27vmr.16c4fb7d8ecaeff8 
  7. redis-687967dbc5-27vmr.16c4fb7d99709da9 
  8. redis-687967dbc5-27vmr.16c4fb7d9be30c06 

選擇其中的任意一條 event 記錄,將其輸出為 YAML 格式進行查看:

  1. (MoeLove) ➜ kubectl -n moelove get events redis-687967dbc5-27vmr.16c4fb7bde8c69d2 -o yaml 
  2. action: Binding 
  3. apiVersion: v1 
  4. eventTime: "2021-12-28T19:31:13.702987Z" 
  5. firstTimestamp: null 
  6. involvedObject: 
  7.   apiVersion: v1 
  8.   kind: Pod 
  9.   name: redis-687967dbc5-27vmr 
  10.   namespace: moelove 
  11.   resourceVersion: "330230" 
  12.   uid: 71b97182-5593-47b2-88cc-b3f59618c7aa 
  13. kind: Event 
  14. lastTimestamp: null 
  15. message: Successfully assigned moelove/redis-687967dbc5-27vmr to kind-worker3 
  16. metadata: 
  17.   creationTimestamp: "2021-12-28T19:31:13Z" 
  18.   name: redis-687967dbc5-27vmr.16c4fb7bde8c69d2 
  19.   namespace: moelove 
  20.   resourceVersion: "330235" 
  21.   uid: e5c03126-33b9-4559-9585-5e82adcd96b0 
  22. reason: Scheduled 
  23. reportingComponent: default-scheduler 
  24. reportingInstance: default-scheduler-kind-control-plane 
  25. source: {} 
  26. type: Normal 

可以看到其中包含了很多信息, 這里我們先不展開。我們看另一個例子。

kubectl describe 中的 Events

我們可以分別對 Deployment 對象和 Pod 對象執行 describe 的操作,可以得到如下結果(省略掉了中間輸出):

  • 對 Deployment 操作
  1. (MoeLove) ➜ kubectl -n moelove describe deploy/redis                 
  2. Name:                   redis 
  3. Namespace:              moelove 
  4. ... 
  5. Events: 
  6.   Type    Reason             Age   From                   Message 
  7.   ----    ------             ----  ----                   ------- 
  8.   Normal  ScalingReplicaSet  15m   deployment-controller  Scaled up replica set redis-687967dbc5 to 1 
  • 對 Pod 操作
  1. (MoeLove) ➜ kubectl -n moelove describe pods redis-687967dbc5-27vmr 
  2. Name:         redis-687967dbc5-27vmr                                                                  
  3. Namespace:    moelove 
  4. Priority:     0 
  5. Events: 
  6.   Type    Reason     Age   From               Message 
  7.   ----    ------     ----  ----               ------- 
  8.   Normal  Scheduled  18m   default-scheduler  Successfully assigned moelove/redis-687967dbc5-27vmr to kind-worker3 
  9.   Normal  Pulling    18m   kubelet            Pulling image "ghcr.io/moelove/redis:alpine" 
  10.   Normal  Pulled     17m   kubelet            Successfully pulled image "ghcr.io/moelove/redis:alpine" in 6.814310968s 
  11.   Normal  Created    17m   kubelet            Created container redis 
  12.   Normal  Started    17m   kubelet            Started container redis 

我們可以發現 對不同的資源對象進行 describe 的時候,能看到的 events 內容都是與自己有直接關聯的。在 describe Deployment 的時候,看不到 Pod 相關的 Events 。

這說明, Event 對象中是包含它所描述的資源對象的信息的,它們是有直接聯系的。

結合前面我們看到的單個 Event 對象,我們發現 involvedObject 字段中內容就是與該 Event 相關聯的資源對象的信息。

更進一步了解 Events

我們來看看如下的示例,創建一個 Deployment ,但是使用一個不存在的鏡像:

  1. (MoeLove) ➜ kubectl -n moelove create deployment non-exist --image=ghcr.io/moelove/non-exist 
  2. deployment.apps/non-exist created 
  3. (MoeLove) ➜ kubectl -n moelove get pods 
  4. NAME                        READY   STATUS         RESTARTS   AGE 
  5. non-exist-d9ddbdd84-tnrhd   0/1     ErrImagePull   0          11s 
  6. redis-687967dbc5-27vmr      1/1     Running        0          26m 

我們可以看到當前的 Pod 處于一個 ErrImagePull 的狀態。查看當前 namespace 中的 events (我省略掉了之前 deploy/redis 的記錄)

  1. (MoeLove) ➜ kubectl -n moelove get events --sort-by='{.metadata.creationTimestamp}'                                                            
  2. LAST SEEN   TYPE      REASON              OBJECT                           MESSAGE 
  3. 35s         Normal    SuccessfulCreate    replicaset/non-exist-d9ddbdd84   Created pod: non-exist-d9ddbdd84-tnrhd 
  4. 35s         Normal    ScalingReplicaSet   deployment/non-exist             Scaled up replica set non-exist-d9ddbdd84 to 1 
  5. 35s         Normal    Scheduled           pod/non-exist-d9ddbdd84-tnrhd    Successfully assigned moelove/non-exist-d9ddbdd84-tnrhd to kind-worker3 
  6. 17s         Warning   Failed              pod/non-exist-d9ddbdd84-tnrhd    Error: ErrImagePull 
  7. 17s         Warning   Failed              pod/non-exist-d9ddbdd84-tnrhd    Failed to pull image "ghcr.io/moelove/non-exist": rpc error: code = Unknown desc = failed to pull and unpack image "ghcr.io/moelove/non-exist:latest": failed to resolve reference "ghcr.io/moelove/non-exist:latest": failed to authorize: failed to fetch anonymous token: unexpected status: 403 Forbidden 
  8. 18s         Normal    Pulling             pod/non-exist-d9ddbdd84-tnrhd    Pulling image "ghcr.io/moelove/non-exist" 
  9. 4s          Warning   Failed              pod/non-exist-d9ddbdd84-tnrhd    Error: ImagePullBackOff 
  10. 4s          Normal    BackOff             pod/non-exist-d9ddbdd84-tnrhd    Back-off pulling image "ghcr.io/moelove/non-exist" 

對這個 Pod 執行 describe 操作:

  1. (MoeLove) ➜ kubectl -n moelove describe pods non-exist-d9ddbdd84-tnrhd 
  2. ... 
  3. Events: 
  4.   Type     Reason     Age                    From               Message 
  5.   ----     ------     ----                   ----               ------- 
  6.   Normal   Scheduled  4m                     default-scheduler  Successfully assigned moelove/non-exist-d9ddbdd84-tnrhd to kind-worker3 
  7.   Normal   Pulling    2m22s (x4 over 3m59s)  kubelet            Pulling image "ghcr.io/moelove/non-exist" 
  8.   Warning  Failed     2m21s (x4 over 3m59s)  kubelet            Failed to pull image "ghcr.io/moelove/non-exist": rpc error: code = Unknown desc = failed to pull and unpack image "ghcr.io/moelove/non-exist:latest": failed to resolve reference "ghcr.io/moelove/non-exist:latest": failed to authorize: failed to fetch anonymous token: unexpected status: 403 Forbidden 
  9.   Warning  Failed     2m21s (x4 over 3m59s)  kubelet            Error: ErrImagePull 
  10.   Warning  Failed     2m9s (x6 over 3m58s)   kubelet            Error: ImagePullBackOff 
  11.   Normal   BackOff    115s (x7 over 3m58s)   kubelet            Back-off pulling image "ghcr.io/moelove/non-exist" 

我們可以發現,這里的輸出和之前正確運行 Pod 的不一樣。最主要的區別在于 Age 列。這里我們看到了類似 115s (x7 over 3m58s) 這樣的輸出。

它的含義表示:該類型的 event 在 3m58s 中已經發生了 7 次,最近的一次發生在 115s 之前

但是當我們去直接 kubectl get events 的時候,我們并沒有看到有 7 次重復的 event 。這說明 Kubernetes 會自動將重復的 events 進行合并。

選擇最后一條 Events (方法前面內容已經講了) 并將其內容使用 YAML 格式進行輸出:

  1. (MoeLove) ➜ kubectl -n moelove get events non-exist-d9ddbdd84-tnrhd.16c4fce570cfba46 -o yaml 
  2. apiVersion: v1 
  3. count: 43 
  4. eventTime: null 
  5. firstTimestamp: "2021-12-28T19:57:06Z" 
  6. involvedObject: 
  7.   apiVersion: v1 
  8.   fieldPath: spec.containers{non-exist} 
  9.   kind: Pod 
  10.   name: non-exist-d9ddbdd84-tnrhd 
  11.   namespace: moelove 
  12.   resourceVersion: "333366" 
  13.   uid: 33045163-146e-4282-b559-fec19a189a10 
  14. kind: Event 
  15. lastTimestamp: "2021-12-28T18:07:14Z" 
  16. message: Back-off pulling image "ghcr.io/moelove/non-exist" 
  17. metadata: 
  18.   creationTimestamp: "2021-12-28T19:57:06Z" 
  19.   name: non-exist-d9ddbdd84-tnrhd.16c4fce570cfba46 
  20.   namespace: moelove 
  21.   resourceVersion: "334638" 
  22.   uid: 60708be0-23b9-481b-a290-dd208fed6d47 
  23. reason: BackOff 
  24. reportingComponent: "" 
  25. reportingInstance: "" 
  26. source: 
  27.   component: kubelet 
  28.   host: kind-worker3 
  29. type: Normal 

這里我們可以看到其字段中包括一個 count 字段,表示同類 event 發生了多少次。以及 firstTimestamp 和 lastTimestamp 分別表示了這個 event 首次出現了最近一次出現的時間。這樣也就解釋了前面的輸出中 events 持續的周期了。

徹底搞懂 Events

以下內容是從 Events 中隨便選擇的一條,我們可以看到它包含的一些字段信息:

  1. apiVersion: v1 
  2. count: 1 
  3. eventTime: null 
  4. firstTimestamp: "2021-12-28T19:31:13Z" 
  5. involvedObject: 
  6.   apiVersion: apps/v1 
  7.   kind: ReplicaSet 
  8.   name: redis-687967dbc5 
  9.   namespace: moelove 
  10.   resourceVersion: "330227" 
  11.   uid: 11e98a9d-9062-4ccb-92cb-f51cc74d4c1d 
  12. kind: Event 
  13. lastTimestamp: "2021-12-28T19:31:13Z" 
  14. message: 'Created pod: redis-687967dbc5-27vmr' 
  15. metadata: 
  16.   creationTimestamp: "2021-12-28T19:31:13Z" 
  17.   name: redis-687967dbc5.16c4fb7bde6b54c4 
  18.   namespace: moelove 
  19.   resourceVersion: "330231" 
  20.   uid: 8e37ec1e-b3a1-420c-96d4-3b3b2995c300 
  21. reason: SuccessfulCreate 
  22. reportingComponent: "" 
  23. reportingInstance: "" 
  24. source: 
  25.   component: replicaset-controller 
  26. type: Normal 

其中主要字段的含義如下:

  • count: 表示當前同類的事件發生了多少次 (前面已經介紹)
  • involvedObject: 與此 event 有直接關聯的資源對象 (前面已經介紹) , 結構如下:
  1. type ObjectReference struct { 
  2.  Kind string 
  3.  Namespace string 
  4.  Name string 
  5.  UID types.UID 
  6.  APIVersion string 
  7.  ResourceVersion string 
  8.  FieldPath string 
  • source: 直接關聯的組件, 結構如下:
  1. type EventSource struct { 
  2.  Component string 
  3.  Host string 
  • reason: 簡單的總結(或者一個固定的代碼),比較適合用于做篩選條件,主要是為了讓機器可讀,當前有超過 50 種這樣的代碼;
  • message: 給一個更易讓人讀懂的詳細說明
  • type: 當前只有 Normal 和 Warning 兩種類型, 源碼中也分別寫了其含義:
  1. // staging/src/k8s.io/api/core/v1/types.go 
  2. const ( 
  3.  // Information only and will not cause any problems 
  4.  EventTypeNormal string = "Normal" 
  5.  // These events are to warn that something might go wrong 
  6.  EventTypeWarning string = "Warning" 

所以,當我們將這些 Events 都作為 tracing 的 span 采集回來后,就可以按照其 source 進行分類,按 involvedObject 進行關聯,按時間進行排序了。

總結

在這篇文章中,我主要通過兩個示例,一個正確部署的 Deploy,以及一個使用不存在鏡像部署的 Deploy,深入的介紹了 Events 對象的實際的作用及其各個字段的含義。

對于 Kubernetes 而言,Events 中包含了很多有用的信息,但是這些信息卻并不會對 Kubernetes 造成什么影響,它們也并不是實際的 Kubernetes 的日志。默認情況下 Kubernetes 中的日志在 1 小時后就會被清理掉,以便釋放對 etcd 的資源占用。

所以為了能更好的讓集群管理員知道發生了什么,在生產環境中,我們通常會把 Kubernetes 集群的 events 也給采集回來。我個人比較推薦的工具是:https://github.com/opsgenie/kubernetes-event-exporter

本文轉載自微信公眾號「MoeLove」,可以通過以下二維碼關注。轉載本文請聯系MoeLove公眾號。

 

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

2020-11-02 11:40:24

Node.jsRequire前端

2025-04-21 04:00:00

2023-09-28 08:15:05

SpringBean加載

2023-05-29 08:12:38

2024-01-03 13:39:00

JS,Javascrip算法

2023-10-18 10:55:55

HashMap

2025-04-11 05:55:00

2025-01-13 16:00:00

服務網關分布式系統架構

2025-06-30 00:32:43

策略模式算法MyBatis

2017-12-05 17:44:31

機器學習CNN卷積層

2025-05-06 01:14:00

系統編程響應式

2020-10-14 08:50:38

搞懂 Netty 線程

2022-08-26 13:24:03

version源碼sources

2025-07-01 06:05:34

2021-10-11 11:58:41

Channel原理recvq

2025-03-17 00:21:00

2021-10-09 19:05:06

channelGo原理

2025-07-28 04:00:00

Spring框架應用程序

2021-07-16 11:35:20

Java線程池代碼

2019-11-14 05:22:41

Javascript語言this
點贊
收藏

51CTO技術棧公眾號

丰满少妇被猛烈进入| 性欧美13一14内谢| 超碰在线99| 久久久.com| 国产精品尤物福利片在线观看| 一级性生活免费视频| 日韩精品一区二区三区中文在线| 亚洲va天堂va国产va久| 欧美日韩综合另类| 国产美女免费视频| 国产精品婷婷| 欧美精品日韩www.p站| 欧美 变态 另类 人妖| 另类一区二区| 欧美日韩加勒比精品一区| 手机看片福利永久国产日韩| 亚洲AV无码一区二区三区性 | 91女人18毛片水多国产| 伊人成人在线视频| 色综合影院在线| 欧美在线一级片| 国产亚洲久久| 91国产成人在线| 18黄暴禁片在线观看| 婷婷激情在线| 久久精品视频免费观看| 亚洲一区二区少妇| 中文字幕日韩三级| 国产精品乱看| 欧美国产视频一区二区| 99热99这里只有精品| 奇米777国产一区国产二区| 欧美日韩国产精选| 黄色国产小视频| 在线男人天堂| 亚洲国产欧美日韩另类综合| 在线免费观看一区二区三区| 韩国三级av在线免费观看| 国产91丝袜在线播放九色| 国产欧美精品久久久| 五月天婷婷导航| 亚洲视频1区| 久久人91精品久久久久久不卡 | 波多野结衣一区| 亚洲欧美日韩国产精品| 一级少妇精品久久久久久久| 久久久久毛片免费观看| 制服丝袜成人动漫| 中文字幕第88页| 久久久久久一区二区三区四区别墅| 欧美日韩国产区| 免费无码不卡视频在线观看| 成人福利电影| 午夜激情一区二区三区| 僵尸世界大战2 在线播放| 激情影院在线| 亚洲午夜免费电影| 国产 日韩 亚洲 欧美| av日韩中文| 欧美日韩国产综合新一区| 欧美s码亚洲码精品m码| 91av亚洲| 欧美日韩国产影片| 日韩成人av免费| 精品国产亚洲一区二区三区大结局| 91精品国产综合久久精品| 午夜免费福利网站| 国产福利资源一区| 亚洲免费人成在线视频观看| 欧美特级黄色录像| 日本女优一区| 欧美成人国产va精品日本一级| 91杏吧porn蝌蚪| 国产精品a级| 性色av一区二区三区免费| 久久久久无码精品国产| 亚洲激情不卡| 欧美最猛性xxxxx(亚洲精品)| 羞羞影院体验区| 天堂成人免费av电影一区| 9.1国产丝袜在线观看| 日韩精品在线免费视频| 91久久综合| 国产精品第3页| 91高潮大合集爽到抽搐| 激情综合网av| 粉嫩av四季av绯色av第一区| 丰满少妇一级片| 97aⅴ精品视频一二三区| 久热国产精品视频一区二区三区| 亚洲日本香蕉视频| 久久久久久黄色| 日本三级中国三级99人妇网站| 免费在线观看av网站| 亚洲一区二区三区影院| 免费无码不卡视频在线观看| 韩国成人在线| 欧美一级生活片| 日本三级日本三级日本三级极| 免费精品国产| 久久精品这里热有精品| 久久精品视频久久| 免费在线观看不卡| 粉嫩av四季av绯色av第一区| 欧美日韩在线精品一区二区三区激情综| 国产人伦精品一区二区| 2021狠狠干| 中文字幕人成乱码在线观看 | 中文字幕日韩高清| 欧美成人一区二区三区高清| 国产精品毛片一区二区三区| 国产精品揄拍500视频| 国产成人久久精品77777综合| 99久精品国产| 无码毛片aaa在线| 依依综合在线| 欧美男人的天堂一二区| 男女一区二区三区| 97精品视频| 性色av一区二区三区| 国产精品久久免费| 久久久久久97三级| 日韩精品一区在线视频| 日韩国产91| 亚洲国产一区二区三区在线观看 | 亚洲男女一区二区三区| 男人操女人逼免费视频| 9999在线精品视频| 国产一区二区三区四区福利| 久久久久久久久艹| 麻豆成人久久精品二区三区小说| 免费观看成人在线| 欧美hdxxx| 欧美一区二区人人喊爽| www亚洲色图| 99re国产精品| 91麻豆蜜桃| 中文日本在线观看| 色婷婷综合久色| 黄色av电影网站| 欧美成人午夜| 国产精品欧美风情| 日本亚洲一区| 欧美日韩国内自拍| 无码任你躁久久久久久老妇| 午夜欧美精品久久久久久久| 国产精品人成电影| 国产在线一在线二| 欧美专区在线观看一区| 性色av蜜臀av色欲av| 亚洲电影av| 成人蜜桃视频| 伊人福利在线| 欧美另类高清zo欧美| 亚洲天堂最新地址| 99精品国产福利在线观看免费| 国产chinese精品一区二区| 超碰公开在线| 日韩一级片网址| 看片网站在线观看| 国产精品综合二区| 欧美一级中文字幕| 涩涩屋成人免费视频软件| 日韩中文字幕不卡视频| 中文字幕国产在线观看| 91免费小视频| 男人操女人免费软件| 亚洲8888| 国产va免费精品高清在线观看| 青青青手机在线视频观看| 欧美性极品xxxx娇小| 人妻少妇精品视频一区二区三区| 亚洲高清不卡| 欧美一区1区三区3区公司| 国产不卡网站| 国产亚洲日本欧美韩国| 一级一级黄色片| 中文字幕视频一区二区三区久| 亚洲娇小娇小娇小| 无码一区二区三区视频| 444亚洲人体| www.综合网.com| 亚洲激情久久久| 国产成人无码av| 中文字幕av一区二区三区高| 国产精品沙发午睡系列| 久久综合成人| 成人片在线免费看| 欧美aa一级| 一个人www欧美| 国产人妖一区二区| 亚洲va欧美va国产va天堂影院| 精品国产人妻一区二区三区| 美女视频第一区二区三区免费观看网站| 一本久久a久久精品vr综合| 国产精品亚洲欧美日韩一区在线| 欧美极品第一页| 亚洲卡一卡二卡三| 欧美天堂亚洲电影院在线播放| 日韩激情小视频| 99久久国产综合色|国产精品| 日本一极黄色片| 欧美.www| 欧美一区二区三区在线播放 | 久久中文字幕视频| 亚洲欧美强伦一区二区| 色94色欧美sute亚洲线路二| 永久av免费网站| 波波电影院一区二区三区| 噼里啪啦国语在线观看免费版高清版| 欧美天天视频| 日韩高清专区| 国产精品自在线拍| 国产精品免费久久久久影院| 牛牛精品在线| 在线精品高清中文字幕| 免费看av毛片| 欧美色爱综合网| 国产一国产二国产三| 国产欧美一区二区精品秋霞影院 | 黄色香蕉视频在线观看| 26uuu欧美| 国产伦理在线观看| 免费观看日韩av| 欧美精品自拍视频| 羞羞色午夜精品一区二区三区| 久久久久久九九九九| 亚洲伦理网站| 国产精品2018| 欧美久久天堂| 欧美区二区三区| 亚洲欧美视频一区二区| 日韩乱码在线视频| 成人午夜视频一区二区播放| 欧美一级理论性理论a| 国产精品午夜一区二区| 日韩人在线观看| 国产精品99无码一区二区| 亚洲啪啪综合av一区二区三区| 91视频在线网站| 国产成人三级在线观看| 黄色片免费网址| 精品一区二区国语对白| 天天爽人人爽夜夜爽| 免费日韩一区二区| 国产深夜男女无套内射| 国内精品久久久久久久97牛牛 | 国产午夜精品一区二区| 中文字幕 日本| 粉嫩蜜臀av国产精品网站| 亚洲视频一二三四| 蜜臀av一区二区三区| 蜜桃免费在线视频| 九色|91porny| 男生操女生视频在线观看 | 日日躁夜夜躁aaaabbbb| 日韩成人精品视频| 久久精品视频91| 蜜臀av在线播放一区二区三区| 熟女人妇 成熟妇女系列视频| 蜜乳av另类精品一区二区| 精品人妻一区二区三区四区在线| 国产欧美一区二区色老头 | av网在线观看| 一区二区亚洲欧洲国产日韩| 91社区在线| 日韩中文字幕精品| 国产区在线观看| 欧美xxxx18性欧美| 国产后进白嫩翘臀在线观看视频 | 日韩一区免费观看| 成人婷婷网色偷偷亚洲男人的天堂| 日韩av图片| 97国产精品| 久久福利一区二区| 久久久久国产| 日韩国产小视频| aa级大片欧美三级| 国产午夜福利视频在线观看| 日韩精品欧美精品| 天天操天天干天天做| 国产99久久久久久免费看农村| 中文字幕人妻一区| 91亚洲精品久久久蜜桃网站| xxxx日本免费| 国产精品电影院| 黄色一级片在线| 亚洲一区二区三区国产| 中文字幕黄色片| 欧美日韩国产小视频在线观看| 国产日韩欧美一区二区东京热| 欧美v国产在线一区二区三区| 色婷婷av一区二区三区之红樱桃| 亚洲精品网站在线播放gif| 九九在线视频| 欧美日韩福利电影| 日本免费一区二区三区四区| 国产在线精品播放| 国产乱论精品| 亚洲ai欧洲av| 一本精品一区二区三区| 无码人妻精品一区二区三区66| 国产精品自拍在线| aaaaa级少妇高潮大片免费看| 国产精品久久久久久久蜜臀| 男女羞羞免费视频| 在线视频综合导航| 开心激情综合网| 中文欧美日本在线资源| 青草av在线| 国产精品久久久久久久av电影 | 欧美视频第二页| 亚洲精品福利网站| 一本久久综合亚洲鲁鲁| 大桥未久在线视频| 国产欧美一区二区三区久久人妖 | 欧美三片在线视频观看 | 亚洲精品动漫| 91情侣在线视频| 日韩成人激情| 久久久久久久久久久视频| 国内成人自拍视频| 非洲一级黄色片| 五月婷婷综合激情| 国产精品污视频| 日韩综合中文字幕| 成人教育av| 国产精品免费观看高清| 中文精品电影| av在线网址导航| 久久精品亚洲精品国产欧美| 国产乡下妇女做爰毛片| 这里只有精品99re| 97在线观看免费观看高清| 97久久久久久| 2021年精品国产福利在线| 亚洲精品乱码视频| 久久亚洲风情| 亚洲欧美色图视频| 欧美性生交大片免费| 成人无码一区二区三区| 美女视频久久黄| 欧美xxxx性| 日本亚洲欧洲精品| 日韩黄色片在线观看| 黄色国产在线观看| 天天做天天摸天天爽国产一区| 国产日产亚洲系列最新| 日韩在线观看免费av| 国产一区影院| 天天综合中文字幕| 麻豆精品视频在线| а天堂中文在线资源| 在线视频国内自拍亚洲视频| 天堂在线免费av| 日韩免费不卡av| 狠狠色丁香婷婷综合影院| 成人在线观看a| 国产欧美一区二区精品性色超碰| 无码人妻丰满熟妇奶水区码| 亚洲国产福利在线| 忘忧草在线日韩www影院| 久久久久久艹| 久久婷婷亚洲| 久久午夜福利电影| 欧美在线短视频| 麻豆网站在线免费观看| 国产精品久久久久久婷婷天堂| 日韩88av| 欧美日韩理论片| 亚洲一区二区五区| 国产一区二区影视| 国产欧美精品一区二区三区-老狼 国产欧美精品一区二区三区介绍 国产欧美精品一区二区 | 亚洲a∨日韩av高清在线观看| 亚洲成人精品| 精品人妻无码中文字幕18禁| 亚洲一二三四区| 亚洲AV成人无码一二三区在线| 久久久久久久999精品视频| 蜜臀久久99精品久久一区二区 | 黄色国产在线| 国产日韩亚洲欧美| 女主播福利一区| 国产精品久久久免费观看| 色狠狠一区二区| 日韩精品毛片| 国精产品一区二区| 老司机精品福利视频| 乱老熟女一区二区三区| 日韩你懂的在线播放| 理论不卡电影大全神| 免费观看中文字幕| 成人av网站大全| 波多野结衣二区三区| 欧美成人午夜激情在线| jizz久久精品永久免费| 向日葵污视频在线观看| 夜夜精品浪潮av一区二区三区| 手机亚洲第一页| 91精品久久久久久久久久久久久久 |