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

騰訊云 K8S 集群實(shí)戰(zhàn) Service Mesh—Linkerd2 & Traefik2 部署 emojivoto 應(yīng)用

系統(tǒng)
服務(wù)網(wǎng)格是用于處理服務(wù)間通信的專用基礎(chǔ)設(shè)施層。它負(fù)責(zé)通過包含現(xiàn)代云原生應(yīng)用程序的復(fù)雜服務(wù)拓?fù)鋪砜煽康貍鬟f請求。實(shí)際上,服務(wù)網(wǎng)格通常通過一組輕量級網(wǎng)絡(luò)代理來實(shí)現(xiàn),這些代理與應(yīng)用程序代碼一起部署,而不需要感知應(yīng)用程序本身。

[[404861]]

 Linkerd 是 Kubernetes 的服務(wù)網(wǎng)格。它通過為您提供運(yùn)行時(shí)調(diào)試(runtime debugging)、可觀察性(observability)、可靠性(reliability)和安全性(security),使運(yùn)行服務(wù)更輕松、更安全 — 所有這些都不需要對您的代碼進(jìn)行任何更改。

服務(wù)網(wǎng)格是用于處理服務(wù)間通信的專用基礎(chǔ)設(shè)施層。它負(fù)責(zé)通過包含現(xiàn)代云原生應(yīng)用程序的復(fù)雜服務(wù)拓?fù)鋪砜煽康貍鬟f請求。實(shí)際上,服務(wù)網(wǎng)格通常通過一組輕量級網(wǎng)絡(luò)代理來實(shí)現(xiàn),這些代理與應(yīng)用程序代碼一起部署,而不需要感知應(yīng)用程序本身。— Willian Morgan Buoyant CEO

為什么我們需要 Service Mesh?

1.What's a service mesh? And why do I need one? 一文中做了詳細(xì)的解釋,這里不再贅述。擁抱云原生,微服務(wù)已進(jìn)入 Service Mesh 時(shí)代。

https://buoyant.io/2020/10/12/what-is-a-service-mesh/

為什么折騰 Linkerd2 而不是 Istio?

2.Benchmarking Linkerd and Istio

https://linkerd.io/2021/05/27/linkerd-vs-istio-benchmarks/

部署環(huán)境

  • 騰訊云 TKE K8S 集群(或你自建的私有 K8S 集群)
  • CentOS 7.x

可先快速過一個(gè)官方上手教程,本文是基于此在騰訊云的實(shí)戰(zhàn)詳解。

  • 快速上手 Linkerd v2 Service Mesh(服務(wù)網(wǎng)格)
  • Getting Started

https://linkerd.io/2.10/getting-started

查看集群版本

kubectl version --short

  1. Client Version: v1.16.9 
  2. Server Version: v1.16.9 

Linkerd2 CLI 安裝

首先我們需要下載并安裝最新版本的 linkerd CLI。

我們直接進(jìn)入 Linkerd2 版本發(fā)行頁面,查看最新版:

https://github.com/linkerd/linkerd2/releases/

這里我們下載 linkerd2-cli-edge-21.6.1-linux-amd64。

https://github.com/linkerd/linkerd2/releases/download/edge-21.6.1/linkerd2-cli-edge-21.6.1-linux-amd64

安裝:

  1. wget -c https://github.com/linkerd/linkerd2/releases/download/edge-21.6.1/linkerd2-cli-edge-21.6.1-linux-amd64 
  2.  
  3. mv linkerd2-cli-edge-21.6.1-linux-amd64 /usr/local/bin/linkerd 
  4.  
  5. chmod 755 /usr/local/bin/linkerd 

現(xiàn)在我們運(yùn)行 linkerd,會看到如下信息:

  1. Usage: 
  2.   linkerd [command] 
  3.  
  4. Available Commands: 
  5.   check        Check the Linkerd installation for potential problems 
  6.   completion   Output shell completion code for the specified shell (bash, zsh or fish) 
  7.   diagnostics  Commands used to diagnose Linkerd components 
  8.   help         Help about any command 
  9.   identity     Display the certificate(s) of one or more selected pod(s) 
  10.   inject       Add the Linkerd proxy to a Kubernetes config 
  11.   install      Output Kubernetes configs to install Linkerd 
  12.   install-cni  Output Kubernetes configs to install Linkerd CNI 
  13.   jaeger       jaeger manages the jaeger extension of Linkerd service mesh 
  14.   multicluster Manages the multicluster setup for Linkerd 
  15.   profile      Output service profile config for Kubernetes 
  16.   repair       Output the secret/linkerd-config-overrides resource if it has been deleted 
  17.   uninject     Remove the Linkerd proxy from a Kubernetes config 
  18.   uninstall    Output Kubernetes resources to uninstall Linkerd control plane 
  19.   upgrade      Output Kubernetes configs to upgrade an existing Linkerd control plane 
  20.   version      Print the client and server version information 
  21.   viz          viz manages the linkerd-viz extension of Linkerd service mesh 
  22.  
  23. Flags: 
  24.       --api-addr string            Override kubeconfig and communicate directly with the control plane at host:port (mostly for testing) 
  25.       --as string                  Username to impersonate for Kubernetes operations 
  26.       --as-group stringArray       Group to impersonate for Kubernetes operations 
  27.       --cni-namespace string       Namespace in which the Linkerd CNI plugin is installed (default "linkerd-cni") 
  28.       --context string             Name of the kubeconfig context to use 
  29.   -h, --help                       help for linkerd 
  30.       --kubeconfig string          Path to the kubeconfig file to use for CLI requests 
  31.   -L, --linkerd-namespace string   Namespace in which Linkerd is installed ($LINKERD_NAMESPACE) (default "linkerd") 
  32.       --verbose                    Turn on debug logging 
  33.  
  34. Additional help topics: 
  35.   linkerd alpha        experimental subcommands for Linkerd 
  36.  
  37. Use "linkerd [command] --help" for more information about a command. 

安裝 Linkerd2 控制平面

首先,我們需要驗(yàn)證下集群,使用 linkerd check --pre,正常會輸出如下信息:

  1. Linkerd core checks 
  2. =================== 
  3.  
  4. kubernetes-api 
  5. -------------- 
  6. √ can initialize the client 
  7. √ can query the Kubernetes API 
  8.  
  9. kubernetes-version 
  10. ------------------ 
  11. √ is running the minimum Kubernetes API version 
  12. √ is running the minimum kubectl version 
  13.  
  14. pre-kubernetes-setup 
  15. -------------------- 
  16. √ control plane namespace does not already exist 
  17. √ can create non-namespaced resources 
  18. √ can create ServiceAccounts 
  19. √ can create Services 
  20. √ can create Deployments 
  21. √ can create CronJobs 
  22. √ can create ConfigMaps 
  23. √ can create Secrets 
  24. √ can read Secrets 
  25. √ can read extension-apiserver-authentication configmap 
  26. √ no clock skew detected 
  27.  
  28. pre-kubernetes-capability 
  29. ------------------------- 
  30. √ has NET_ADMIN capability 
  31. √ has NET_RAW capability 
  32.  
  33. linkerd-version 
  34. --------------- 
  35. √ can determine the latest version 
  36. √ cli is up-to-date 
  37.  
  38. Status check results are √ 

部署控制平面:

  1. linkerd install | kubectl apply -f - 

查看 linkerd 命名空間的 pod 部署情況:

  1. kubectl get po -n linkerd 
  2.  
  3. NAME                                      READY   STATUS    RESTARTS   AGE 
  4. linkerd-destination-6c6bf4fc4-282gd       3/3     Running   0          5m 
  5. linkerd-identity-7cd9998969-cvzc8         2/2     Running   0          5m 
  6. linkerd-proxy-injector-855b9b6747-r8pcz   2/2     Running   0          5m 

同樣,我們使用 linkerd check 檢查一下。

ok, 接下來我們部署一些常用的擴(kuò)展,增強(qiáng)我們控制平面的功能。

安裝 Linkerd2 控制平面常用擴(kuò)展

grafana,prometheus,jaeger 等的部署(針對 Linkerd 2 的相關(guān)指標(biāo))

使用如下命令:

  1. linkerd viz install | kubectl apply -f - # on-cluster metrics stack 
  2.  
  3. kubectl get po -n linkerd-viz #審查 namespace, 直到所 pod 都 ready 
  4.  
  5. # grafana-5659477d88-txq5b        0/2     PodInitializing   0          14m 
  6. # metrics-api-6fcb849dc-k9sw5     2/2     Running           0          14m 
  7. # prometheus-798d8d4698-4x8h2     2/2     Running           0          14m 
  8. # tap-f5984d7f7-fkpf9             0/2     PodInitializing   0          14m 
  9. # tap-injector-6b455dd64b-2c82n   0/2     PodInitializing   0          14m 
  10. # web-657dbffb8f-7d2gr            0/2     PodInitializing   0          14m 

如果出現(xiàn)某一個(gè) pod 出現(xiàn)錯(cuò)誤,我們可以通過 kubectl describe po 來獲取詳細(xì)錯(cuò)誤信息,如:

  1. kubectl describe po grafana-5659477d88-txq5b -n linkerd-viz 

比如說,我這里如下鏡像就被卡住了(騰訊云):

  1. cr.l5d.io/linkerd/grafana:edge-21.6.1 
  2. cr.l5d.io/linkerd/tap:edge-21.6.1 
  3. cr.l5d.io/linkerd/web:edge-21.6.1 

大家可以(科學(xué)上網(wǎng))手動(dòng)拉取。

同樣,我們再部署兩個(gè)可選的擴(kuò)展。

部署 jaeger:

  1. ## optional 
  2. linkerd jaeger install | kubectl apply -f - # Jaeger collector and UI 
  3.  
  4. kubectl get po -n linkerd-jaeger #審查 namespace 
  5. OR
  6. # docker pull cr.l5d.io/linkerd/jaeger-webhook:edge-21.6.1 
  7. # docker pull jaegertracing/all-in-one:1.19.2 

部署 multicluster:

  1. linkerd multicluster install | kubectl apply -f - # multi-cluster components 
  2. kubectl get po -n linkerd-multicluster 
  3.  
  4. # 果然報(bào)錯(cuò)了 
  5. linkerd-gateway-bcb5888c5-ws6wz   1/2     ErrImagePull   0          21s 

查看報(bào)錯(cuò)信息:

  1. kubectl describe po linkerd-gateway-bcb5888c5-ws6wz -n linkerd-multicluster 
  2. # Normal   BackOff    21s (x5 over 2m13s)  kubelet, k8s-master-01  Back-off pulling image "gcr.io/google_containers/pause" 
  3. # Warning  Failed     21s (x5 over 2m13s)  kubelet, k8s-master-01  Error: ImagePullBackOff 

很明顯(gcr.io/google_containers/pause),我們需要科學(xué)上網(wǎng)(具體怎么做,太多教程了,這里不討論)。

還有一個(gè)問題比較棘手的是,這里即使 gcr.io/google_containers/pause 已經(jīng)存在于本地,部署時(shí)還是回去 gcr.io 拉取。

所以,下面提供另一種方式來弄(沒連外網(wǎng)的情況下)。

使用 kustomize 解決 linkerd-gateway (騰訊云部署)不成功的問題

kustomize 如何安裝,大家自行查看 https://kustomize.io。

首先,導(dǎo)出 linkerd multicluster 部署 yaml 檔。

  1. linkerd multicluster install > linkerd-multicluster.yaml 

然后,我們給它打個(gè)補(bǔ)丁patch-linkerd-multicluster.yaml:

  1. apiVersion: apps/v1 
  2. kind: Deployment 
  3. metadata: 
  4.   annotations: 
  5.     linkerd.io/created-by: linkerd/cli edge-21.6.1 
  6.   labels: 
  7.     app.kubernetes.io/name: gateway 
  8.     app.kubernetes.io/part-of: Linkerd 
  9.     app.kubernetes.io/version: edge-21.6.1 
  10.     linkerd.io/control-plane-component: gateway 
  11.     app: linkerd-gateway 
  12.     linkerd.io/extension: multicluster 
  13.   name: linkerd-gateway 
  14.   namespace: linkerd-multicluster 
  15. spec: 
  16.   replicas: 1 
  17.   selector: 
  18.     matchLabels: 
  19.       app: linkerd-gateway 
  20.   template: 
  21.     metadata: 
  22.       annotations: 
  23.         linkerd.io/created-by: linkerd/cli edge-21.6.1 
  24.         linkerd.io/inject: enabled 
  25.         config.linkerd.io/proxy-require-identity-inbound-ports: "4191,4143" 
  26.         config.linkerd.io/enable-gateway: "true" 
  27.       labels: 
  28.         app: linkerd-gateway 
  29.     spec: 
  30.       containers: 
  31.         - name: pause 
  32.           image: ccr.ccs.tencentyun.com/cloud-native/google-pause 
  33.       serviceAccountName: linkerd-gateway 

ccr.ccs.tencentyun.com/cloud-native/google-pause,這是筆者上傳到騰訊云的公開鏡像。

新建 kustomization.yaml:

  1. resources: 
  2. - linkerd-multicluster.yaml 
  3. patchesStrategicMerge: 
  4. - patch-linkerd-multicluster.yaml 

使用 kustomize 重新部署:

  1. kustomize build . | kubectl apply -f - 

重新查看一下:

  1. kubectl get po -n linkerd-multicluster 
  2. # linkerd-gateway-6c8dc7bb49-6tghc   2/2     Running   0          92s 

完美解決。

使用 Traefik Ingressroute 導(dǎo)出 linkerd-web 管理面板

關(guān)于 traefik v2 的部署,這里不做贅述。

使用 kustomize 對 linkerd viz 部署進(jìn)行更新

我這里使用的域名是 linkerd-web.hacker-linner.com。

導(dǎo)出 yaml 檔:

  1. linkerd viz install > linkerd-viz.yaml 

打補(bǔ)丁,patch-linkerd-viz-web.yaml:

  1. apiVersion: apps/v1 
  2. kind: Deployment 
  3. metadata: 
  4.   annotations: 
  5.     linkerd.io/created-by: linkerd/helm edge-21.6.1 
  6.   labels: 
  7.     linkerd.io/extension: viz 
  8.     app.kubernetes.io/name: web 
  9.     app.kubernetes.io/part-of: Linkerd 
  10.     app.kubernetes.io/version: edge-21.6.1 
  11.     component: web 
  12.     namespace: linkerd-viz 
  13.   name: web 
  14.   namespace: linkerd-viz 
  15. spec: 
  16.   replicas: 1 
  17.   selector: 
  18.     matchLabels: 
  19.       linkerd.io/extension: viz 
  20.       component: web 
  21.       namespace: linkerd-viz 
  22.   template: 
  23.     metadata: 
  24.       annotations: 
  25.         linkerd.io/created-by: linkerd/helm edge-21.6.1 
  26.       labels: 
  27.         linkerd.io/extension: viz 
  28.         component: web 
  29.         namespace: linkerd-viz 
  30.     spec: 
  31.       nodeSelector: 
  32.         beta.kubernetes.io/os: linux 
  33.       containers: 
  34.       - args: 
  35.         - -linkerd-metrics-api-addr=metrics-api.linkerd-viz.svc.cluster.local:8085 
  36.         - -cluster-domain=cluster.local 
  37.         - -grafana-addr=grafana.linkerd-viz.svc.cluster.local:3000 
  38.         - -controller-namespace=linkerd 
  39.         - -viz-namespace=linkerd-viz 
  40.         - -log-level=info 
  41.         - -enforced-host=^(linkerd-web\.hacker-linner\.com|localhost|127\.0\.0\.1|web\.linkerd-viz\.svc\.cluster\.local|web\.linkerd-viz\.svc|\[::1\])(:\d+)?$ 
  42.         image: cr.l5d.io/linkerd/web:edge-21.6.1 
  43.         imagePullPolicy: IfNotPresent 
  44.         livenessProbe: 
  45.           httpGet: 
  46.             path: /ping 
  47.             port: 9994 
  48.           initialDelaySeconds: 10 
  49.         name: web 
  50.         ports: 
  51.         - containerPort: 8084 
  52.           name: http 
  53.         - containerPort: 9994 
  54.           name: admin-http 
  55.         readinessProbe: 
  56.           failureThreshold: 7 
  57.           httpGet: 
  58.             path: /ready 
  59.             port: 9994 
  60.         resources: 
  61.         securityContext: 
  62.           runAsUser: 2103 
  63.       serviceAccountName: web 

更新 kustomization.yaml:

  1. resources: 
  2. - linkerd-viz.yaml 
  3. - linkerd-multicluster.yaml 
  4. patchesStrategicMerge: 
  5. - patch-linkerd-viz-web.yaml 
  6. - patch-linkerd-multicluster.yaml 

重新部署

  1. kustomize build . | kubectl apply -f - 

設(shè)置 Ingressroute & Basic Auth

  1. ingressroute-viz.yaml 
  1. apiVersion: v1 
  2. kind: Secret 
  3. metadata: 
  4.   name: linkerd-authsecret 
  5.   namespace: linkerd-viz 
  6. type: Opaque 
  7. stringData: 
  8.   users: # 這里使用 htpasswd -nb 進(jìn)行設(shè)置 
  9. --- 
  10. apiVersion: traefik.containo.us/v1alpha1 
  11. kind: Middleware 
  12. metadata: 
  13.   name: linkerd-basic-auth 
  14.   namespace: linkerd-viz 
  15. spec: 
  16.   basicAuth: 
  17.     secret: linkerd-authsecret 
  18. --- 
  19. apiVersion: traefik.containo.us/v1alpha1 
  20. kind: Middleware 
  21. metadata: 
  22.   name: l5d-header-middleware 
  23.   namespace: linkerd-viz 
  24. spec: 
  25.   headers: 
  26.     customRequestHeaders: 
  27.       l5d-dst-override: "web.linkerd-viz.svc.cluster.local:8084" 
  28. --- 
  29. apiVersion: traefik.containo.us/v1alpha1 
  30. kind: IngressRoute 
  31. metadata: 
  32.   name: linkerd-web-ingress-route 
  33.   namespace: linkerd-viz 
  34. spec: 
  35.   entryPoints: 
  36.     - websecure 
  37.   tls: 
  38.     secretName: hacker-linner-cert-tls 
  39.   routes: 
  40.     - match: Host(`linkerd-web.hacker-linner.com`) 
  41.       kind: Rule 
  42.       services: 
  43.         - name: web 
  44.           port: 8084 
  45.       middlewares: 
  46.         - name: l5d-header-middleware 
  47.         - name: linkerd-basic-auth 

部署:

  1. kubectl apply -f ingressroute-viz.yaml 

 

部署 emojivoto

運(yùn)行如下命令:

  1. curl -sL https://run.linkerd.io/emojivoto.yml \ 
  2.   | kubectl apply -f 

審查部署:

  1. kubectl get po -n  emojivoto 
  2. OR 
  3. # docker pull docker.l5d.io/buoyantio/emojivoto-emoji-svc:v11 
  4. # docker pull docker.l5d.io/buoyantio/emojivoto-web:v11 
  5. # docker pull docker.l5d.io/buoyantio/emojivoto-voting-svc:v11 
  6.  
  7. emoji-6b776684f5-nnflg      1/1     Running   0          6m4s 
  8. vote-bot-64695c4dc6-jn8ln   1/1     Running   0          6m4s 
  9. voting-7778876bdb-kdvsx     1/1     Running   0          6m4s 
  10. web-6f8d774656-9dsw7        1/1     Running   0          6m4s 

設(shè)置 Ingressroute

這里是:https://emojivoto.hacker-linner.com

  1. emojivoto-ingressroute.yaml 
  1. apiVersion: traefik.containo.us/v1alpha1 
  2. kind: IngressRoute 
  3. metadata: 
  4.   name: emojivoto-web-ingress-route 
  5.   namespace: emojivoto 
  6. spec: 
  7.   entryPoints: 
  8.     - websecure 
  9.   tls: 
  10.     secretName: hacker-linner-cert-tls 
  11.   routes: 
  12.     - match: Host(`emojivoto.hacker-linner.com`) 
  13.       kind: Rule 
  14.       services: 
  15.         - name: web-svc 
  16.           port: 80 

 

Service Mesh(Linkerd) 注入

添加 Linkerd 到 emojivoto:

  1. kubectl get -n emojivoto deploy -o yaml \ 
  2.   | linkerd inject - \ 
  3.   | kubectl apply -f - 

審查一下是否一切正常:

  1. linkerd -n emojivoto check --proxy 

回到面板查看 emojivoto:

完美搞定,一切正常。

最后看一下 Grafana 面板:

Refs

  • What's a service mesh? And why do I need one?
  • https://buoyant.io/2020/10/12/what-is-a-service-mesh
  • 快速上手 Linkerd v2 Service Mesh(服務(wù)網(wǎng)格)
  • Getting Started
  • https://linkerd.io/2.10/getting-started

 

責(zé)任編輯:姜華 來源: 黑客下午茶
相關(guān)推薦

2021-10-31 20:56:25

Mesh ServiceAPI

2023-09-06 08:12:04

k8s云原生

2022-08-21 07:17:16

LinkerdKubernetes服務(wù)網(wǎng)格

2021-12-08 17:54:55

架構(gòu)控制平面

2021-06-05 10:16:55

Linkerd 服務(wù)網(wǎng)格Kubernetes

2022-11-06 21:31:11

云原生Sentinel集群模式

2023-03-01 07:42:12

HBase編排部署數(shù)據(jù)

2023-08-03 08:36:30

Service服務(wù)架構(gòu)

2021-11-04 07:49:58

K8SStatefulSetMySQL

2023-02-27 07:40:00

2021-08-13 07:00:41

云原生k8sspringboot

2021-08-26 07:20:05

云原生K8sSpringboot

2021-12-11 22:21:00

服務(wù)配置文件

2021-12-10 18:19:14

授權(quán) Linkerd策略

2022-01-02 08:42:50

架構(gòu)部署容器

2019-03-27 11:37:43

RancherK8S混合云

2023-03-06 07:19:50

2023-11-27 13:54:00

kubernetes高可用

2023-03-05 21:50:46

K8s集群容量

2023-09-03 23:58:23

k8s集群容量
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

av中文字幕在线免费观看| 亚洲欧洲一区二区三区在线观看| www.日韩欧美| 成人免费毛片网| 国产露脸91国语对白| 日韩一级电影| 成人高清视频在线观看| y97精品国产97久久久久久| 国产黄色一区二区三区| 欧美日韩在线资源| 国产一区二区三区91| 亚洲一区二区三区三| 国产主播欧美精品| 国产又黄又粗又猛又爽的| 自拍偷拍欧美视频| 91蝌蚪porny九色| 91精品国产91久久久久福利| 91成人在线观看喷潮蘑菇| 国产传媒在线播放| 狠狠久久亚洲欧美| 色诱女教师一区二区三区| 亚洲色精品三区二区一区| 清纯唯美亚洲色图| 亚洲综合日本| 亚洲欧洲在线观看| 色欲无码人妻久久精品| 1区2区3区在线视频| 国产成人精品免费| 欧美激情中文网| 特级特黄刘亦菲aaa级| 变态调教一区二区三区| jizz一区二区| 欧美综合在线第二页| 少妇毛片一区二区三区| 国产精品亚洲一区二区三区在线观看| 久久精品一区二区三区不卡牛牛| 日本中文字幕久久看| 无码人妻丰满熟妇啪啪欧美| 周于希免费高清在线观看| 久久夜色精品一区| 国产欧美精品va在线观看| 国产精品国产精品88| 试看120秒一区二区三区| 亚洲午夜久久久久久久久电影网 | 97成人超碰视| 情事1991在线| 国产第一页第二页| 免费毛片在线不卡| 欧美日韩免费在线视频| 国内自拍中文字幕| 亚洲aⅴ乱码精品成人区| 噜噜噜在线观看免费视频日韩| 亚洲天堂网站在线观看视频| 激情黄色小视频| 四虎亚洲成人| 久久在线免费观看| 精品无人乱码一区二区三区的优势 | 欧美精品在线视频观看| 国产亚洲精品成人a| 国产亚洲观看| 日韩欧美黄色动漫| 亚洲日本欧美在线| 人妻无码一区二区三区久久99| 日日夜夜精品视频免费| 久久福利网址导航| 极品久久久久久| 香蕉久久夜色精品国产使用方法 | 国产精品v亚洲精品v日韩精品| 亚洲精品国偷自产在线99热| 簧片在线免费看| 欧美人体视频xxxxx| 久久久久99精品一区| 欧美黄色直播| 国产极品久久久| 国产乱国产乱300精品| 青青草原一区二区| 无码人妻精品一区二区蜜桃色欲| 欧美国产免费| 中文字幕久久久| 性久久久久久久久久久| 国产一区二区av在线| 欧美一级专区免费大片| 久久精品影视大全| 久草在线中文最新视频| 亚洲精品乱码久久久久久黑人| 欧美极品一区二区| 自拍视频在线网| 国产视频在线观看一区二区三区| 国产伦精品一区二区三区视频孕妇| 一级黄色片在线播放| 久久在线91| 51精品在线观看| 精品无码黑人又粗又大又长| 91高清一区| 在线播放国产一区二区三区| 成人免费无遮挡无码黄漫视频| 国产精品nxnn| 精品成人免费观看| 18深夜在线观看免费视频| 国产精品宾馆| www国产精品视频| 日本少妇在线观看| 精品成人一区| 久久久久久一区二区三区| 探花视频在线观看| 免费日韩av片| 91探花福利精品国产自产在线| 亚洲精品国产欧美在线观看| 美女视频一区免费观看| 成人免费直播live| 国产老妇伦国产熟女老妇视频| www.av亚洲| 中文字幕一区二区三区5566| 色大18成网站www在线观看| 国产日韩欧美麻豆| www.日本三级| 蜜臀av在线| 欧美在线一二三四区| 亚洲欧美久久久久| 日日夜夜综合| 欧美一区二区在线视频| 中文字幕丰满孑伦无码专区| 亚洲一区在线| 色综合老司机第九色激情| 免费中文字幕视频| 在线成人av| 91最新国产视频| 亚洲第一视频在线| 成人动漫一区二区| 久久av秘一区二区三区| 91香蕉在线观看| 在线观看网站黄不卡| 精品中文字幕在线播放| 欧美猛男同性videos| 欧美激情一二区| www.久久久久久| 91年精品国产| 尤物av无码色av无码| 另类专区亚洲| 日韩国产在线看| mm131美女视频| 中文亚洲欧美| 国产日韩欧美夫妻视频在线观看 | 成人av动漫在线| 日本a在线天堂| 玖玖在线播放| 亚洲精品成人久久电影| 日韩av女优在线观看| 国产高清精品久久久久| 久草热久草热线频97精品| 国产视频二区在线观看| 亚洲日本青草视频在线怡红院| 日韩网站在线免费观看| 日韩av免费| 国产午夜精品一区理论片飘花| 天天爽夜夜爽人人爽| 国产视频视频一区| 艹b视频在线观看| 国产精品久久久久久影院8一贰佰 国产精品久久久久久麻豆一区软件 | 国产精品熟女久久久久久| 国产精品久久久久久久岛一牛影视| 小泽玛利亚av在线| 国产一区二区在线观| 欧美多人乱p欧美4p久久| 成人久久精品人妻一区二区三区| 久久伊人蜜桃av一区二区| 成人毛片一区二区| 国产精品xnxxcom| 欧美人成在线视频| 中文字幕一区二区在线视频| 国产成人综合网| 99er在线视频| 欧美久久精品| 欧美激情xxxx| 亚洲三级黄色片| 色婷婷av一区| 日韩综合第一页| 国产精品久久久久久久久久10秀| 亚洲va久久久噜噜噜| 毛片网站在线看| 亚洲美女视频网站| 精品无码久久久久| 久久久综合视频| 在线观看亚洲色图| 欧美另类视频| 91免费高清视频| a级片在线免费观看| 69成人精品免费视频| 久久亚洲无码视频| 国产又粗又猛又爽又黄91精品| 视频一区二区精品| 樱桃视频成人在线观看| 色午夜这里只有精品| 亚洲精品成人电影| 欧美亚洲高清一区| www.中文字幕av| 国产日本精品| 一道精品一区二区三区| 国产精品xxx在线观看| 国产精品久久久久久久久久久新郎 | 日韩国产精品久久久| 菠萝蜜视频在线观看入口| 精品在线观看入口| 动漫精品视频| 欧美xxxx做受欧美88bbw| 亚洲欧洲免费视频| 超碰在线播放97| 欧美三级中文字幕| 在线免费观看视频| 成人午夜电影小说| 欧美深夜福利视频| 色天天久久综合婷婷女18| 国产精品情侣自拍| 网友自拍视频在线| 精品视频偷偷看在线观看 | 日本二三区不卡| 国产一级性生活| 亚洲欧美偷拍三级| 日本免费www| 日韩高清一级片| 搞av.com| 曰本一区二区三区视频| 日韩美女在线看| 国产蜜臀av在线播放| 最近中文字幕日韩精品| 黄色在线播放| 欧美日韩亚洲综合一区| 91看片在线播放| 国产偷国产偷亚洲高清人白洁| 好吊操视频这里只有精品| 美国av一区二区| 亚洲啊啊啊啊啊| 国产精品伦理久久久久久| 天堂av一区二区| 国产欧美一区| 欧美人xxxxx| 天堂av一区二区三区在线播放 | 午夜精品久久久久久久99热黄桃| 欧美日韩一区二区三区四区| 伦av综合一区| 中文字幕视频一区二区三区久| 亚洲在线观看网站| 亚洲精品女人| 日韩精品一区二区三区四区五区| 日本成人在线网站| 国产精品久久久久久网站| 电影一区二区三| 国产999在线| 成人开心激情| 国产精品美女在线| 成人国产精品一区二区免费麻豆 | 日韩av高清在线播放| 国产伦精品一区二区三区视频| 欧美亚洲丝袜| 欧美aaa大片视频一二区| 精品国产一区二区三区久久久狼| 啊v在线视频| 精品福利一区二区三区 | 亚洲欧美国产va在线影院| 久久综合九色综合久| 91精品国产麻豆| 国产av无码专区亚洲av麻豆| 日韩丝袜美女视频| 日韩乱码一区二区三区| 在线观看www91| 一级黄色免费看| 日韩欧美中文字幕一区| 隣の若妻さん波多野结衣| 亚洲国产精品成人一区二区| 在线免费av片| 欧美视频裸体精品| 亚洲天堂视频在线播放| 91麻豆精品国产91久久久更新时间 | 欧美三级日韩在线| 国产福利免费视频| 日韩av在线网页| 91在线不卡| 九九视频直播综合网| 日韩欧美精品一区二区三区| 国产精品九九久久久久久久| 国产亚洲字幕| 欧美成ee人免费视频| 精品精品国产三级a∨在线| 成人午夜激情免费视频| 视频在线亚洲| 欧美日韩一区综合| 999久久久精品国产| 日韩影片在线播放| 中文字幕一区二区三区在线视频| 欧美一级视频在线播放| 奇米精品一区二区三区四区| 欧美牲交a欧美牲交aⅴ免费真| 国产主播一区| 99久久国产宗和精品1上映| 国内精品久久久久影院色 | 亚洲国产激情av| 欧美丰满少妇人妻精品| 成人少妇影院yyyy| 一区二区三区伦理片| 夜夜精品视频一区二区 | 99久久精品网| 国产二区视频在线播放| 国产在线国偷精品产拍免费yy| 亚洲制服丝袜在线播放| 日韩美女视频一区二区 | 羞羞网站在线免费观看| 国产aaa精品| 国产色噜噜噜91在线精品 | 韩国一区二区三区美女美女秀| 欧美呦呦网站| 亚洲精品国产一区| 国产精品91一区二区三区| 欧美激情 国产精品| 国产美女精品一区二区三区| 无码人妻精品一区二区中文| 亚洲香蕉伊在人在线观| 91tv国产成人福利| 亚洲人在线视频| 春色校园综合激情亚洲| 亚洲**2019国产| 日韩成人动漫| 国产精品欧美激情| 成人午夜大片| 欧美福利一区二区三区| 欧美午夜在线视频| 911福利视频| 中文字幕欧美日韩一区| 久久久久久久久久久影院| 精品三级在线观看| 性感美女福利视频| 久久久久久香蕉网| 久久久久久久久成人| 国产精选一区二区| 欧美成人久久| 日韩av自拍偷拍| 成+人+亚洲+综合天堂| 欧美日韩免费做爰视频| 精品成人乱色一区二区| 国产91av在线播放| 亚洲欧美日韩国产中文| 波多野结衣亚洲一二三| 久久99精品久久久久久秒播放器 | 三级a三级三级三级a十八发禁止| 97久久超碰国产精品电影| 国产精品老女人| 欧美午夜一区二区| 国产精品ⅴa有声小说| 日本一区二区在线播放| 精品一区免费| 国产一区视频免费观看| 免费成人美女在线观看| 国产吃瓜黑料一区二区| 亚洲一区自拍偷拍| 亚洲欧美另类一区| 国内精品中文字幕| 亚洲人成网站在线在线观看| 国产女主播一区二区| 欧美精选视频在线观看| 免费特级黄色片| 9人人澡人人爽人人精品| 一级片免费网址| 亚洲美女www午夜| 国产一区影院| 久久久精品有限公司| 美女尤物久久精品| 欧美黄色高清视频| 欧美精品乱人伦久久久久久| 神马午夜一区二区| 免费91麻豆精品国产自产在线观看| 色综合.com| 国产精品国产三级国产专区51| www.av亚洲| 国产偷人爽久久久久久老妇app| 色七七影院综合| 97品白浆高清久久久久久| 国产深夜男女无套内射| 久久精品人人做人人爽人人| 中文字幕永久在线观看| 久久久久久久久爱| 久久99高清| 深爱五月综合网| 精品福利在线看| 日韩伦理在线电影| 国产欧美日韩一区| 日韩va亚洲va欧美va久久| 国产精品视频在| 欧美影院一区二区三区| 在线观看三级视频| 欧美国产综合视频| 国产乱码精品一品二品| 在线视频一区二区三区四区| 色噜噜狠狠狠综合曰曰曰| 亚洲精品在线国产| 亚洲高潮无码久久| 91啦中文在线观看| 国产白浆在线观看| 国产精品久久一区| 韩国欧美一区| 国产成人精品视频免费| 亚洲精品久久久久久久久久久久 |