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

K8s使用新版NFS Provisioner配置Subdir

存儲
NFS在k8s中作為volume存儲已經沒有什么新奇的了,這個是最簡單也是最容易上手的一種文件存儲。最近有一個需求需要在k8s中使用NFS存儲,于是記錄如下,并且還存在一些騷操作和過程中遇到的坑點,同時記錄如下。

[[415487]]

本文轉載自微信公眾號「運維開發故事」,作者小姜。轉載本文請聯系運維開發故事公眾號。

背景

NFS在k8s中作為volume存儲已經沒有什么新奇的了,這個是最簡單也是最容易上手的一種文件存儲。最近有一個需求需要在k8s中使用NFS存儲,于是記錄如下,并且還存在一些騷操作和過程中遇到的坑點,同時記錄如下。

訪問nfs provisioner的GitHub倉庫會發現他提示你該倉庫已經被個人歸檔并且狀態已經是只讀了。

老的NFS倉庫地址:https://github.com/kubernetes-retired/external-storage/tree/master/nfs-client

下面Deprecated表示倉庫已經移動到了另外一個GitHub地址了,也就是說他這個倉庫已經不在更新了,持續更新的倉庫是Moved to 后面指定的倉庫了。

新倉庫地址:https://github.com/lorenzofaresin/nfs-subdir-external-provisioner

發現更新的倉庫中相比老倉庫多了一個功能:添加了一個參數pathPattern,實際上也就是通過設置這個參數可以配置PV的子目錄。

nfs-client-provisioner部署

帶著好奇心我們來部署一下新的NFS,以下yaml配置文件可以在項目中的deploy目錄中找到。我這里的配置根據我的環境稍微做了更改,比如NFS的服務的IP地址。你們根據實際情況修改成自己的nfs服務器地址和path路徑。

「本次實踐在k8s 1.19.0上」

class.yaml

  1. $ cat class.yaml 
  2. apiVersion: storage.k8s.io/v1 
  3. kind: StorageClass 
  4. metadata: 
  5.   name: managed-nfs-storage 
  6. provisioner: k8s-sigs.io/nfs-subdir-external-provisioner # or choose another name, must match deployment's env PROVISIONER_NAME' 
  7. parameters: 
  8.   archiveOnDelete: "false" 

deployment.yaml

  1. apiVersion: apps/v1 
  2. kind: Deployment 
  3. metadata: 
  4.   name: nfs-client-provisioner 
  5.   labels: 
  6.     app: nfs-client-provisioner 
  7.   # replace with namespace where provisioner is deployed 
  8.   namespace: kube-system 
  9. spec: 
  10.   replicas: 1 
  11.   strategy: 
  12.     type: Recreate 
  13.   selector: 
  14.     matchLabels: 
  15.       app: nfs-client-provisioner 
  16.   template: 
  17.     metadata: 
  18.       labels: 
  19.         app: nfs-client-provisioner 
  20.     spec: 
  21.       serviceAccountName: nfs-client-provisioner 
  22.       containers: 
  23.         - name: nfs-client-provisioner 
  24.           image: k8s.gcr.io/sig-storage/nfs-subdir-external-provisioner:v4.0.2 
  25.           volumeMounts: 
  26.             - name: nfs-client-root 
  27.               mountPath: /persistentvolumes 
  28.           env: 
  29.             - name: PROVISIONER_NAME 
  30.               value: k8s-sigs.io/nfs-subdir-external-provisioner 
  31.             - name: NFS_SERVER 
  32.               value: 172.16.33.4 
  33.             - name: NFS_PATH 
  34.               value: / 
  35.       volumes: 
  36.         - name: nfs-client-root 
  37.           nfs: 
  38.             server: 172.16.33.4 
  39.             path: / 

rbac.yaml

  1. apiVersion: v1 
  2. kind: ServiceAccount 
  3. metadata: 
  4.   name: nfs-client-provisioner 
  5.   # replace with namespace where provisioner is deployed 
  6.   namespace: kube-system 
  7. --- 
  8. kind: ClusterRole 
  9. apiVersion: rbac.authorization.k8s.io/v1 
  10. metadata: 
  11.   name: nfs-client-provisioner-runner 
  12. rules: 
  13.   - apiGroups: [""
  14.     resources: ["nodes"
  15.     verbs: ["get""list""watch"
  16.   - apiGroups: [""
  17.     resources: ["persistentvolumes"
  18.     verbs: ["get""list""watch""create""delete"
  19.   - apiGroups: [""
  20.     resources: ["persistentvolumeclaims"
  21.     verbs: ["get""list""watch""update"
  22.   - apiGroups: ["storage.k8s.io"
  23.     resources: ["storageclasses"
  24.     verbs: ["get""list""watch"
  25.   - apiGroups: [""
  26.     resources: ["events"
  27.     verbs: ["create""update""patch"
  28. --- 
  29. kind: ClusterRoleBinding 
  30. apiVersion: rbac.authorization.k8s.io/v1 
  31. metadata: 
  32.   name: run-nfs-client-provisioner 
  33. subjects: 
  34.   - kind: ServiceAccount 
  35.     name: nfs-client-provisioner 
  36.     # replace with namespace where provisioner is deployed 
  37.     namespace: kube-system 
  38. roleRef: 
  39.   kind: ClusterRole 
  40.   name: nfs-client-provisioner-runner 
  41.   apiGroup: rbac.authorization.k8s.io 
  42. --- 
  43. kind: Role 
  44. apiVersion: rbac.authorization.k8s.io/v1 
  45. metadata: 
  46.   name: leader-locking-nfs-client-provisioner 
  47.   # replace with namespace where provisioner is deployed 
  48.   namespace: kube-system 
  49. rules: 
  50.   - apiGroups: [""
  51.     resources: ["endpoints"
  52.     verbs: ["get""list""watch""create""update""patch"
  53. --- 
  54. kind: RoleBinding 
  55. apiVersion: rbac.authorization.k8s.io/v1 
  56. metadata: 
  57.   name: leader-locking-nfs-client-provisioner 
  58.   # replace with namespace where provisioner is deployed 
  59.   namespace: kube-system 
  60. subjects: 
  61.   - kind: ServiceAccount 
  62.     name: nfs-client-provisioner 
  63.     # replace with namespace where provisioner is deployed 
  64.     namespace: kube-system 
  65. roleRef: 
  66.   kind: Role 
  67.   name: leader-locking-nfs-client-provisioner 
  68.   apiGroup: rbac.authorization.k8s.io 

注意:

  • 鏡像無法拉取的話可以從國外機器拉取鏡像然后再導入
  • rbac基本無需更改,配置子目錄的時候需要更改class.yaml文件,后面會說

創建所有資源文件

  1. kubectl apply -f class.yaml -f deployment.yaml -f rbac.yaml 

通過一個簡單的例子來創建pvc

  1. $ cat test-pvc-2.yaml 
  2. kind: PersistentVolumeClaim 
  3. apiVersion: v1 
  4. metadata: 
  5.   name: test-pvc-2 
  6.   namespace: nacos 
  7. spec: 
  8.   storageClassName: "managed-nfs-storage" 
  9.   accessModes: 
  10.     - ReadWriteMany 
  11.   resources: 
  12.     requests: 
  13.       storage: 10Gi 
  14.  
  15. $ cat test-nacos-pod-2.yaml 
  16. apiVersion: apps/v1 
  17. kind: StatefulSet 
  18. metadata: 
  19.   name: nacos-c1-sit-tmp-1 
  20.   labels: 
  21.     appEnv: sit 
  22.     appName: nacos-c1-sit-tmp-1 
  23.   namespace: nacos 
  24. spec: 
  25.   serviceName: nacos-c1-sit-tmp-1 
  26.   replicas: 3 
  27.   selector: 
  28.     matchLabels: 
  29.       appEnv: sit 
  30.       appName: nacos-c1-sit-tmp-1 
  31.   template: 
  32.     metadata: 
  33.       labels: 
  34.         appEnv: sit 
  35.         appName: nacos-c1-sit-tmp-1 
  36.     spec: 
  37.       dnsPolicy: ClusterFirst 
  38.       containers: 
  39.       - name: nacos 
  40.         image: www.ayunw.cn/library/nacos/nacos-server:1.4.1 
  41.         ports: 
  42.         - containerPort: 8848 
  43.         env: 
  44.         - name: NACOS_REPLICAS 
  45.           value: "1" 
  46.         - name: MYSQL_SERVICE_HOST 
  47.           value: mysql.ayunw.cn 
  48.         - name: MYSQL_SERVICE_DB_NAME 
  49.           value: nacos_c1_sit 
  50.         - name: MYSQL_SERVICE_PORT 
  51.           value: "3306" 
  52.         - name: MYSQL_SERVICE_USER 
  53.           value: nacos 
  54.         - name: MYSQL_SERVICE_PASSWORD 
  55.           value: xxxxxxxxx 
  56.         - name: MODE 
  57.           value: cluster 
  58.         - name: NACOS_SERVER_PORT 
  59.           value: "8848" 
  60.         - name: PREFER_HOST_MODE 
  61.           value: hostname 
  62.         - name: SPRING_DATASOURCE_PLATFORM 
  63.           value: mysql 
  64.         - name: TOMCAT_ACCESSLOG_ENABLED 
  65.           value: "true" 
  66.         - name: NACOS_AUTH_ENABLE 
  67.           value: "true" 
  68.         - name: NACOS_SERVERS 
  69.           value: nacos-c1-sit-0.nacos-c1-sit-tmp-1.nacos.svc.cluster.local:8848 nacos-c1-sit-1.nacos-c1-sit-tmp-1.nacos.svc.cluster.local:8848 nacos-c1-sit-2.nacos-c1-sit-tmp-1.nacos.svc.cluster.local:8848 
  70.         imagePullPolicy: IfNotPresent 
  71.         resources: 
  72.           limits: 
  73.             cpu: 500m 
  74.             memory: 5Gi 
  75.           requests: 
  76.             cpu: 100m 
  77.             memory: 512Mi 
  78.         volumeMounts: 
  79.         - name: data 
  80.           mountPath: /home/nacos/plugins/peer-finder 
  81.           subPath: peer-finder 
  82.         - name: data 
  83.           mountPath: /home/nacos/data 
  84.           subPath: data 
  85.   volumeClaimTemplates: 
  86.     - metadata: 
  87.         name: data 
  88.       spec: 
  89.         storageClassName: "managed-nfs-storage" 
  90.         accessModes: 
  91.           - "ReadWriteMany" 
  92.         resources: 
  93.           requests: 
  94.             storage: 10Gi 

查看pvc以及nfs存儲中的數據

  1. # ll 
  2. total 12 
  3. drwxr-xr-x 4 root root 4096 Aug  3 13:30 nacos-data-nacos-c1-sit-tmp-1-0-pvc-90d74547-0c71-4799-9b1c-58d80da51973 
  4. drwxr-xr-x 4 root root 4096 Aug  3 13:30 nacos-data-nacos-c1-sit-tmp-1-1-pvc-18b3e220-d7e5-4129-89c4-159d9d9f243b 
  5. drwxr-xr-x 4 root root 4096 Aug  3 13:31 nacos-data-nacos-c1-sit-tmp-1-2-pvc-26737f88-35cd-42dc-87b6-3b3c78d823da 
  6.  
  7. # ll nacos-data-nacos-c1-sit-tmp-1-0-pvc-90d74547-0c71-4799-9b1c-58d80da51973 
  8. total 8 
  9. drwxr-xr-x 2 root root 4096 Aug  3 13:30 data 
  10. drwxr-xr-x 2 root root 4096 Aug  3 13:30 peer-finder 

可以發現手動創建了一個PVC,并且創建一個nacos的deployment使用這個PVC后已經自動創建出相應的PV并且與之綁定,且掛載了數據。

配置子目錄

刪除之前創建的class.yaml,添加pathPattern參數,然后重新生成sc

  1. $ kubectl delete -f class.yaml 
  2.  
  3. $ vi class.yaml 
  4. apiVersion: storage.k8s.io/v1 
  5. kind: StorageClass 
  6. metadata: 
  7.   name: managed-nfs-storage 
  8. provisioner: k8s-sigs.io/nfs-subdir-external-provisioner # or choose another name, must match deployment's env PROVISIONER_NAME' 
  9. parameters: 
  10.   archiveOnDelete: "false" 
  11.   # 添加以下參數 
  12.   pathPattern: "${.PVC.namespace}/${.PVC.annotations.nfs.io/storage-path}" 

創建pvc來測試生成的PV目錄是否生成了子目錄

  1. $ cat test-pvc.yaml 
  2. kind: PersistentVolumeClaim 
  3. apiVersion: v1 
  4. metadata: 
  5.   name: test-pvc-2 
  6.   namespace: nacos 
  7.   annotations: 
  8.     nfs.io/storage-path: "test-path-two" # not required, depending on whether this annotation was shown in the storage class description 
  9. spec: 
  10.   storageClassName: "managed-nfs-storage" 
  11.   accessModes: 
  12.     - ReadWriteMany 
  13.   resources: 
  14.     requests: 
  15.       storage: 100Mi 

創建資源

  1. kubectl apply -f class.yaml -f test-pvc.yaml 

查看結果

  1. # pwd 
  2. /data/nfs# ll nacos/ 
  3. total 4 
  4. drwxr-xr-x 2 root root 4096 Aug  3 10:21 nacos-pvc-c1-pro 
  5.  
  6. # tree -L 2 . 
  7. └── nacos 
  8.     └── nacos-pvc-c1-pro 
  9. 2 directories, 0 files 

在mount了nfs的機器上查看生成的目錄,發現子目錄的確已經生成,并且子目錄的層級是以"命名空間/注解名稱"為規則的。剛好符合了上面StorageClass中定義的pathPattern規則。

provisioner高可用

生產環境中應該盡可能的避免單點故障,因此此處考慮provisioner的高可用架構 更新后的provisioner配置如下:

  1. $ cat nfs-deployment.yaml 
  2. apiVersion: apps/v1 
  3. kind: Deployment 
  4. metadata: 
  5.   name: nfs-client-provisioner 
  6.   labels: 
  7.     app: nfs-client-provisioner 
  8.   # replace with namespace where provisioner is deployed 
  9.   namespace: kube-system 
  10. spec: 
  11.   # 因為要實現高可用,所以配置3個pod副本 
  12.   replicas: 3 
  13.   strategy: 
  14.     type: Recreate 
  15.   selector: 
  16.     matchLabels: 
  17.       app: nfs-client-provisioner 
  18.   template: 
  19.     metadata: 
  20.       labels: 
  21.         app: nfs-client-provisioner 
  22.     spec: 
  23.       serviceAccountName: nfs-client-provisioner 
  24.       imagePullSecrets: 
  25.         - name: registry-auth-paas 
  26.       containers: 
  27.         - name: nfs-client-provisioner 
  28.           image: www.ayunw.cn/nfs-subdir-external-provisioner:v4.0.2-31-gcb203b4 
  29.           imagePullPolicy: IfNotPresent 
  30.           volumeMounts: 
  31.             - name: nfs-client-root 
  32.               mountPath: /persistentvolumes 
  33.           env: 
  34.             - name: PROVISIONER_NAME 
  35.               value: k8s-sigs.io/nfs-subdir-external-provisioner 
  36.               # 設置高可用允許選舉 
  37.             - name: ENABLE_LEADER_ELECTION 
  38.               value: "True" 
  39.             - name: NFS_SERVER 
  40.               value: 172.16.33.4 
  41.             - name: NFS_PATH 
  42.               value: / 
  43.       volumes: 
  44.         - name: nfs-client-root 
  45.           nfs: 
  46.             server: 172.16.33.4 
  47.             path: / 

重建資源

  1. kubectl delete -f nfs-class.yaml -f nfs-deployment.yaml 
  2. kubectl apply -f nfs-class.yaml -f nfs-deployment.yaml 

查看provisioner高可用是否生效

  1. # kubectl get po -n kube-system | grep nfs 
  2. nfs-client-provisioner-666df4d979-fdl8l    1/1     Running   0          20s 
  3. nfs-client-provisioner-666df4d979-n54ps    1/1     Running   0          20s 
  4. nfs-client-provisioner-666df4d979-s4cql    1/1     Running   0          20s 
  5. # kubectl logs -f --tail=20 nfs-client-provisioner-666df4d979-fdl8l -n kube-system 
  6. I0803 06:04:41.406441       1 leaderelection.go:242] attempting to acquire leader lease  kube-system/nfs-provisioner-baiducfs... 
  7. ^C 
  8. # kubectl logs -f --tail=20  -n kube-system nfs-client-provisioner-666df4d979-n54ps 
  9. I0803 06:04:41.961617       1 leaderelection.go:242] attempting to acquire leader lease  kube-system/nfs-provisioner-baiducfs... 
  10. ^C 
  11. [root@qing-core-kube-master-srv1 nfs-storage]# kubectl logs -f --tail=20  -n kube-system nfs-client-provisioner-666df4d979-s4cql 
  12. I0803 06:04:39.574258       1 leaderelection.go:242] attempting to acquire leader lease  kube-system/nfs-provisioner-baiducfs... 
  13. I0803 06:04:39.593388       1 leaderelection.go:252] successfully acquired lease kube-system/nfs-provisioner-baiducfs 
  14. I0803 06:04:39.593519       1 event.go:278] Event(v1.ObjectReference{Kind:"Endpoints", Namespace:"kube-system"Name:"nfs-provisioner-baiducfs", UID:"3d5cdef6-57da-445e-bcd4-b82d0181fee4", APIVersion:"v1", ResourceVersion:"1471379708", FieldPath:""}): type: 'Normal' reason: 'LeaderElection' nfs-client-provisioner-666df4d979-s4cql_590ac6eb-ccfd-4653-9de5-57015f820b84 became leader 
  15. I0803 06:04:39.593559       1 controller.go:820] Starting provisioner controller nfs-provisioner-baiducfs_nfs-client-provisioner-666df4d979-s4cql_590ac6eb-ccfd-4653-9de5-57015f820b84! 
  16. I0803 06:04:39.694505       1 controller.go:869] Started provisioner controller nfs-provisioner-baiducfs_nfs-client-provisioner-666df4d979-s4cql_590ac6eb-ccfd-4653-9de5-57015f820b84! 

通過successfully acquired lease kube-system/nfs-provisioner-baiducfs可以看到第三個pod成功被選舉為leader節點了,高可用生效。

報錯

在操作過程中遇到describe pod發現報錯如下:

  1. Mounting arguments: --description=Kubernetes transient mount for /data/kubernetes/kubelet/pods/2ca70aa9-433c-4d10-8f87-154ec9569504/volumes/kubernetes.io~nfs/nfs-client-root --scope -- mount -t nfs 172.16.41.7:/data/nfs_storage /data/kubernetes/kubelet/pods/2ca70aa9-433c-4d10-8f87-154ec9569504/volumes/kubernetes.io~nfs/nfs-client-root 
  2. Output: Running scope as unit: run-rdcc7cfa6560845969628fc551606e69d.scope 
  3. mount: /data/kubernetes/kubelet/pods/2ca70aa9-433c-4d10-8f87-154ec9569504/volumes/kubernetes.io~nfs/nfs-client-root: bad optionfor several filesystems (e.g. nfs, cifs) you might need a /sbin/mount.<type> helper program. 
  4.   Warning  FailedMount  10s  kubelet, node1.ayunw.cn  MountVolume.SetUp failed for volume "nfs-client-root" : mount failed: exit status 32 
  5. Mounting command: systemd-run 

解決方式:經排查原因是pod被調度到的節點上沒有安裝nfs客戶端,只需要安裝一下nfs客戶端nfs-utils即可。

 

責任編輯:武曉燕 來源: 運維開發故事
相關推薦

2023-08-04 08:19:02

2022-04-22 13:32:01

K8s容器引擎架構

2023-11-06 07:16:22

WasmK8s模塊

2022-06-14 07:56:15

Kubernetes存儲架構K8S

2023-09-06 08:12:04

k8s云原生

2021-07-14 14:20:22

root命令Linux

2025-05-22 08:05:00

K8SNFS 存儲存儲

2025-04-09 07:58:15

2020-05-12 10:20:39

K8s kubernetes中間件

2022-09-05 08:26:29

Kubernetes標簽

2023-08-03 08:36:30

Service服務架構

2023-05-25 21:38:30

2019-09-25 07:17:42

KubernetesIstio測試

2023-09-15 08:00:20

Ingress網關Istio

2025-09-05 01:22:00

2023-03-05 21:50:46

K8s集群容量

2022-12-06 07:30:12

K8s云原生生態系統

2021-12-03 06:29:56

K8sDubboSpring

2021-04-12 20:42:50

K8S端口內存

2024-01-26 14:35:03

鑒權K8sNode
點贊
收藏

51CTO技術棧公眾號

二区三区四区高清视频在线观看| 国产亚洲精品一区二区| 青草国产精品久久久久久| 国产精品suv一区| 91精品中文在线| 国产精品一二三| 精品无人乱码| 国产二级片在线观看| 日韩精品一区二区三区四区| 精品福利电影| 欧美午夜黄色| 精品人妻中文无码av在线| 国产1区2区3区在线| 久久精品国产亚洲a| 国产精品入口麻豆原神| 欧美大片免费观看在线观看网站推荐| 亚洲精品乱码久久久久久久| 欧美aaa级| 一个色综合av| 亚洲不卡一卡2卡三卡4卡5卡精品| 国产情侣小视频| 亚洲成人直播| 久久久精品国产网站| 香蕉网在线播放| 欧美9999| 欧美三级韩国三级日本一级| 亚洲 自拍 另类小说综合图区| 1024视频在线| 久久久久久久久久看片| 99re视频| 国产免费黄色录像| 日韩成人av影视| 97超级碰碰碰久久久| 久热这里有精品| 日韩伦理一区| 亚洲香蕉成人av网站在线观看| 美女扒开腿免费视频| 欧美成人aaa| 天天影视涩香欲综合网 | 国产aa精品| 色婷婷综合久久久中文一区二区| 亚洲色欲久久久综合网东京热| 亚洲成人三级| 中日韩av电影| 午夜精品一区二区三区在线观看 | 最近2019年好看中文字幕视频| 天天插天天射天天干| 2020国产精品极品色在线观看| 欧美日韩免费高清一区色橹橹| 99热成人精品热久久66| zzzwww在线看片免费| 亚洲一区二区三区美女| 大桥未久一区二区三区| 毛片av在线| 一色屋精品亚洲香蕉网站| 亚洲欧美成人一区| 亚洲搞黄视频| 亚洲狼人国产精品| 成人毛片100部免费看| 性爱视频在线播放| 亚洲一区二区在线视频| 免费拍拍拍网站| 日本理论片午伦夜理片在线观看| 亚洲美女在线国产| 蜜臀av性久久久久蜜臀av| 97超碰资源站在线观看| 亚洲精品国产高清久久伦理二区| 精品免费久久久久久久| 欧美性爽视频| 精品国产91久久久久久老师| 麻豆传传媒久久久爱| 精品成人av| 欧美老年两性高潮| 久久久久久久久久久影视| 91成人噜噜噜在线播放| 亚洲精品国产福利| 老熟妇一区二区| 欧美电影免费| 欧美激情伊人电影| 日韩精品一区二区三| 三级在线观看一区二区| 国产精品旅馆在线| 国产黄色片免费观看| av动漫一区二区| 日本一区二区三区在线视频 | 91成人免费观看网站| 无码一区二区三区| 久久99这里只有精品| aaa级精品久久久国产片| 日本美女一级片| 国产亚洲成av人在线观看导航| 91制片厂免费观看| 男人av在线播放| 欧美日韩高清在线| 国产精品久久久久久在线观看| 亚洲人成网77777色在线播放| 中文字幕视频在线免费欧美日韩综合在线看| 中国女人特级毛片| 欧美激情一级片一区二区| 欧洲永久精品大片ww免费漫画| 欧美国产一级片| 国产ts人妖一区二区| 蜜桃麻豆www久久国产精品| 欧美日韩在线看片| 精品欧美激情精品一区| 三级av免费观看| 国产三级精品三级在线观看国产| 一区二区三区视频在线| 精品无码久久久久久久久| 日本欧美久久久久免费播放网| 成人免费观看网站| av在线中文| 午夜av区久久| 手机免费看av网站| 精品一区免费| 国产69精品久久久久9| 91片黄在线观看喷潮| 91丨九色丨尤物| 2021狠狠干| 不卡亚洲精品| 亚洲精品一区二区网址| 久久久久无码国产精品不卡| 麻豆久久一区二区| 欧美性bbwbbwbbwhd| 亚洲制服国产| 欧美日本韩国一区| 少妇大叫太粗太大爽一区二区| 欧美日韩国产在线一区| 成人av番号网| 成人动漫在线免费观看| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 自拍偷拍视频亚洲| 99精品视频免费| 成人动漫视频在线观看完整版| 日韩在线观看www| 色婷婷久久一区二区三区麻豆| 日本黄色录像片| 黄色免费成人| 99re在线播放| 操你啦视频在线| 欧美日韩午夜影院| 日韩av片在线| 日本在线观看不卡视频| 欧美一级日本a级v片| 天堂电影一区| 亚洲精品中文字幕有码专区| 日韩精品在线免费视频| av综合在线播放| 欧洲精品一区二区三区久久| 豆花视频一区二区| 97色在线观看| 欧洲综合视频| 欧洲一区二区av| a资源在线观看| 蜜桃一区二区三区在线观看| 亚洲巨乳在线观看| 久久天天久久| 久久夜色精品国产| 国产av一区二区三区| 亚洲精品v日韩精品| 中国男女全黄大片| 国产精品啊啊啊| 精品欧美日韩在线| 亚洲欧洲日本韩国| 伊人久久久久久久久久久久久| 国产在线观看第一页| 国产精品美女久久久久久2018| 免费成年人高清视频| 中文字幕日韩一区二区不卡 | 国产91精品青草社区| 你懂的在线视频| 欧美三级电影在线观看| 波多野结衣在线网址| 丁香五精品蜜臀久久久久99网站| 97在线国产视频| 精品国产乱码久久久久久果冻传媒| 国产精品久久激情| av免费在线观看网址| 亚洲精品电影网站| 中文字幕第三页| 一区二区三区在线观看国产| 人妻激情偷乱频一区二区三区| 亚洲少妇自拍| 亚洲一区二区在线观| 97青娱国产盛宴精品视频| 日本亚洲欧洲色α| 国产在线激情视频| 亚洲国产精品免费| 中文字幕在线观看免费| 一区二区久久久久久| 午夜时刻免费入口| 高清不卡一二三区| 日韩在线xxx| 欧美成熟视频| 日韩电影在线播放| 1313精品午夜理伦电影| 国产精品成人播放| 欧美一卡二卡| 中文字幕亚洲第一| 刘亦菲毛片一区二区三区| 欧美午夜精品理论片a级按摩| 1024手机在线视频| 久久精品欧美一区二区三区不卡| 国产xxxxhd| 三级精品在线观看| 欧美精品自拍视频| 亚洲精品成人无限看| 欧美精品人人做人人爱视频| 日韩三级网址| 国产精品日日做人人爱| 98色花堂精品视频在线观看| 俺去亚洲欧洲欧美日韩| 天堂中文资源在线| 精品日韩在线观看| ,一级淫片a看免费| 在线观看日韩av先锋影音电影院| 久久久久久久蜜桃| 亚洲精品久久嫩草网站秘色| 纪美影视在线观看电视版使用方法| 成人免费av在线| 日韩a一级欧美一级| 日本成人在线一区| avav在线看| 99pao成人国产永久免费视频| 91社在线播放| 97国产成人高清在线观看| 欧洲精品在线一区| 天堂日韩电影| 九九九热999| 成人爽a毛片| 成人av电影免费| 日韩精品一区二区三区中文在线| 国产精品亚洲网站| 91超碰碰碰碰久久久久久综合| 97av在线播放| 亚洲日本天堂| 欧美综合在线第二页| 天堂中文最新版在线中文| 久久久久女教师免费一区| 亚洲小说区图片| 久久91精品国产| yellow91字幕网在线| 日韩在线视频国产| 日本在线观看视频| 日韩中文字幕免费看| 国产黄色免费在线观看| 亚洲欧洲偷拍精品| 九九热视频在线观看| 亚洲午夜未满十八勿入免费观看全集| 日韩资源在线| 亚洲天堂免费视频| 国产综合在线观看| 中文字幕不卡在线视频极品| 欧美成人二区| 久久精品男人天堂| 青春草视频在线观看| 欧美激情综合色| heyzo一区| 欧美性做爰毛片| 欧美日韩免费观看视频| 国产美女精品视频| 白嫩亚洲一区二区三区| 91嫩草国产在线观看| 国产精品黄网站| 精品中文字幕人| 欧美天天综合| 中文字幕av日韩精品| 午夜电影亚洲| 国产极品尤物在线| 日韩成人午夜精品| 善良的小姨在线| 97se狠狠狠综合亚洲狠狠| 久久久视频6r| 亚洲精品成人悠悠色影视| 香蕉免费毛片视频| 色丁香久综合在线久综合在线观看| 国产在线一级片| 日韩一级欧美一级| 少妇精品高潮欲妇又嫩中文字幕| 亚洲欧美日韩中文视频| 日本中文字幕电影在线免费观看| 色综合视频网站| 欧美美女日韩| 亚洲a一级视频| 天堂成人娱乐在线视频免费播放网站 | wwwww亚洲| 国模私拍视频一区| 三级成人在线| 成人欧美在线视频| 欧美三级自拍| 一区不卡字幕| 夜夜嗨一区二区三区| 国产福利在线免费| 成人av资源在线观看| 黄色免费一级视频| 亚洲成a人片综合在线| 懂色av中文字幕| 日韩免费视频一区| yes4444视频在线观看| 欧美国产极速在线| 成人做爰免费视频免费看| 国产精品中出一区二区三区| 欧美一二区在线观看| av女优在线播放| 精品亚洲porn| 丰满少妇高潮一区二区| 亚洲综合色噜噜狠狠| 一道本无吗一区| 日韩国产高清视频在线| h网站久久久| 国产精品日韩在线播放| 人人精品视频| 男人草女人视频| 裸体在线国模精品偷拍| 中文字幕在线免费看线人 | 亚洲人成电影在线观看天堂色| 中文字幕伦理免费在线视频| 国产精品色午夜在线观看| 青青久久av| 一本久道高清无码视频| 韩国视频一区二区| 中文天堂资源在线| 色噜噜久久综合| 天天干天天爱天天操| 欧美成年人视频| av在线精品| 亚洲欧洲一区二区在线观看| 日韩在线一区二区三区| 成人免费无码大片a毛片| 一本久久青青| 国产伦精品一区二区三区免| 天天射天天综合网| xxxx一级片| 久久免费视频一区| 视频一区二区三区四区五区| 亚洲国产一区二区三区四区 | 午夜免费在线观看精品视频| 经典三级久久| 懂色av一区二区三区四区五区| 麻豆国产精品视频| 香蕉久久久久久久| 欧美色爱综合网| 69久久精品| 国产一区二区在线播放| 欧美一二区在线观看| 8x8x最新地址| 中文字幕精品一区二区三区精品| 中文字幕手机在线视频| 亚洲欧美三级伦理| 日韩精选视频| 伊人久久青草| 国产美女精品在线| 激情视频在线播放| 日韩欧美国产综合在线一区二区三区| bt在线麻豆视频| 51国偷自产一区二区三区| 狠狠色丁香久久综合频道| 中文字幕人妻一区| 亚洲va韩国va欧美va精品| 无码国产伦一区二区三区视频| 97超碰蝌蚪网人人做人人爽 | 亚洲精品久久久一区二区三区 | 羞羞色午夜精品一区二区三区| 超碰人人草人人| 亚洲六月丁香色婷婷综合久久| 丰满人妻妇伦又伦精品国产| 97超视频免费观看| 深爱激情综合网| 小泽玛利亚视频在线观看| 1024成人网| 丰满大乳国产精品| 欧美重口另类videos人妖| 欧美三级情趣内衣| 日韩成人精品视频在线观看| 一区二区三区久久| 色视频免费在线观看| 国产精品久久久久久久久久久久久 | 国产很黄免费观看久久| 日产电影一区二区三区| 亚洲色图美腿丝袜| 成人污污视频| 国产高清av在线播放| 国产欧美日韩综合| 国产女人18毛片水18精| 91成人福利在线| 婷婷综合视频| 亚洲久久久久久| 欧美色视频在线观看| xxx性欧美| 亚洲一区二区免费视频软件合集| 风间由美性色一区二区三区| 无码人妻丰满熟妇区五十路 | 亚洲激情视频在线观看| av亚洲一区| 成人黄色大片网站| 国产精品久久二区二区| 婷婷在线免费观看| 国产精品一二区| 国产视频一区欧美| 99久久婷婷国产综合|