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

Linkerd 金絲雀部署與 A/B 測試

網絡 通信技術
本指南向您展示如何使用 Linkerd 和 Flagger 來自動化金絲雀部署與 A/B 測試。希望能夠幫助到你!

[[413903]]

本指南向您展示如何使用 Linkerd 和 Flagger 來自動化金絲雀部署與 A/B 測試。

Flagger Linkerd Traffic Split(流量拆分)

前提條件

Flagger 需要 Kubernetes 集群 v1.16 或更新版本和 Linkerd 2.10 或更新版本。

安裝 Linkerd the Prometheus(Linkerd Viz 的一部分):

  1. linkerd install | kubectl apply -f - 
  2. linkerd viz install | kubectl apply -f - 

在 linkerd 命名空間中安裝 Flagger:

  1. kubectl apply -k github.com/fluxcd/flagger//kustomize/linkerd 

引導程序

Flagger 采用 Kubernetes deployment 和可選的水平 Pod 自動伸縮 (HPA),然后創建一系列對象(Kubernetes 部署、ClusterIP 服務和 SMI 流量拆分)。這些對象將應用程序暴露在網格內部并驅動 Canary 分析和推廣。

創建一個 test 命名空間并啟用 Linkerd 代理注入:

  1. kubectl create ns test 
  2. kubectl annotate namespace test linkerd.io/inject=enabled 

安裝負載測試服務以在金絲雀分析期間生成流量:

  1. kubectl apply -k https://github.com/fluxcd/flagger//kustomize/tester?ref=main 

創建部署和水平 pod autoscaler:

  1. kubectl apply -k https://github.com/fluxcd/flagger//kustomize/podinfo?ref=main 

為 podinfo 部署創建一個 Canary 自定義資源:

  1. apiVersion: flagger.app/v1beta1 
  2. kind: Canary 
  3. metadata: 
  4.   name: podinfo 
  5.   namespace: test 
  6. spec: 
  7.   # deployment reference 
  8.   targetRef: 
  9.     apiVersion: apps/v1 
  10.     kind: Deployment 
  11.     name: podinfo 
  12.   # HPA reference (optional) 
  13.   autoscalerRef: 
  14.     apiVersion: autoscaling/v2beta2 
  15.     kind: HorizontalPodAutoscaler 
  16.     name: podinfo 
  17.   # the maximum time in seconds for the canary deployment 
  18.   # to make progress before it is rollback (default 600s) 
  19.   progressDeadlineSeconds: 60 
  20.   service: 
  21.     # ClusterIP port number 
  22.     port: 9898 
  23.     # container port number or name (optional) 
  24.     targetPort: 9898 
  25.   analysis: 
  26.     # schedule interval (default 60s) 
  27.     interval: 30s 
  28.     # max number of failed metric checks before rollback 
  29.     threshold: 5 
  30.     # max traffic percentage routed to canary 
  31.     # percentage (0-100) 
  32.     maxWeight: 50 
  33.     # canary increment step 
  34.     # percentage (0-100) 
  35.     stepWeight: 5 
  36.     # Linkerd Prometheus checks 
  37.     metrics: 
  38.     - name: request-success-rate 
  39.       # minimum req success rate (non 5xx responses) 
  40.       # percentage (0-100) 
  41.       thresholdRange: 
  42.         min: 99 
  43.       interval: 1m 
  44.     - name: request-duration 
  45.       # maximum req duration P99 
  46.       # milliseconds 
  47.       thresholdRange: 
  48.         max: 500 
  49.       interval: 30s 
  50.     # testing (optional) 
  51.     webhooks: 
  52.       - name: acceptance-test 
  53.         type: pre-rollout 
  54.         url: http://flagger-loadtester.test/ 
  55.         timeout: 30s 
  56.         metadata: 
  57.           type: bash 
  58.           cmd: "curl -sd 'test' http://podinfo-canary.test:9898/token | grep token" 
  59.       - nameload-test 
  60.         type: rollout 
  61.         url: http://flagger-loadtester.test/ 
  62.         metadata: 
  63.           cmd: "hey -z 2m -q 10 -c 2 http://podinfo-canary.test:9898/" 

將上述資源另存為 podinfo-canary.yaml 然后應用:

  1. kubectl apply -f ./podinfo-canary.yaml 

當 Canary 分析開始時,Flagger 將在將流量路由到 Canary 之前調用 pre-rollout webhooks。金絲雀分析將運行五分鐘,同時每半分鐘驗證一次 HTTP 指標和 rollout(推出) hooks。

幾秒鐘后,Flager 將創建 canary 對象:

  1. # applied 
  2. deployment.apps/podinfo 
  3. horizontalpodautoscaler.autoscaling/podinfo 
  4. ingresses.extensions/podinfo 
  5. canary.flagger.app/podinfo 
  6.  
  7. # generated 
  8. deployment.apps/podinfo-primary 
  9. horizontalpodautoscaler.autoscaling/podinfo-primary 
  10. service/podinfo 
  11. service/podinfo-canary 
  12. service/podinfo-primary 
  13. trafficsplits.split.smi-spec.io/podinfo 

在 boostrap 之后,podinfo 部署將被縮放到零, 并且到 podinfo.test 的流量將被路由到主 pod。在 Canary 分析過程中,可以使用 podinfo-canary.test 地址直接定位 Canary Pod。

自動金絲雀推進

Flagger 實施了一個控制循環,在測量 HTTP 請求成功率、請求平均持續時間和 Pod 健康狀況等關鍵性能指標的同時,逐漸將流量轉移到金絲雀。根據對 KPI 的分析,提升或中止 Canary,并將分析結果發布到 Slack。

Flagger 金絲雀階段

通過更新容器鏡像觸發金絲雀部署:

  1. kubectl -n test set image deployment/podinfo \ 
  2. podinfod=stefanprodan/podinfo:3.1.1 

Flagger 檢測到部署修訂已更改并開始新的部署:

  1. kubectl -n test describe canary/podinfo 
  2.  
  3. Status: 
  4.   Canary Weight:         0 
  5.   Failed Checks:         0 
  6.   Phase:                 Succeeded 
  7. Events: 
  8.  New revision detected! Scaling up podinfo.test 
  9.  Waiting for podinfo.test rollout to finish: 0 of 1 updated replicas are available 
  10.  Pre-rollout check acceptance-test passed 
  11.  Advance podinfo.test canary weight 5 
  12.  Advance podinfo.test canary weight 10 
  13.  Advance podinfo.test canary weight 15 
  14.  Advance podinfo.test canary weight 20 
  15.  Advance podinfo.test canary weight 25 
  16.  Waiting for podinfo.test rollout to finish: 1 of 2 updated replicas are available 
  17.  Advance podinfo.test canary weight 30 
  18.  Advance podinfo.test canary weight 35 
  19.  Advance podinfo.test canary weight 40 
  20.  Advance podinfo.test canary weight 45 
  21.  Advance podinfo.test canary weight 50 
  22.  Copying podinfo.test template spec to podinfo-primary.test 
  23.  Waiting for podinfo-primary.test rollout to finish: 1 of 2 updated replicas are available 
  24.  Promotion completed! Scaling down podinfo.test 

請注意,如果您在 Canary 分析期間對部署應用新更改,Flagger 將重新開始分析。

金絲雀部署由以下任何對象的更改觸發:

  • Deployment PodSpec(容器鏡像container image、命令command、端口ports、環境env、資源resources等)
  • ConfigMaps 作為卷掛載或映射到環境變量
  • Secrets 作為卷掛載或映射到環境變量

您可以通過以下方式監控所有金絲雀:

  1. watch kubectl get canaries --all-namespaces 
  2.  
  3. NAMESPACE   NAME      STATUS        WEIGHT   LASTTRANSITIONTIME 
  4. test        podinfo   Progressing   15       2019-06-30T14:05:07Z 
  5. prod        frontend  Succeeded     0        2019-06-30T16:15:07Z 
  6. prod        backend   Failed        0        2019-06-30T17:05:07Z 

自動回滾

在金絲雀分析期間,您可以生成 HTTP 500 錯誤和高延遲來測試 Flagger 是否暫停并回滾有故障的版本。

觸發另一個金絲雀部署:

  1. kubectl -n test set image deployment/podinfo \ 
  2. podinfod=stefanprodan/podinfo:3.1.2 

使用以下命令執行負載測試器 pod:

  1. kubectl -n test exec -it flagger-loadtester-xx-xx sh 

生成 HTTP 500 錯誤:

  1. watch -n 1 curl http://podinfo-canary.test:9898/status/500 

生成延遲:

  1. watch -n 1 curl http://podinfo-canary.test:9898/delay/1 

當失敗的檢查次數達到金絲雀分析閾值時,流量將路由回主服務器,金絲雀縮放為零,并將推出標記為失敗。

  1. kubectl -n test describe canary/podinfo 
  2.  
  3. Status: 
  4.   Canary Weight:         0 
  5.   Failed Checks:         10 
  6.   Phase:                 Failed 
  7. Events: 
  8.  Starting canary analysis for podinfo.test 
  9.  Pre-rollout check acceptance-test passed 
  10.  Advance podinfo.test canary weight 5 
  11.  Advance podinfo.test canary weight 10 
  12.  Advance podinfo.test canary weight 15 
  13.  Halt podinfo.test advancement success rate 69.17% < 99% 
  14.  Halt podinfo.test advancement success rate 61.39% < 99% 
  15.  Halt podinfo.test advancement success rate 55.06% < 99% 
  16.  Halt podinfo.test advancement request duration 1.20s > 0.5s 
  17.  Halt podinfo.test advancement request duration 1.45s > 0.5s 
  18.  Rolling back podinfo.test failed checks threshold reached 5 
  19.  Canary failed! Scaling down podinfo.test 

自定義指標

Canary analysis 可以通過 Prometheus 查詢進行擴展。

讓我們定義一個未找到錯誤的檢查。編輯 canary analysis 并添加以下指標:

  1. analysis: 
  2.   metrics: 
  3.   - name"404s percentage" 
  4.     threshold: 3 
  5.     query: | 
  6.       100 - sum
  7.           rate( 
  8.               response_total{ 
  9.                   namespace="test"
  10.                   deployment="podinfo"
  11.                   status_code!="404"
  12.                   direction="inbound" 
  13.               }[1m] 
  14.           ) 
  15.       ) 
  16.       / 
  17.       sum
  18.           rate( 
  19.               response_total{ 
  20.                   namespace="test"
  21.                   deployment="podinfo"
  22.                   direction="inbound" 
  23.               }[1m] 
  24.           ) 
  25.       ) 
  26.       * 100 

上述配置通過檢查 HTTP 404 req/sec 百分比是否低于總流量的 3% 來驗證金絲雀版本。如果 404s 率達到 3% 閾值,則分析將中止,金絲雀被標記為失敗。

通過更新容器鏡像觸發金絲雀部署:

  1. kubectl -n test set image deployment/podinfo \ 
  2. podinfod=stefanprodan/podinfo:3.1.3 

生成 404:

  1. watch -n 1 curl http://podinfo-canary:9898/status/404 

監視 Flagger 日志:

  1. kubectl -n linkerd logs deployment/flagger -f | jq .msg 
  2.  
  3. Starting canary deployment for podinfo.test 
  4. Pre-rollout check acceptance-test passed 
  5. Advance podinfo.test canary weight 5 
  6. Halt podinfo.test advancement 404s percentage 6.20 > 3 
  7. Halt podinfo.test advancement 404s percentage 6.45 > 3 
  8. Halt podinfo.test advancement 404s percentage 7.22 > 3 
  9. Halt podinfo.test advancement 404s percentage 6.50 > 3 
  10. Halt podinfo.test advancement 404s percentage 6.34 > 3 
  11. Rolling back podinfo.test failed checks threshold reached 5 
  12. Canary failed! Scaling down podinfo.test 

如果您配置了 Slack,Flager 將發送一條通知,說明金絲雀失敗的原因。

Linkerd Ingress

有兩個入口控制器與 Flagger 和 Linkerd 兼容:NGINX 和 Gloo。

安裝 NGINX:

  1. helm upgrade -i nginx-ingress stable/nginx-ingress \ 
  2. --namespace ingress-nginx 

為 podinfo 創建一個 ingress 定義,將傳入標頭重寫為內部服務名稱(Linkerd 需要):

  1. apiVersion: extensions/v1beta1 
  2. kind: Ingress 
  3. metadata: 
  4.   name: podinfo 
  5.   namespace: test 
  6.   labels: 
  7.     app: podinfo 
  8.   annotations: 
  9.     kubernetes.io/ingress.class: "nginx" 
  10.     nginx.ingress.kubernetes.io/configuration-snippet: | 
  11.       proxy_set_header l5d-dst-override $service_name.$namespace.svc.cluster.local:9898; 
  12.       proxy_hide_header l5d-remote-ip; 
  13.       proxy_hide_header l5d-server-id; 
  14. spec: 
  15.   rules: 
  16.     - host: app.example.com 
  17.       http: 
  18.         paths: 
  19.           - backend: 
  20.               serviceName: podinfo 
  21.               servicePort: 9898 

使用 ingress controller 時,Linkerd 流量拆分不適用于傳入流量,因為 NGINX 在網格之外運行。為了對前端應用程序運行金絲雀分析,Flagger 創建了一個 shadow ingress 并設置了 NGINX 特定的注釋(annotations)。

A/B 測試

除了加權路由,Flagger 還可以配置為根據 HTTP 匹配條件將流量路由到金絲雀。在 A/B 測試場景中,您將使用 HTTP headers 或 cookies 來定位您的特定用戶群。這對于需要會話關聯的前端應用程序特別有用。

Flagger Linkerd Ingress

編輯 podinfo 金絲雀分析,將提供者設置為 nginx,添加 ingress 引用,移除 max/step 權重并添加匹配條件和 iterations:

  1. apiVersion: flagger.app/v1beta1 
  2. kind: Canary 
  3. metadata: 
  4.   name: podinfo 
  5.   namespace: test 
  6. spec: 
  7.   # ingress reference 
  8.   provider: nginx 
  9.   ingressRef: 
  10.     apiVersion: extensions/v1beta1 
  11.     kind: Ingress 
  12.     name: podinfo 
  13.   targetRef: 
  14.     apiVersion: apps/v1 
  15.     kind: Deployment 
  16.     name: podinfo 
  17.   autoscalerRef: 
  18.     apiVersion: autoscaling/v2beta2 
  19.     kind: HorizontalPodAutoscaler 
  20.     name: podinfo 
  21.   service: 
  22.     # container port 
  23.     port: 9898 
  24.   analysis: 
  25.     interval: 1m 
  26.     threshold: 10 
  27.     iterations: 10 
  28.     match: 
  29.       # curl -H 'X-Canary: always' http://app.example.com 
  30.       - headers: 
  31.           x-canary: 
  32.             exact: "always" 
  33.       # curl -b 'canary=always' http://app.example.com 
  34.       - headers: 
  35.           cookie: 
  36.             exact: "canary" 
  37.     # Linkerd Prometheus checks 
  38.     metrics: 
  39.     - name: request-success-rate 
  40.       thresholdRange: 
  41.         min: 99 
  42.       interval: 1m 
  43.     - name: request-duration 
  44.       thresholdRange: 
  45.         max: 500 
  46.       interval: 30s 
  47.     webhooks: 
  48.       - name: acceptance-test 
  49.         type: pre-rollout 
  50.         url: http://flagger-loadtester.test/ 
  51.         timeout: 30s 
  52.         metadata: 
  53.           type: bash 
  54.           cmd: "curl -sd 'test' http://podinfo-canary:9898/token | grep token" 
  55.       - nameload-test 
  56.         type: rollout 
  57.         url: http://flagger-loadtester.test/ 
  58.         metadata: 
  59.           cmd: "hey -z 2m -q 10 -c 2 -H 'Cookie: canary=always' http://app.example.com" 

上述配置將運行 10 分鐘的分析,目標用戶是:canary cookie 設置為 always 或使用 X-Canary: always header 調用服務。

請注意,負載測試現在針對外部地址并使用 canary cookie。

通過更新容器鏡像觸發金絲雀部署:

  1. kubectl -n test set image deployment/podinfo \ 
  2. podinfod=stefanprodan/podinfo:3.1.4 

Flagger 檢測到部署修訂已更改并開始 A/B 測試:

  1. kubectl -n test describe canary/podinfo 
  2.  
  3. Events: 
  4.  Starting canary deployment for podinfo.test 
  5.  Pre-rollout check acceptance-test passed 
  6.  Advance podinfo.test canary iteration 1/10 
  7.  Advance podinfo.test canary iteration 2/10 
  8.  Advance podinfo.test canary iteration 3/10 
  9.  Advance podinfo.test canary iteration 4/10 
  10.  Advance podinfo.test canary iteration 5/10 
  11.  Advance podinfo.test canary iteration 6/10 
  12.  Advance podinfo.test canary iteration 7/10 
  13.  Advance podinfo.test canary iteration 8/10 
  14.  Advance podinfo.test canary iteration 9/10 
  15.  Advance podinfo.test canary iteration 10/10 
  16.  Copying podinfo.test template spec to podinfo-primary.test 
  17.  Waiting for podinfo-primary.test rollout to finish: 1 of 2 updated replicas are available 
  18.  Promotion completed! Scaling down podinfo.test 

 

責任編輯:姜華 來源: 黑客下午茶
相關推薦

2022-02-17 13:09:55

金絲雀部署服務集群測試

2022-11-30 08:00:00

金絲雀部署IT測試

2021-06-15 05:52:33

Linkerd canary網絡技術

2021-07-13 06:35:11

Argo Rollou GitOpsKubernetes

2023-10-08 07:34:04

2024-04-01 13:04:01

停機部署滾動部署藍綠部署

2022-08-22 10:40:40

Kubernete部署分析運行

2021-10-08 20:12:22

微服務架構Service

2021-02-28 07:52:24

蠕蟲數據金絲雀

2024-01-18 08:24:08

2021-06-03 05:48:58

GitOps 云原生Kubernetes

2025-03-04 08:53:10

2022-08-15 20:48:28

Chrome安卓網頁

2013-11-01 11:00:10

2023-11-09 07:23:57

Istio路由分析

2024-12-16 13:34:35

2023-02-20 10:13:00

灰度發布實現

2021-10-14 18:21:52

架構IstioService

2015-08-20 10:49:39

Windows 10版本

2023-09-05 07:24:33

Traefik加權輪詢
點贊
收藏

51CTO技術棧公眾號

私拍精品福利视频在线一区| 欧美一区少妇| 国产www免费| 亚洲av无码一区二区三区人 | 国产这里有精品| 超碰国产一区| 夫妻av一区二区| 中文字幕亚洲无线码a| 五月丁香综合缴情六月小说| www.色视频| 99国产**精品****| 欧美丝袜自拍制服另类| 久久久水蜜桃| 97免费在线观看视频| 7m精品国产导航在线| 国产精品乱人伦一区二区| 欧洲一区二区视频| 国产精品久久久免费观看| 国产www视频在线观看| av影片在线一区| 日韩欧美福利视频| 国产欧美日韩综合精品二区| 久久成人在线观看| 4438全国亚洲精品观看视频| 色综合激情久久| 欧美日韩成人一区二区三区| 亚洲天堂一区在线| 国产精品白丝久久av网站| 18成人在线视频| 成人欧美在线视频| 久久久久亚洲AV成人| 久操成人av| 欧美午夜精品免费| 免费国产黄色网址| 欧美精品少妇| 一区二区三区成人精品| 日韩麻豆第一页| 中国丰满人妻videoshd| 免费在线性爱视频| 成人av电影在线观看| 欧美主播福利视频| 国产精品成人久久| 婷婷精品在线| 日韩丝袜美女视频| 国产美女主播在线| 最新黄网在线观看| 9i在线看片成人免费| 91成人免费观看网站| 精品夜夜澡人妻无码av| 亚洲欧美在线成人| 亚洲欧美区自拍先锋| 国产精品久久久久久久久久久久冷 | 久久免费电影网| 国产精品久在线观看| 亚洲aaa视频| 亚洲一二av| 日韩一区和二区| 两女双腿交缠激烈磨豆腐| av在线播放资源| 久久精品一级爱片| 91在线观看免费网站| 日本三级片在线观看| 精品日韩欧美一区| 一区二区三区高清国产| 亚洲成人av免费观看| av日韩久久| 精品免费在线观看| 清纯唯美一区二区三区| 六十路在线观看| 国产农村妇女毛片精品久久麻豆| 91九色在线视频| 99热这里只有精品7| 国产又粗又猛视频免费| 九九热线有精品视频99| 亚洲男人天堂2024| 成人免费播放视频| 视频二区欧美毛片免费观看| 欧美性xxxxxxxxx| 久久精品99国产| 天堂av资源在线观看| 国产女人水真多18毛片18精品视频| 欧美三级华人主播| 尤物网在线观看| 337p粉嫩大胆色噜噜噜噜亚洲| 91香蕉国产在线观看| 午夜精品久久久久久久第一页按摩| 国产成人午夜片在线观看高清观看| 国产成人精品免高潮在线观看| 青青草手机在线视频| 亚洲国产专区校园欧美| 久久视频在线直播| 中文字幕免费视频| 99成人超碰| 91精品国产91久久久久久不卡| 中文字幕在线播| 亚洲看片一区| 国产精品草莓在线免费观看| 日本一区二区欧美| 日韩一区精品视频| 国产91精品青草社区| 精品少妇一二三区| 91不卡在线观看| 日韩亚洲欧美成人| 成人在线观看免费高清| 欧洲亚洲视频| 亚洲成av人影院在线观看| 国产九九九视频| 西野翔中文久久精品国产| 精品国产一区av| 国产毛片aaa| 国产欧美日本| 欧美一级电影在线| 国产精品福利电影| 91亚洲午夜精品久久久久久| 国产在线一区二区三区四区| 大乳在线免费观看| 欧美极品少妇xxxxⅹ高跟鞋 | 欧美午夜视频网站| 182在线视频| 天天综合亚洲| 国产精品第1页| 偷拍精品一区二区三区| www.66久久| 波多野结衣激情| a视频在线免费看| 亚洲欧美日韩一区二区| 欧美精品一区二区性色a+v| 亚洲女同av| 在线观看一区二区视频| 手机看片一级片| 91精品麻豆| 国产一区二区三区在线看| 日本一二三区不卡| 国产成人av电影在线| 秋霞在线一区二区| 亚洲欧美在线人成swag| 中文字幕日韩有码| 在线免费一区二区| 国内久久精品视频| 成人黄色在线观看| a天堂在线资源| 91成人免费在线| 中文字幕高清视频| 欧美成人直播| 欧美高清在线播放| aaa人片在线| 成年人午夜久久久| 人人干视频在线| 老司机aⅴ在线精品导航| 亚洲全黄一级网站| 亚洲av无码一区二区三区在线| 国内自拍视频一区二区三区| 欧美在线播放视频| 四虎成人免费在线| 国产人久久人人人人爽| 人妻丰满熟妇av无码区app| 91丨精品丨国产| 久久久精品一区二区| 日本三级小视频| 久久综合国产精品| 人人爽人人av| 99久久夜色精品国产亚洲狼| 91免费国产视频| 欧美人与动牲性行为| 欧日韩精品视频| 91成人精品一区二区| 久久电影国产免费久久电影| 国产一区二区三区黄| 麻豆mv在线观看| 欧美美女网站色| 亚洲色图14p| 久久久久国产精品午夜一区| 亚洲a∨日韩av高清在线观看| 欧美日本韩国一区二区| 91高清视频在线| 国产视频久久久久久| 午夜精品毛片| www.久久艹| 亚洲1卡2卡3卡4卡乱码精品| 7777精品伊人久久久大香线蕉 | 色资源在线观看| 亚洲激情综合网| 婷婷六月天在线| 色爱综合av| 国产精品嫩草视频| 羞羞电影在线观看www| 亚洲精品视频中文字幕| 在线不卡免费视频| 久久久蜜桃精品| 欧美激情国内自拍| 第一社区sis001原创亚洲| 日韩av片电影专区| 婷婷亚洲一区二区三区| 欧美午夜视频网站| 中文在线观看免费网站| 日本一区二区三区四区| 国产伦精品一区二区三区88av| 香蕉精品视频在线观看| 精品中文字幕一区| h片在线观看| 深夜福利日韩在线看| 波多野结衣在线观看视频| 91丝袜高跟美女视频| 视频二区在线播放| 国产欧美一区二区三区国产幕精品| 三区精品视频观看| 亚洲日本天堂| 美日韩在线视频| 中文天堂在线播放| 亚洲国产精品成人久久综合一区| 国产女女做受ⅹxx高潮| 亚洲天堂一区二区三区四区| 成人激情电影一区二区| 日本午夜大片a在线观看| 另类视频在线观看| wwwxxx在线观看| 亚洲精品乱码久久久久久金桔影视| 欧美日韩中文视频| 亚洲欧洲日本在线| 久久久久久久毛片| 免费的国产精品| 国产高清精品软男同| 亚洲永久精品唐人导航网址| 国产成人一区二区三区小说| 97在线视频免费观看完整版| 久久影视电视剧免费网站| 成a人片在线观看www视频| 日韩电影大片中文字幕| 亚洲xxxx天美| 精品成人av一区| 在线免费观看亚洲视频| 国产精品二区一区二区aⅴ污介绍| xxxx在线免费观看| 日本在线不卡一区| 亚洲欧洲精品在线观看| 国产一区一区| 国产啪精品视频| 欧美性爽视频| 久久国产天堂福利天堂| 看女生喷水的网站在线观看| 欧美不卡一二三| www.com国产| 婷婷夜色潮精品综合在线| 亚洲一区二区91| 五月婷婷另类国产| 国产欧美一区二区三区在线观看视频| 91农村精品一区二区在线| 亚洲一区二区三区四区五区六区| 粉嫩13p一区二区三区| 久久久久亚洲AV成人网人人小说| 亚洲欧美日韩视频二区| 亚洲午夜精品久久久中文影院av | 性高湖久久久久久久久| 国产免费黄视频| 日韩88av| 国产精品一区二区欧美| 国产精品调教视频| 国产精品免费视频xxxx| 青青在线精品| 97超级碰碰碰久久久| 一本大道色婷婷在线| 国产97在线视频| 成人综合网站| 91国内产香蕉| 欧美三区四区| 国产日韩专区在线| 日韩成人18| 国产在线一区二区三区播放| 欧美精品momsxxx| 午夜精品一区二区三区四区| 天天综合一区| 拔插拔插海外华人免费| 久久精品首页| 污污网站在线观看视频| 亚洲综合不卡| 在线观看高清免费视频| 国产一区二区三区视频在线播放| 国产中文字幕在线免费观看| 久久亚洲影院| 国产极品在线视频| 日韩精品一二三四| 婷婷激情综合五月天| 日韩精品久久理论片| 日本xxxx黄色| 成人午夜免费av| 特种兵之深入敌后| 狠狠色综合日日| 久久性爱视频网站| 中文字幕第一区综合| 麻豆91精品91久久久| 日本乱人伦一区| 精品黑人一区二区三区国语馆| 日韩经典中文字幕| 麻豆免费在线观看| 中文字幕精品—区二区| 日日夜夜天天综合入口| 日韩免费观看网站| 国产一区二区三区亚洲综合| 欧美一区二区三区四区在线观看地址| 亚洲精品a级片| 久久久久狠狠高潮亚洲精品| 国产一区二区三区在线观看精品| 波多野结衣av在线免费观看| 亚洲精品中文字幕乱码三区| 天天干天天色综合| 精品国产乱码久久| 亚洲精品无码久久久| 正在播放亚洲1区| 国产激情在线播放| 韩国视频理论视频久久| av中文字幕电影在线看| 国产日本欧美一区| 欧美女优在线视频| 黄色激情在线视频| 九九视频精品免费| 舐め犯し波多野结衣在线观看| 亚洲成人av资源| 亚洲精品www久久久久久| 7777精品伊人久久久大香线蕉的 | 久久91亚洲人成电影网站| 国产激情在线观看| 国产精品黄页免费高清在线观看| 国产精品香蕉| 成人免费看片视频在线观看| 免费看欧美女人艹b| 天天躁日日躁aaaxxⅹ| 国产网站一区二区三区| 亚洲图片第一页| 中文字幕一区二区不卡| 亚洲自拍一区在线观看| 亚洲第一区中文字幕| 在线电影福利片| 91人人爽人人爽人人精88v| 四季av在线一区二区三区| 嫩草影院国产精品| 久久久久99精品国产片| 亚洲s码欧洲m码国产av| 日韩av影片在线观看| а√天堂8资源中文在线| 成人在线免费观看一区| 亚洲自拍电影| 国产肥臀一区二区福利视频| 99久久99久久久精品齐齐| 日本熟女一区二区| 亚洲电影av在线| 麻豆网站免费在线观看| 久久久精品动漫| 亚洲欧美卡通另类91av| 自拍偷拍视频亚洲| 欧洲色大大久久| 在线国产91| 91精品国产自产91精品| 乱亲女h秽乱长久久久| 日韩精品―中文字幕| 91首页免费视频| 天天干天天色综合| 中文字幕一区二区三区电影| 日韩精品一级毛片在线播放| 中文字幕一区二区三区在线乱码| 在线成人av| 91高清国产视频| 自拍视频在线观看一区二区| 国产又爽又黄又嫩又猛又粗| 久久福利视频网| eeuss鲁片一区二区三区| 无遮挡亚洲一区| 久久99精品久久久久久久久久久久| 亚洲综合久久av一区二区三区| 精品日韩中文字幕| 精品无吗乱吗av国产爱色| 欧美高清自拍一区| 免费福利视频一区| 亚洲男人天堂色| 日韩毛片高清在线播放| 亚洲AV午夜精品| 国产成人综合一区二区三区| 欧美激情理论| 日本国产在线视频| 在线观看三级视频欧美| av在线播放观看| 久久久久久a亚洲欧洲aⅴ| 免费在线视频一区| 国产亚洲精久久久久久无码77777| 亚洲国产成人久久| 福利一区和二区| 国产日韩av网站| 中国色在线观看另类| 好男人在线视频www| 中文字幕亚洲欧美| 一区中文字幕| 激情综合网俺也去| 亚洲一区二区三区视频在线播放 | 久久精品97| 日本亚洲欧洲精品| 国产原创一区二区| 日本午夜视频在线观看| 精品激情国产视频| 亚洲三级网址| 日本人妻一区二区三区| 亚洲黄色性网站|