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

在 Traefik 中使用 Kubernetes Gateway API

開源
Gateway API 是 Kubernetes 中的一個 API 資源集合,包括 GatewayClass、Gateway、HTTPRoute、TCPRoute、Service 等,這些資源共同為各種網絡用例構建模型。

Gateway API(之前叫 Service API)是由 SIG-NETWORK 社區管理的開源項目,項目地址:https://gateway-api.sigs.k8s.io/。主要原因是 Ingress 資源對象不能很好的滿足網絡需求,很多場景下 Ingress 控制器都需要通過定義 annotations 或者 crd 來進行功能擴展,這對于使用標準和支持是非常不利的,新推出的 Gateway API 旨在通過可擴展的面向角色的接口來增強服務網絡。

Gateway API 是 Kubernetes 中的一個 API 資源集合,包括 GatewayClass、Gateway、HTTPRoute、TCPRoute、Service 等,這些資源共同為各種網絡用例構建模型。

Gateway API 的改進比當前的 Ingress 資源對象有很多更好的設計:

  • 面向角色 - Gateway 由各種 API 資源組成,這些資源根據使用和配置 Kubernetes 服務網絡的角色進行建模。
  • 通用性 - 和 Ingress 一樣是一個具有眾多實現的通用規范,Gateway API 是一個被設計成由許多實現支持的規范標準。
  • 更具表現力 - Gateway API 資源支持基于 Header 頭的匹配、流量權重等核心功能,這些功能在 Ingress 中只能通過自定義注解才能實現。
  • 可擴展性 - Gateway API 允許自定義資源鏈接到 API 的各個層,這就允許在 API 結構的適當位置進行更精細的定制。

還有一些其他值得關注的功能:

  • GatewayClasses - GatewayClasses 將負載均衡實現的類型形式化,這些類使用戶可以很容易了解到通過 Kubernetes 資源可以獲得什么樣的能力。
  • 共享網關和跨命名空間支持 - 它們允許共享負載均衡器和 VIP,允許獨立的路由資源綁定到同一個網關,這使得團隊可以安全地共享(包括跨命名空間)基礎設施,而不需要直接協調。
  • 規范化路由和后端 - Gateway API 支持類型化的路由資源和不同類型的后端,這使得 API 可以靈活地支持各種協議(如 HTTP 和 gRPC)和各種后端服務(如 Kubernetes Service、存儲桶或函數)。

面向角色設計

無論是道路、電力、數據中心還是 Kubernetes 集群,基礎設施都是為了共享而建的,然而共享基礎設施提供了一個共同的挑戰,那就是如何為基礎設施用戶提供靈活性的同時還能被所有者控制。

Gateway API 通過對 Kubernetes 服務網絡進行面向角色的設計來實現這一目標,平衡了靈活性和集中控制。它允許共享的網絡基礎設施(硬件負載均衡器、云網絡、集群托管的代理等)被許多不同的團隊使用,所有這些都受到集群運維設置的各種策略和約束。下面的例子顯示了是如何在實踐中運行的。

一個集群運維人員創建了一個基于 GatewayClass 的 Gateway 資源,這個 Gateway 部署或配置了它所代表的基礎網絡資源,集群運維和特定的團隊必須溝通什么可以附加到這個 Gateway 上來暴露他們的應用。集中的策略,如 TLS,可以由集群運維在 Gateway 上強制執行,同時,Store 和 Site 應用在他們自己的命名空間中運行,但將他們的路由附加到相同的共享網關上,允許他們獨立控制他們的路由邏輯。

這種關注點分離的設計可以使不同的團隊能夠管理他們自己的流量,同時將集中的策略和控制留給集群運維。

概念

在整個 Gateway API 中涉及到3個角色:基礎設施提供商、集群管理員、應用開發人員,在某些場景下可能還會涉及到應用管理員等角色。Gateway API 中定義了3種主要的資源模型:GatewayClass、Gateway、Route。

GatewayClass

GatewayClass 定義了一組共享相同配置和動作的網關。每個GatewayClass 由一個控制器處理,是一個集群范圍的資源,必須至少有一個 GatewayClass 被定義。

這與 Ingress 的 IngressClass 類似,在 Ingress v1beta1 版本中,與 GatewayClass 類似的是 ingress-class 注解,而在Ingress V1 版本中,最接近的就是 IngressClass 資源對象。

Gateway

Gateway 網關描述了如何將流量轉化為集群內的服務,也就是說,它定義了一個請求,要求將流量從不了解 Kubernetes 的地方轉換到集群內的服務。例如,由云端負載均衡器、集群內代理或外部硬件負載均衡器發送到 Kubernetes 服務的流量。

它定義了對特定負載均衡器配置的請求,該配置實現了 GatewayClass 的配置和行為規范,該資源可以由管理員直接創建,也可以由處理 GatewayClass 的控制器創建。

Gateway 可以附加到一個或多個路由引用上,這些路由引用的作用是將流量的一個子集導向特定的服務。

Route 資源

路由資源定義了特定的規則,用于將請求從網關映射到 Kubernetes 服務。

從 v1alpha2 版本開始,API 中包含四種 Route 路由資源類型,對于其他未定義的協議,鼓勵采用特定實現的自定義路由類型,當然未來也可能會添加新的路由類型。

HTTPRoute

HTTPRoute 適用于 HTTP 或 HTTPS 連接,適用于我們想要檢查 HTTP 請求并使用 HTTP 請求進行路由或修改的場景,比如使用 HTTP Headers 頭進行路由,或在請求過程中對它們進行修改。

TLSRoute

TLSRoute 用于 TLS 連接,通過 SNI 進行區分,它適用于希望使用 SNI 作為主要路由方法的地方,并且對 HTTP 等更高級別協議的屬性不感興趣,連接的字節流不經任何檢查就被代理到后端。

TCPRoute 和 UDPRoute

TCPRoute(和UDPRoute)旨在用于將一個或多個端口映射到單個后端。在這種情況下,沒有可以用來選擇同一端口的不同后端的判別器,所以每個 TCPRoute 在監聽器上需要一個不同的端口。你可以使用 TLS,在這種情況下,未加密的字節流會被傳遞到后端,當然也可以不使用 TLS,這樣加密的字節流將傳遞到后端。

組合

GatewayClass、Gateway、xRoute 和 Service 的組合定義了一個可實施的負載均衡器。下圖說明了不同資源之間的關系:

 

使用反向代理實現的網關的典型客戶端/網關 API 請求流程如下所示:

1. 客戶端向 http://foo.example.com 發出請求

2. DNS 將域名解析為 Gateway 網關地址

3. 反向代理在監聽器上接收請求,并使用 Host Header 來匹配HTTPRoute

4. (可選)反向代理可以根據 HTTPRoute 的匹配規則進行路由

5. (可選)反向代理可以根據 HTTPRoute 的過濾規則修改請求,即添加或刪除 headers

6. 最后,反向代理根據 HTTPRoute 的 forwardTo 規則,將請求轉發給集群中的一個或多個對象,即服務。

實現

目前已經有很多 Gateway API 的控制器實現方案了,比如 Contour、Google Kubernetes Engine、Istio、Traefik 等等。接下來我們以 Traefik 為例來進行測試。不過需要注意的是 Traefik 目前是基于 v1alpha1 規范實現的,可能和上面提到的一些概念略有不同。

要在 Traefik 中使用 Gateway API,首先我們需要先手動安裝 Gateway API 的 CRDs,使用如下命令即可安裝,這將安裝包括 GatewayClass、Gateway、HTTPRoute、TCPRoute 等 CRDs:

  1. ➜ kubectl kustomize "github.com/kubernetes-sigs/gateway-api/config/crd?ref=v0.3.0" \ 
  2. | kubectl apply -f - 

然后我們需要在 Traefik 中開啟 kubernetesgateway 這個 Provider,同樣基于前面 Traefik 章節中的 Helm Chart 包進行定義,設置 experimental.kubernetesGateway.enabled=true,完整的 Values 文件如下所示:

  1. # ci/deployment-prod.yaml 
  2.  
  3. # Enable experimental features 
  4. experimental: 
  5.   kubernetesGateway:  # 開啟 gateway api 支持 
  6.     enabled: true 
  7.  
  8. providers: 
  9.   kubernetesCRD: 
  10.     enabled: true 
  11.     allowCrossNamespace: true  # 是否允許跨命名空間 
  12.     allowExternalNameServices: true  # 是否允許使用 ExternalName 的服務 
  13.  
  14.   kubernetesIngress: 
  15.     enabled: true 
  16.     allowExternalNameServices: true 
  17.  
  18. # ...... 
  19. # 其他忽略 

然后使用下面的命令更新 Traefik 即可:

  1. ➜ helm upgrade --install traefik ./traefik -f ./traefik/ci/deployment-prod.yaml --namespace kube-system 

更新完成后可以前往 Traefik 的 Dashboard 查看是否已經啟用 KubernetesGateway 這個 Provider:

 

正常情況下啟用成功后 Traefik 也會創建一個默認的 GatewayClass 資源對象和 Gateway 實例:

  1. ➜ kubectl get gatewayclass 
  2. NAME      CONTROLLER                      AGE 
  3. traefik   traefik.io/gateway-controller   4m13s 
  4. ➜ kubectl get gatewayclass traefik -o yaml 
  5. apiVersion: networking.x-k8s.io/v1alpha1 
  6. kind: GatewayClass 
  7. metadata: 
  8.   name: traefik 
  9. spec: 
  10.   controller: traefik.io/gateway-controller 
  11. ...... 
  12. ➜ kubectl get gateway -n kube-system 
  13. NAME              CLASS     AGE 
  14. traefik-gateway   traefik   5m55s 
  15. ➜ kubectl get gateway -n kube-system traefik-gateway -o yaml 
  16. apiVersion: networking.x-k8s.io/v1alpha1 
  17. kind: Gateway 
  18. metadata: 
  19.   name: traefik-gateway 
  20.   namespace: kube-system 
  21. spec: 
  22.   gatewayClassName: traefik 
  23.   listeners: 
  24.   - port: 8000 
  25.     protocol: HTTP 
  26.     routes: 
  27.       group: networking.x-k8s.io 
  28.       kind: HTTPRoute 
  29.       namespaces: 
  30.         from: Same 
  31.       selector: 
  32.         matchLabels: 
  33.           app: traefik 
  34. ...... 

可以看到默認創建的 Gateway 實例引用了 traefik 這個 GatewayClass,其中 listeners 部分定義了該網關關聯的監聽器入口,監聽器定義邏輯端點綁定在該網關地址上,至少需要指定一個監聽器,下面的 HTTPRoute 定義了路由規則,namespaces 表示應該在哪些命名空間中為該網關選擇路由,默認情況下,這被限制在該網關的命名空間中,Selector 則指定一組路由標簽,如果定義了這個 Selector,則只路由匹配選擇器與網關相關聯的對象,一個空的選擇器匹配所有對象,這里會去匹配具有 app: traefik 標簽的對象。

為了能夠處理其他命名空間中的路由規則,我們可以將這里的 namespaces.from 修改為 All,但是經測試未生效?

下面我們安裝一個簡單的 whoami 服務來進行測試,直接使用下面的資源清單部署對應的服務即可:

  1. # 01-whoami.yaml 
  2. --- 
  3. kind: Deployment 
  4. apiVersion: apps/v1 
  5. metadata: 
  6.   name: whoami 
  7.   namespace: kube-system 
  8. spec: 
  9.   replicas: 2 
  10.   selector: 
  11.     matchLabels: 
  12.       app: whoami 
  13.   template: 
  14.     metadata: 
  15.       labels: 
  16.         app: whoami 
  17.     spec: 
  18.       containers: 
  19.         - name: whoami 
  20.           image: containous/whoami 
  21.           ports: 
  22.             - containerPort: 80 
  23.               name: http 
  24. --- 
  25. apiVersion: v1 
  26. kind: Service 
  27. metadata: 
  28.   name: whoami 
  29.   namespace: kube-system 
  30. spec: 
  31.   ports: 
  32.     - protocol: TCP 
  33.       port: 80 
  34.       targetPort: http 
  35.   selector: 
  36.     app: whoami 

測試服務部署完成后,我們就可以使用 Gateway API 的方式來進行流量配置了。

部署一個簡單的 Host 主機

在以前的方式中我們會創建一個 Ingress 或 IngressRoute 資源對象,這里我們將部署一個簡單的 HTTPRoute 對象。

  1. # 02-whoami-httproute.yaml 
  2. apiVersion: networking.x-k8s.io/v1alpha1 
  3. kind: HTTPRoute 
  4. metadata: 
  5.   name: http-app-1 
  6.   namespace: kube-system 
  7.   labels: 
  8.     app: traefik 
  9. spec: 
  10.   hostnames: 
  11.     - "whoami" 
  12.   rules: 
  13.     - matches: 
  14.         - path: 
  15.             type: Exact 
  16.             value: / 
  17.       forwardTo: 
  18.         - serviceName: whoami 
  19.           port: 80 
  20.           weight: 1 

上面的 HTTPRoute 資源會捕捉到向 whoami 主機名發出的請求,并將其轉發到上面部署的 whoami 服務,如果你現在對這個主機名進行請求,你會看到典型的 whoami 輸出:

  1. ➜ kubectl apply -f 02-whoami-httproute.yaml 
  2. ➜ kubectl get httproute -n kube-system 
  3. NAME         HOSTNAMES    AGE 
  4. http-app-1   ["whoami"]   25s 
  5. # 使用 whoami 這個主機名進行訪問測試 
  6. ➜ curl -H "Host: whoami" http://192.168.31.108 
  7. Hostname: whoami-6b465b89d6-lcg4k 
  8. IP: 127.0.0.1 
  9. IP: ::1 
  10. IP: 10.244.1.87 
  11. IP: fe80::cccc:6aff:fef8:eca9 
  12. RemoteAddr: 10.244.1.85:60384 
  13. GET / HTTP/1.1 
  14. Host: whoami 
  15. User-Agent: curl/7.64.1 
  16. Accept: */* 
  17. Accept-Encoding: gzip 
  18. X-Forwarded-For: 192.168.31.9 
  19. X-Forwarded-Host: whoami 
  20. X-Forwarded-Port: 80 
  21. X-Forwarded-Proto: http 
  22. X-Forwarded-Server: traefik-84d4cccf9c-2pl5r 
  23. X-Real-Ip: 192.168.31.9 

另外需要注意上面 HTTPRoute 對象中需要定義 app:traefik 標簽,否則創建的 Gateway 實例不能關聯上。

帶路徑的 Host 主機

上面的例子可以很容易地限制流量只在一個給定的子路徑上進行路由。

  1. # 03-whoami-httproute-paths.yaml 
  2. --- 
  3. apiVersion: networking.x-k8s.io/v1alpha1 
  4. kind: HTTPRoute 
  5. metadata: 
  6.   name: http-app-1 
  7.   namespace: kube-system 
  8.   labels: 
  9.     app: traefik 
  10. spec: 
  11.   hostnames: 
  12.     - whoami 
  13.   rules: 
  14.     - forwardTo: 
  15.         - port: 80 
  16.           serviceName: whoami 
  17.           weight: 1 
  18.       matches: 
  19.         - path: 
  20.             type: Exact  # 匹配 /foo 的路徑 
  21.             value: /foo 

創建上面修改后的 HTTPRoute,你會發現之前的請求現在返回404錯誤,而請求 /foo 路徑后綴則返回成功。

  1. ➜ curl -H "Host: whoami" http://192.168.31.108 
  2. 404 page not found 
  3. ➜ curl -H "Host: whoami" http://192.168.31.108/foo 
  4. Hostname: whoami-6b465b89d6-p5vwz 
  5. IP: 127.0.0.1 
  6. IP: ::1 
  7. IP: 10.244.2.154 
  8. IP: fe80::7045:53ff:fef9:fadc 
  9. RemoteAddr: 10.244.1.85:51686 
  10. GET /foo HTTP/1.1 
  11. Host: whoami 
  12. User-Agent: curl/7.64.1 
  13. Accept: */* 
  14. Accept-Encoding: gzip 
  15. X-Forwarded-For: 192.168.31.9 
  16. X-Forwarded-Host: whoami 
  17. X-Forwarded-Port: 80 
  18. X-Forwarded-Proto: http 
  19. X-Forwarded-Server: traefik-84d4cccf9c-2pl5r 
  20. X-Real-Ip: 192.168.31.9 

關于請求的哪些部分可以被匹配的更多信息可以在官方 Gateway APIs 文檔(https://gateway-api.sigs.k8s.io/v1alpha1/api-types/httproute/#rules)中找到。

金絲雀發布

Gateway APIs 規范可以支持的另一個功能是金絲雀發布,假設你想在一個端點上運行兩個不同的服務(或同一服務的兩個版本),并將一部分請求路由到每個端點,則可以通過修改你的 HTTPRoute 來實現。

首先,我們需要運行第二個服務,這里我們快速生成一個 Nginx 的實例來進行測試。

  1. # 03-nginx.yaml 
  2. kind: Deployment 
  3. apiVersion: apps/v1 
  4. metadata: 
  5.   name: nginx 
  6.   namespace: kube-system 
  7. spec: 
  8.   replicas: 2 
  9.   selector: 
  10.     matchLabels: 
  11.       app: nginx 
  12.   template: 
  13.     metadata: 
  14.       labels: 
  15.         app: nginx 
  16.     spec: 
  17.       containers: 
  18.         - name: nginx 
  19.           image: nginx 
  20.           ports: 
  21.             - containerPort: 80 
  22.               name: http 
  23. --- 
  24. apiVersion: v1 
  25. kind: Service 
  26. metadata: 
  27.   name: nginx 
  28.   namespace: kube-system 
  29. spec: 
  30.   ports: 
  31.     - protocol: TCP 
  32.       port: 80 
  33.       targetPort: http 
  34.   selector: 
  35.     app: nginx 

接著我們修改前面的 HTTPRoute 資源對象,其中有一個 weight 選項,可以為兩個服務分別分配不同的權重,如下所示:

  1. # 04-whoami-nginx-canary.yaml 
  2. --- 
  3. apiVersion: networking.x-k8s.io/v1alpha1 
  4. kind: HTTPRoute 
  5. metadata: 
  6.   labels: 
  7.     app: traefik 
  8.   name: http-app-1 
  9.   namespace: kube-system 
  10. spec: 
  11.   hostnames: 
  12.     - whoami 
  13.   rules: 
  14.     - forwardTo: 
  15.         - port: 80 
  16.           serviceName: whoami 
  17.           weight: 3  # 3/4 的請求到whoami 
  18.         - port: 80 
  19.           serviceName: nginx 
  20.           weight: 1  # 1/4 的請求到whoami 

創建上面的 HTTPRoute 后,現在我們可以再次訪問 whoami 服務,正常我們可以看到有大約 25% 的請求會看到 Nginx 的響應,而不是 whoami 的響應。

到這里我們就使用 Traefik 來測試了 Kubernetes Gateway APIs 的使用。目前,Traefik 對 Gateway APIs 的實現是基于 v1alpha1 版本的規范,目前最新的規范是 v1alpha2,所以和最新的規范可能有一些出入的地方。

 

責任編輯:姜華 來源: k8s技術圈
相關推薦

2022-06-07 19:48:07

TraefikProxy插件

2020-04-08 13:05:03

TraefikKubernetes樹莓派

2024-07-05 11:13:05

2018-03-26 14:25:55

KubernetesSkaffold命令

2022-06-23 09:47:50

混沌工程系統Kubernetes

2024-01-30 07:58:41

KubernetesGAMMA網關

2023-11-07 07:08:57

2022-07-05 08:10:25

Kubernetes云原生

2023-12-25 07:46:35

GatewayAPI開源

2024-05-09 08:24:01

2014-01-07 14:39:26

Android開發RxJavaREST

2011-11-17 17:04:43

AdobeAIRAndroid

2025-04-17 09:09:29

2024-05-17 09:44:49

Kubernetes均衡器Envoy

2023-11-02 11:15:01

容器Kubernetes

2009-06-25 16:49:24

Hibernate

2013-12-13 17:21:14

Lua腳本語言

2023-11-17 12:04:39

GORM并發

2023-04-12 15:25:09

Bytrace鴻蒙

2023-09-08 08:01:40

Gateway測試配置
點贊
收藏

51CTO技術棧公眾號

国产亚洲精品成人| 中文字幕亚洲欧洲| 欧美日韩免费做爰大片| 国产欧美短视频| 亚洲第一精品福利| 超碰网在线观看| 黄色大片在线播放| 91女人视频在线观看| 国产欧美在线播放| 国产午夜在线播放| 国产大片一区| 精品黑人一区二区三区久久| 日韩精品一区二区三区久久| eeuss影院在线观看| 成人综合在线网站| 国产精品日韩在线| 奇米影视第四色777| 色婷婷色综合| 亚洲欧美999| 99热一区二区| 韩国成人漫画| 一区二区三区日韩在线观看| 日韩久久在线| 五月天丁香视频| 国产一区不卡视频| 日韩免费观看网站| 日本一区二区欧美| 外国成人免费视频| 一区二区在线视频| 欧美无人区码suv| 亚洲三级av| 欧美蜜桃一区二区三区| 亚洲精品无码久久久久久| 少女频道在线观看高清| 中文字幕亚洲欧美在线不卡| 日本亚洲导航| 手机看片福利在线观看| 国产麻豆一精品一av一免费| 国产精品久久久久高潮| 天天干天天干天天干天天| 91精品国产91久久综合| 色播久久人人爽人人爽人人片视av| 青青草视频成人| 风间由美一区二区av101| 欧美性极品少妇| 可以免费在线看黄的网站| 看黄在线观看| 午夜精品一区二区三区电影天堂| 欧美日韩中文字幕在线播放 | 日韩成人在线看| 欧美日韩中文字幕一区二区| 国产wwwxx| 久久人体av| 欧美三片在线视频观看 | 久久久国产精华液| 综合久久亚洲| 欧美日韩国产91| 妺妺窝人体色www在线下载| 亚洲五月综合| 欧美福利视频在线| 日本三级免费看| 亚洲精品系列| 欧美综合激情网| 亚洲av无码不卡| 奇米色一区二区| 国产精品免费在线免费 | 精品一区二区三区影院在线午夜| 国产精品主播视频| 国产精品亚洲欧美在线播放| 国产专区综合网| 99re视频在线播放| 亚洲狼人综合网| 91麻豆高清视频| 亚洲成人自拍视频| 国产精品刘玥久久一区| 一区二区三区毛片| 日韩精品久久一区二区| 嗯~啊~轻一点视频日本在线观看| 亚洲大片精品永久免费| 欧美精品色婷婷五月综合| 日韩一区二区三区免费| 在线不卡一区二区| 亚洲激情 欧美| 国产一区二区三区站长工具| 日韩在线观看免费高清完整版| 欧美另类videoxo高潮| 精品白丝av| 国产精品久久久久久久一区探花 | 国产一区二区在线观看免费| 99高清视频有精品视频| 日韩av免费观影| 亚洲欧洲日韩在线| 免费一级特黄特色毛片久久看| 玛雅亚洲电影| 日韩一区二区三区电影在线观看| 999精品免费视频| 欧美电影免费播放| 97久久精品国产| 91女人18毛片水多国产| 99re在线精品| 国产精品久久成人免费观看| 日本三级一区| 欧美一区二区三区四区久久| 日本黄色特级片| 亚洲精品网址| 国产精品电影一区| 成人毛片视频免费看| 国产精品视频一区二区三区不卡| 日韩一级性生活片| 国产精品久一| 一区二区三区视频在线| 福利一区二区三区四区| 久久99精品久久久| 欧美亚洲爱爱另类综合| 羞羞视频在线免费国产| 欧美乱妇15p| 色欲av无码一区二区三区| 欧美午夜影院| 91精品视频观看| 成人全视频高清免费观看| 亚洲mv大片欧洲mv大片精品| 天堂在线一区二区三区| gogogo高清在线观看一区二区| 欧美韩国理论所午夜片917电影| 中文字幕av无码一区二区三区| 成人国产精品免费观看动漫| 天天想你在线观看完整版电影免费| av高清一区| 亚洲网站在线观看| 黄色片免费观看视频| 成人美女视频在线观看18| 天天操天天干天天玩| 日本一区二区中文字幕| 在线观看亚洲区| 91视频在线视频| 久久人人爽爽爽人久久久| 黄色一级视频片| 国产伦理久久久久久妇女 | 国产亚洲第一页| 国产精品99久久久久久久女警| 亚洲精品一区国产精品| av久久网站| 一区二区三欧美| 日韩欧美一级大片| 中文天堂在线一区| 啊啊啊国产视频| 日本a级不卡| 国产欧美一区二区三区四区 | 国产精品羞羞答答在线观看| 欧美亚洲另类在线| 四虎电影院在线观看| 天天亚洲美女在线视频| 日本黄色动态图| 亚洲欧美日本视频在线观看| 乱色588欧美| 色香欲www7777综合网| 亚洲性猛交xxxxwww| 国产精品无码一区| 国产精品久久久久久亚洲伦 | 国产亚洲黄色片| 国产精品色呦| 欧亚精品在线观看| 国产成人天天5g影院在线观看| 在线看日本不卡| 制服丨自拍丨欧美丨动漫丨| 国产真实乱偷精品视频免| 中文字幕第50页| 国产一级成人av| 日韩免费av一区二区| 日本视频在线免费观看| 日韩一区二区三区高清免费看看| 国产无套内射又大又猛又粗又爽| 91视频精品在这里| 污色网站在线观看| 欧美极品一区二区三区| 国产精品香蕉视屏| 日韩久久一区二区三区| 欧美裸体男粗大视频在线观看| 成人午夜免费福利| 色婷婷av久久久久久久| 国产中文字幕久久| 成人av高清在线| 免费日韩中文字幕| 伊人成综合网| 农村寡妇一区二区三区| 亚洲免费资源| 91干在线观看| 91高清在线| 亚洲成色999久久网站| 国产无遮挡又黄又爽又色视频| 亚洲视频在线一区| 添女人荫蒂视频| 狠狠色丁香久久婷婷综合_中| 日韩欧美国产综合在线| 日韩精品91| 狠狠色噜噜狠狠狠狠色吗综合| 欧美黄色三级| 国语自产偷拍精品视频偷| 大地资源中文在线观看免费版| 日韩午夜小视频| 男人天堂视频网| 亚洲电影第三页| 中文乱码字幕高清一区二区| 99国产欧美久久久精品| 国产精品探花在线播放| 日韩—二三区免费观看av| 欧美日韩福利在线| 99久久婷婷这里只有精品 | 91久久香蕉国产日韩欧美9色| 午夜爽爽爽男女免费观看| 久久久亚洲精品石原莉奈| 免费人成视频在线播放| 美腿丝袜亚洲三区| 成人免费观看毛片| 国内综合精品午夜久久资源| 亚洲人一区二区| 精品中文一区| 国产在线欧美日韩| 无人区乱码一区二区三区| 国产精品亚洲综合天堂夜夜| 91av亚洲| 97久久久久久| 成人爽a毛片免费啪啪动漫| 久久久999精品| 91福利在线视频| 亚洲系列中文字幕| 色哟哟在线观看| 亚洲精品www久久久久久广东| 国产婷婷在线视频| 在线播放中文一区| 亚洲天堂网视频| 91久久精品一区二区| av大片免费在线观看| 亚洲自拍偷拍麻豆| 黄色一级片中国| 亚洲欧美一区二区三区久本道91| 2017亚洲天堂| 国产精品久久久久影视| 精品女人久久久| 亚洲视频免费在线观看| 亚洲欧美精品aaaaaa片| 中文字幕日韩欧美一区二区三区| 岛国片在线免费观看| 国产精品人人做人人爽人人添| 日本爱爱爱视频| 日本一区二区动态图| 国产综合精品久久久久成人av | 国产高潮流白浆| 亚洲日本韩国一区| 超碰手机在线观看| 一二三区精品视频| 精品视频在线观看免费| 亚洲国产精品久久久男人的天堂| 毛片a片免费观看| 亚洲成av人片一区二区梦乃| 精品视频久久久久| 精品欧美一区二区三区| 国产视频1区2区| 91电影在线观看| 在线观看国产黄| 欧美一区二区成人6969| 欧美一级淫片aaaaaa| 亚洲精品网站在线播放gif| 国内精品在线视频| 日韩视频一区在线| 亚洲第一图区| 清纯唯美日韩制服另类| 国产精品蜜月aⅴ在线| 91精品在线国产| 超碰精品在线| 日本欧美精品久久久| 91成人精品视频| 狠狠干 狠狠操| 免费精品视频在线| 久久久久亚洲av无码专区首jn| 9i在线看片成人免费| 88久久精品无码一区二区毛片| 国产精品毛片高清在线完整版| 少妇人妻丰满做爰xxx| 福利二区91精品bt7086| 中文字幕免费高清在线观看| 日韩一级片网址| 人成在线免费视频| 久久精品福利视频| 182在线视频观看| 国产精品一区二区性色av| 亚洲精品视频一二三区| 日韩精品欧美在线| 欧美日韩p片| 欧美 日韩 国产 激情| 国产成人在线观看免费网站| 日本xxx在线播放| 综合婷婷亚洲小说| 日韩欧美在线观看免费| 91精品国产综合久久福利| 日韩精品视频无播放器在线看| 久久黄色av网站| 密臀av在线播放| 91亚洲精品久久久久久久久久久久| 人人香蕉久久| 超碰人人爱人人| 日本不卡在线视频| 一级特级黄色片| 中文字幕在线观看不卡| 亚洲欧美综合自拍| 日韩免费性生活视频播放| 国产福利第一视频在线播放| 97人人模人人爽人人喊中文字| 久久日本片精品aaaaa国产| 欧美午夜精品理论片a级大开眼界 欧美午夜精品久久久久免费视 | 日本中文字幕不卡| 三级视频网站在线观看| 亚洲三级视频在线观看| 久久精品五月天| 亚洲精品久久久久| 欧美性受ⅹ╳╳╳黑人a性爽| 国产精品羞羞答答| 国产99精品一区| 国产午夜伦鲁鲁| 成人免费高清视频在线观看| 亚洲欧美一区二区三区四区五区| 欧美中文一区二区三区| 日本一区视频| 91福利视频网| 日韩欧美美女在线观看| 日韩精品视频在线观看视频| 国产乱码精品一品二品| 三级黄色录像视频| 欧美日韩在线不卡| av中文字幕一区二区三区| 国产99久久精品一区二区永久免费| 久久成人福利| 91.com在线| 成人免费视频免费观看| 国产成人无码aa精品一区| 欧美一区二区三区四区视频 | 88xx成人精品| 欧美电影免费网站| 精品久久久久久久久久中文字幕| 国产99精品在线观看| 精品99在线观看| 91精品国产综合久久久蜜臀粉嫩| 香港伦理在线| 国产在线精品播放| 亚洲欧美色图| wwwxxxx在线观看| 依依成人精品视频| 亚洲卡一卡二卡三| 2019中文字幕免费视频| 亚洲人亚洲人色久| 毛片av免费在线观看| 国产欧美精品一区二区色综合| 91丨九色丨海角社区| 中文字幕亚洲自拍| 91麻豆精品| 91视频 - 88av| 97久久精品人人澡人人爽| 国产精品视频一区在线观看| 国产一区二区三区在线播放免费观看| 美女一区网站| 一区二区精品在线| 国产乱码精品1区2区3区| 国产大片中文字幕| 亚洲欧美日韩天堂| 亚洲精品成人一区| 免费网站在线观看视频| 99精品欧美一区二区三区小说| 麻豆久久久久久久久久| 亚洲天堂网站在线观看视频| 久久精品资源| 2022中文字幕| 久久亚洲私人国产精品va媚药| 日韩精选在线观看| 欧美老妇交乱视频| 色婷婷狠狠五月综合天色拍| 国产精品天天av精麻传媒| 亚洲精品免费在线观看| 天天干天天舔天天射| 国产精品香蕉av| 亚洲午夜视频| 中文字幕成人动漫| 日韩一区国产二区欧美三区| 成人黄色动漫| 中文字幕在线亚洲三区| 成人免费视频网站在线观看| 日批视频免费观看| 欧美国产日产韩国视频| 国产精品一线天粉嫩av| 国产精品无码自拍| 在线观看一区日韩| 免费不卡av| 亚洲精品乱码视频| 成人高清免费观看| 在线观看一二三区| 7m第一福利500精品视频| 婷婷丁香综合| 精品无人区无码乱码毛片国产 | 91精品亚洲| 色婷婷av777| 亚洲电影成人av99爱色|