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

多集群下的 Tekton 流水線

云計算
借助于 Kubernetes, Tekton 已經具備很好的彈性, 能夠支持大規模構建。同時, 開發 Task 主要使用 Yaml 和 Shell, 這擴大了 Tekton 的各種場景適配范圍。

[[407477]]

1. 多集群構建 Tekton 的優勢

借助于 Kubernetes, Tekton 已經具備很好的彈性, 能夠支持大規模構建。同時, 開發 Task 主要使用 Yaml 和 Shell, 這擴大了 Tekton 的各種場景適配范圍。

上面是一張 Tekton 在多集群下的示意圖。為什么 Tekton 需要多集群執行流水線?

  • 隨時可變的 Kubernetes 集群。單一的 Kubernetes 集群, 無法滿足運維的要求, 不能隨時對集群進行變更。多集群下, 可以下架部分集群進行維護。
  • 更大規模的構建。CI 對 CPU、內存、IO 資源的消耗很大, 容易壓垮節點甚至集群。多集群能有效分擔負載壓力,提高可用性。
  • 業務隔離。業務對代碼安全等級、構建速度、構建環境要求不一樣, 多集群能夠提供隔離的環境, 定制化的流水線服務。

2. Kubernetes Cluster Federation

Kubernetes Cluster Federation 簡稱 KubeFed。KubeFed v2 相較于 v1 最大的改變是將 API Server 移除, 并且通過 CRD 機制完成 Federated Resource 的擴展。KubeFed Controller 管理這些 CRD, 并實現同步 Resources 跨集群編排等功能,實現模塊化和定制化。下面是社區的架構圖:

KubeFed 配置了兩種類型的信息:

  • Type configuration, 聲明 KubeFed 處理的 API 類型
  • Cluster configuration, 聲明 KubeFed 管理哪些集群

Type configuration 有三個基本概念:

  • Templates, 定義資源在集群中的模板描述
  • Placement, 定義資源需要分發到哪些集群
  • Overrides, 定義在集群中,需要覆蓋 Templates 的字段內容

此外,通過 Status、Policy 和 Scheduling 可以實現更高級的功能:

  • Status 收集分發資源在各個集群中的狀態
  • Policy 允許將資源分配給哪些集群的策略控制
  • Scheduling 允許資源跨集群遷移副本

除此,KubeFed 還提供了 MultiClusterDNS,可以用于多集群之間的服務發現。

3. 聯邦化 Kubernetes 集群

3.1 準備集群并配置 Context

這里部署兩個集群: dev1 作為主集群,用來作為 Tekton 的控制面,不運行流水線任務; dev2 作為子集群,用來執行 Tekton 流水線任務。

準備兩個集群

主集群 dev1

  1. kubectl get node 
  2.  
  3. NAME    STATUS   ROLES                         AGE    VERSION 
  4. node1   Ready    control-plane,master,worker   151m   v1.20.4 
  1. helm version 
  2.  
  3. version.BuildInfo{Version:"v3.2.1", GitCommit:"fe51cd1e31e6a202cba7dead9552a6d418ded79a", GitTreeState:"clean", GoVersion:"go1.13.10"

子集群 dev2

  1. kubectl get node 
  2.  
  3. NAME    STATUS   ROLES                         AGE   VERSION 
  4. node1   Ready    control-plane,master,worker   42d   v1.20.4 

在主集群上配置全部集群的 Context(要求集群 Apiserver 入口在一個網絡,能夠直連),用來添加子集群

這里 contexts 中的 name 不能含義 @ 等特殊字符, 否則 join 時會報錯。因為 name 會用來創建 Secret, 需要符合 Kubernetes 的命名規范。

將主集群 dev1 的 kubeconfig 放在 ~/.kube/config-1,并修改 name 等信息,格式如下:

  1. apiVersion: v1 
  2. clusters: 
  3. - cluster: 
  4.     ... 
  5.   name: dev1.cluster.local 
  6. contexts: 
  7. - context: 
  8.     cluster: dev1.cluster.local 
  9.     user: dev1-kubernetes-admin 
  10.   name: dev1-context 
  11. users: 
  12. name: dev1-kubernetes-admin 
  13.   user
  14.     ... 

將子集群 dev2 的 kubeconfig 放在 ~/.kube/config-2,并修改 name 等信息,格式如下:

  1. apiVersion: v1 
  2. clusters: 
  3. - cluster: 
  4.     ... 
  5.   name: dev2.cluster.local 
  6. contexts: 
  7. - context: 
  8.     cluster: dev2.cluster.local 
  9.     user: dev2-kubernetes-admin 
  10.   name: dev2-context 
  11. users: 
  12. name: dev2-kubernetes-admin 
  13.   user
  14.     ... 

合并 kubeconfig

  1. cd $HOME/.kube/ 
  2. KUBECONFIG=config-1:config-2 kubectl config view --flatten > $HOME/.kube/config 

查看添加的集群 Context

  1. kubectl config get-contexts 
  2.  
  3. CURRENT   NAME           CLUSTER              AUTHINFO                NAMESPACE 
  4.           dev1-context   dev1.cluster.local   dev1-kubernetes-admin 
  5.           dev2-context   dev2.cluster.local   dev2-kubernetes-admin 

切換到主集群 dev1

  1. kubectl config use-context dev1-context 
  2.  
  3. Switched to context "dev1-context"

3.2 在主集群上安裝 KubeFed

使用 Helm 安裝 KubeFed

  1. git clone https://github.com/kubernetes-sigs/kubefed.git 
  2. cd kubefed/charts/ 
  3. helm install kubefed ./kubefed/ --namespace kube-federation-system --create-namespace 

查看負載

  1. kubectl get deploy,pod -n kube-federation-system 
  2.  
  3. NAME                                         READY   UP-TO-DATE   AVAILABLE   AGE 
  4. deployment.apps/kubefed-admission-webhook    1/1     1            1           95s 
  5. deployment.apps/kubefed-controller-manager   2/2     2            2           95s 
  6.  
  7. NAME                                              READY   STATUS    RESTARTS   AGE 
  8. pod/kubefed-admission-webhook-598bd776c6-gv4qh    1/1     Running   0          95s 
  9. pod/kubefed-controller-manager-6d9bf98d74-n8kjz   1/1     Running   0          17s 
  10. pod/kubefed-controller-manager-6d9bf98d74-nmb2j   1/1     Running   0          14s 

3.3 在主集群上安裝 kubefedctl

執行命令:

  1. wget https://github.com/kubernetes-sigs/kubefed/releases/download/v0.8.0/kubefedctl-0.8.0-linux-amd64.tgz 
  2. tar -zxvf kubefedctl-*.tgz 
  3. mv kubefedctl /usr/local/bin/ 

3.4 添加集群

在主集群上執行命令, 將 dev1、dev2 都添加到主集群 dev1 上。

  1. kubefedctl join dev1-context --host-cluster-context dev1-context --kubefed-namespace=kube-federation-system --v=2 
  2.  
  3. I0625 14:32:42.969373   25920 join.go:861] Using secret named: dev1-context-dev1-context-token-2w8km 
  4. I0625 14:32:42.972316   25920 join.go:934] Created secret in host cluster named: dev1-context-ln6vx 
  5. I0625 14:32:42.991399   25920 join.go:299] Created federated cluster resource 
  1. kubefedctl join dev2-context --host-cluster-context dev1-context --kubefed-namespace=kube-federation-system --v=2 
  2.  
  3. I0625 14:33:11.836472   26424 join.go:861] Using secret named: dev2-context-dev1-context-token-dcl8s 
  4. I0625 14:33:11.840121   26424 join.go:934] Created secret in host cluster named: dev2-context-264dz 
  5. I0625 14:33:11.898044   26424 join.go:299] Created federated cluster resource 

查看集群列表:

  1. kubectl -n kube-federation-system get kubefedclusters 
  2.  
  3. NAME           AGE   READY 
  4. dev1-context   45s   True 
  5. dev2-context   16s   True 

3.5 測試集群是否聯邦成功

  • 查看已經聯邦化的資源

安裝 KubeFed 之后,常見的很多資源都已經聯邦化,可以在 CRD 中查看:

  1. kubectl get crd |grep federated 
  2.  
  3. federatedclusterroles.types.kubefed.io                2021-06-26T06:22:50Z 
  4. federatedconfigmaps.types.kubefed.io                  2021-06-26T06:22:50Z 
  5. federateddeployments.types.kubefed.io                 2021-06-26T06:22:50Z 
  6. federatedingresses.types.kubefed.io                   2021-06-26T06:22:50Z 
  7. federatedjobs.types.kubefed.io                        2021-06-26T06:22:50Z 
  8. federatednamespaces.types.kubefed.io                  2021-06-26T06:22:50Z 
  9. federatedreplicasets.types.kubefed.io                 2021-06-26T06:22:50Z 
  10. federatedsecrets.types.kubefed.io                     2021-06-26T06:22:50Z 
  11. federatedserviceaccounts.types.kubefed.io             2021-06-26T06:22:50Z 
  12. federatedservices.types.kubefed.io                    2021-06-26T06:22:50Z 
  13. federatedservicestatuses.core.kubefed.io              2021-06-26T06:22:50Z 
  14. federatedtypeconfigs.core.kubefed.io                  2021-06-26T06:22:50Z 

在 federatedtypeconfigs 中也可以看到已經開啟聯邦的資源。

  1. kubectl get federatedtypeconfigs.core.kubefed.io -n kube-federation-system 
  2.  
  3. NAME                                     AGE 
  4. clusterroles.rbac.authorization.k8s.io   29m 
  5. configmaps                               29m 
  6. deployments.apps                         29m 
  7. ingresses.extensions                     29m 
  8. jobs.batch                               29m 
  9. namespaces                               29m 
  10. replicasets.apps                         29m 
  11. secrets                                  29m 
  12. serviceaccounts                          29m 
  13. services                                 29m 
  • 創建一個聯邦的 Namespace

Namespace 級別的資源需要放置在聯邦化的 Namespace 下,否則在進行資源分發時,Controller 會報錯。

  1. apiVersion: v1 
  2. kind: Namespace 
  3. metadata: 
  4.   name: testing-fed 
  5. --- 
  6. apiVersion: types.kubefed.io/v1beta1 
  7. kind: FederatedNamespace 
  8. metadata: 
  9.   name: testing-fed 
  10.   namespace: testing-fed 
  11. spec: 
  12.   placement: 
  13.     clusters: 
  14.     - name: dev1-context 
  15.     - name: dev2-context 
  • 在主集群創建一個聯邦的 Deployment

常見的 Deployment 是這樣:

  1. apiVersion: apps/v1 
  2. kind: Deployment 
  3. metadata: 
  4.   name: nginx 
  5.   namespace: default 
  6. spec: 
  7.   replicas: 1 
  8.   selector: 
  9.     matchLabels: 
  10.       app: nginx 
  11.   template: 
  12.     metadata: 
  13.       labels: 
  14.         app: nginx 
  15.     spec: 
  16.       containers: 
  17.       - image: nginx 
  18.         name: nginx 

而聯邦的 Deployment 是這樣。

  1. apiVersion: types.kubefed.io/v1beta1 
  2. kind: FederatedDeployment 
  3. metadata: 
  4.   name: nginx-fed 
  5.   namespace: testing-fed 
  6. spec: 
  7.   overrides: 
  8.     - clusterName: dev1-context 
  9.       clusterOverrides: 
  10.         - path: /spec/replicas 
  11.           value: 2 
  12.     - clusterName: dev2-context 
  13.       clusterOverrides: 
  14.         - path: /spec/replicas 
  15.           value: 3 
  16.   placement: 
  17.     clusters: 
  18.       - name: dev1-context 
  19.       - name: dev2-context 
  20.   template: 
  21.     metadata: 
  22.       labels: 
  23.         app: nginx 
  24.       namespace: testing-fed 
  25.     spec: 
  26.       replicas: 1 
  27.       selector: 
  28.         matchLabels: 
  29.           app: nginx 
  30.       template: 
  31.         metadata: 
  32.           labels: 
  33.             app: nginx 
  34.         spec: 
  35.           containers: 
  36.             - image: nginx 
  37.               name: nginx 

FederatedDeployment 編寫時,需要注意三個字段

- overrides, 根據不同集群, 需要覆蓋的字段屬性。這里將 dev1 上的副本數改為 2,而將 dev2 上的副本數改為 3。

- placement, 資源需要放置的集群列表。這里放置在 dev1、dev2 兩個集群。

- template, 資源的模板。這里是 Deployment 去掉 apiVersion 和 kind 的剩余部分。

  • 驗證資源是否分發成功

在 dev1 集群上

  1. kubectl -n testing-fed get pod 
  2.  
  3. NAME                         READY   STATUS    RESTARTS   AGE 
  4. nginx-fed-6799fc88d8-7llk9   1/1     Running   0          8m2s 
  5. nginx-fed-6799fc88d8-clc5w   1/1     Running   0          8m2s 

在 dev2 集群上

  1. kubectl -n testing-fed get pod 
  2.  
  3. NAME                         READY   STATUS    RESTARTS   AGE 
  4. nginx-fed-6799fc88d8-2ld4k   1/1     Running   0          7m49s 
  5. nginx-fed-6799fc88d8-6dncp   1/1     Running   0          7m49s 
  6. nginx-fed-6799fc88d8-x64fb   1/1     Running   0          7m49s 

4. 聯邦化 Tekton 的 CRD 資源

4.1 安裝 Tekton

在所有集群上都需要安裝 Tekton

  1. kubectl apply -f https://raw.githubusercontent.com/shaowenchen/scripts/main/image-sync/tektondev/dockerhub/release-0.24.1.yaml 

由于 Tekton 社區使用的是 gcr.io 的鏡像, 有些主機環境上可能無法拉取。我在 Dockerhub 上對其進行了備份, 在這里可以找到相關的 yaml, https://github.com/shaowenchen/scripts/tree/main/image-sync/tektondev/dockerhub 。

4.2 聯邦化 Tekton 的 CRD

安裝 KubeFed 時, 會默認將常見的 Deployment、Secret 等聯邦化, 但如果是用戶自定義的 CRD 就需要手動開啟。

執行命令:

  1. kubefedctl enable clustertasks.tekton.dev 
  2. kubefedctl enable conditions.tekton.dev 
  3. kubefedctl enable pipelineresources.tekton.dev 
  4. kubefedctl enable pipelineruns.tekton.dev 
  5. kubefedctl enable pipelines.tekton.dev 
  6. kubefedctl enable runs.tekton.dev 
  7. kubefedctl enable taskruns.tekton.dev 
  8. kubefedctl enable tasks.tekton.dev 

以 taskruns 為例, kubefedctl enable taskruns.tekton.dev 會自動創建兩個資源:

  • customresourcedefinition.apiextensions.k8s.io/federatedtaskruns.types.kubefed.io, 聯邦 CRD 資源 federatedtaskruns
  • federatedtypeconfig.core.kubefed.io/taskruns.tekton.dev, 在 kube-federation-system 命名空間下, 創建 federatedtypeconfig 類型的資源 taskruns 開啟資源分發使能

4.3 編輯新創建的聯邦 CRD 資源添加字段

缺少這一步, 會導致同步到子集群的 CR 資源內容為空。因為 kubefedctl enable 聯邦化 CRD 資源缺少 template 字段。

執行命令:

  1. kubectl edit crd federatedtasks.types.kubefed.io 

在與 overrides 、placement 平級的層次,添加下面示例的 template 內容即可。

  1. apiVersion: apiextensions.k8s.io/v1 
  2. ... 
  3. spec: 
  4.   versions: 
  5.   - name: v1beta1 
  6.     schema
  7.       openAPIV3Schema: 
  8.         properties: 
  9.           spec: 
  10.             properties: 
  11.               overrides: 
  12.                 ... 
  13.               placement: 
  14.                 ... 
  15.               template: 
  16.                 type: object 
  17.                 x-kubernetes-preserve-unknown-fields: true 
  18.             type: object 

如果覺得不夠清晰,可以參考 https://github.com/shaowenchen/scripts/tree/main/image-sync/tektondev/kubefed 修改。如果你也是使用版本 0.24.1, 可以直接 kubectl apply 這些 CRD 資源。

4.4 測試多集群下分發 Tekton 對象

這里為了避免粘貼大量 yaml, 直接提前預先在子集群上創建 Task 資源, 而沒有使用 FederatedTask 進行分發。

  • 在子集群上創建 Task
  1. kubectl apply -f https://raw.githubusercontent.com/tektoncd/catalog/main/task/git-clone/0.4/git-clone.yaml -n testing-fed 
  • 在主集群 dev1 上創建 FederatedTaskRun 資源分發到子集群 dev2
  1. apiVersion: types.kubefed.io/v1beta1 
  2. kind: FederatedTaskRun 
  3. metadata: 
  4.   name: git-clone-test 
  5.   namespace: testing-fed 
  6. spec: 
  7.   placement: 
  8.     clusters: 
  9.     - name: dev2-context 
  10.   template: 
  11.     metadata: 
  12.       namespace: testing-fed 
  13.     spec: 
  14.       workspaces: 
  15.         - nameoutput 
  16.           emptyDir: {} 
  17.       taskRef: 
  18.         name: git-clone 
  19.       params: 
  20.         - name: url 
  21.           value: https://github.com/kelseyhightower/nocode 
  • 在子集群 dev2 上查看 Tekton 的 Taskrun 任務
  1. kubectl get taskrun -n testing-fed 
  2.  
  3. NAME             SUCCEEDED   REASON      STARTTIME   COMPLETIONTIME 
  4. git-clone-test   True        Succeeded   15s         7s 

5. 總結

本文主要介紹并實踐了利用 KubeFed 管理多集群,對 Tekton CRD 資源進行聯邦化。

多集群下的 Tekton,使用主集群管理資源,使用子集群執行流水線,能夠有效均衡負載,增加流水線的并發執行量,提高 CICD 系統的可維護性。

這里的 KubeFed 主要是用來存儲并分發 Tekton 對象資源。如果自研編碼,可以通過數據存儲加循環控制器完成,但是利用 KubeFed Controller 能快速實現,同時避免了很多潛在的問題。KubeFed 用于做跨集群的資源分發,非常適用。

6. 參考

https://github.com/kubernetes-sigs/kubefed

 

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

2021-06-18 05:48:02

Tekton DevopsKubernetes

2021-06-28 06:32:46

Tekton Kubernetes Clone

2017-03-02 14:12:13

流水線代碼Clojure

2017-02-28 15:40:30

Docker流水線Azure

2013-06-06 09:31:52

2022-01-26 08:12:42

Jenkins開源流水線

2021-11-08 07:41:16

Go流水線編程

2024-01-07 12:47:35

Golang流水線設計模式

2017-02-28 16:00:45

DevOpsMarkdownreST

2023-05-10 15:08:00

Pipeline設計模式

2022-07-18 06:05:28

Gitlab流水線

2023-04-02 21:49:10

開源Tekton

2021-12-24 08:02:48

GitLabCI模板庫流水線優化

2023-08-18 10:24:52

GitLabCI 流水線

2023-09-27 08:24:49

2023-12-11 18:35:37

測試流水線自動化

2021-07-09 06:40:59

TektonArgo CD GitOps

2020-06-16 10:20:32

JavaStream流水線

2017-03-15 10:08:26

軟件開發流水線

2011-10-19 08:04:12

點贊
收藏

51CTO技術棧公眾號

中文字幕在线看视频国产欧美在线看完整 | 中文字幕亚洲成人| 国产精品第3页| 乱h高h女3p含苞待放| 国产伦精品一区二区三区在线播放| 欧美三级免费观看| 在线无限看免费粉色视频| 国产成人精品免费看视频| 国产日本精品| 精品国产一区二区三区在线观看 | 成人激情综合网站| 国产极品精品在线观看| 欧美成人精品欧美一级| 色爱av综合网| 日韩一区二区精品在线观看| 日本日本19xxxⅹhd乱影响| 色多多视频在线观看| 成人毛片老司机大片| 国产日韩欧美另类| 国产午夜免费福利| 欧美日韩午夜| 日韩在线免费视频| 日韩中文字幕电影| 国产日韩三级| 欧美一区二区三区四区五区| 天美星空大象mv在线观看视频| 后进极品白嫩翘臀在线播放| 国产精品日韩成人| 久久久精品有限公司| 性猛交xxxx乱大交孕妇印度| 麻豆专区一区二区三区四区五区| 欧洲成人午夜免费大片| 久久久久久久伊人| 欧美成人首页| 美日韩在线视频| 青青草自拍偷拍| 久久av综合| 精品无人国产偷自产在线| 肉丝美足丝袜一区二区三区四| 精品成人av| 日韩欧美成人网| 欧美 日韩 亚洲 一区| www视频在线免费观看| 中文字幕一区二区三区四区 | 99国产精品久久久久久久| 欧美成人h版在线观看| 在线观看天堂av| 第四色成人网| 色偷偷av一区二区三区| 久久中文字幕精品| 精品国产一区一区二区三亚瑟| 亚洲欧美日韩中文在线| www.狠狠爱| 精品一区二区三区在线| 亚洲精品综合久久中文字幕| 免费黄色在线视频| 少妇一区二区视频| 国产午夜一区二区| 日本一区二区视频在线播放| 欧美精品尤物在线观看| 色综合影院在线| 日本裸体美女视频| 欧美国产高潮xxxx1819| 欧美激情视频一区| 男人的天堂一区二区| 亚洲理伦在线| 国产91免费看片| 在线播放国产一区| 国产综合久久久久久鬼色| 成人午夜黄色影院| 亚洲风情第一页| 99精品偷自拍| 日韩欧美手机在线| 日本高清视频在线观看| 一区二区视频在线| 成人性免费视频| 亚洲性受xxx喷奶水| 欧美亚洲日本国产| 污视频在线观看免费网站| 白嫩白嫩国产精品| 亚洲欧美日韩天堂一区二区| 国产乱子轮xxx农村| 欧美日本一区二区视频在线观看 | 日本特黄特色aaa大片免费| 一本色道精品久久一区二区三区 | 日韩视频精品在线| 欧美黄色免费观看| 三级欧美在线一区| 91亚洲国产成人久久精品网站| 亚洲精品久久久久久久久久 | 亚洲日本欧美在线| 欧美xxxbbb| 色激情天天射综合网| 91精品视频国产| 天堂资源在线亚洲| 久久国产加勒比精品无码| www日韩精品| 久草精品在线观看| 免费试看一区| 国产1区在线| 精品国产乱码久久久久久婷婷| 久久这里只精品| 久久婷婷国产| 精品国产一区二区三区久久久| 在线观看黄网站| 国产乱人伦偷精品视频免下载| 久久久久se| 青青青国内视频在线观看软件| 色综合久久综合网欧美综合网| xxx中文字幕| 国产一区二区三区探花| 午夜精品www| 国产片在线播放| 国产欧美一区二区精品性| 欧美人成在线观看| 亚洲一区av| 在线电影av不卡网址| 日韩成人免费在线观看| 国内精品久久久久影院一蜜桃| 日本在线一区| 黄色在线免费观看网站| 欧美一区二区在线不卡| 久久久久久久久福利| 亚洲欧美卡通另类91av| 成人免费视频网站| 高清全集视频免费在线| 精品视频一区二区不卡| 成人免费毛片糖心| 99视频+国产日韩欧美| 99国产超薄肉色丝袜交足的后果 | 亚洲欧美一区二区三区国产精品 | 国产精品免费aⅴ片在线观看| 国产免费观看高清视频| 国产精品调教视频| 欧美激情亚洲综合一区| 国产美女www爽爽爽视频| 欧美激情中文字幕一区二区| 国产男女激情视频| 蜜桃一区二区| 日本精品久久久| 五月天激情婷婷| 欧美日韩国产在线| 99久久人妻精品免费二区| 激情国产一区| 国产精品毛片一区视频| 俺来俺也去www色在线观看| 欧美一级生活片| 亚洲欧美小视频| 国产精品影视在线观看| 公共露出暴露狂另类av| 高清一区二区| 欧美猛男性生活免费| av中文字幕免费| 夜夜嗨av一区二区三区中文字幕| 久久久久久国产精品日本| 欧美久久视频| a级国产乱理论片在线观看99| 手机av免费在线| 亚洲第一网站免费视频| 亚洲欧美在线视频免费| 91麻豆高清视频| 精品久久久噜噜噜噜久久图片| 欧洲三级视频| 成人免费看吃奶视频网站| 在线观看午夜av| 精品国精品国产尤物美女| 亚洲精品视频在线观看免费视频| 91色porny在线视频| 可以在线看的黄色网址| 日韩欧美精品一区| 97av自拍| 自拍网站在线观看| 丝袜亚洲另类欧美重口| 99在线小视频| 欧美日韩国产在线看| 综合 欧美 亚洲日本| 国产一区在线观看视频| 六月婷婷在线视频| 欧美中文字幕一区二区| 亚洲自拍偷拍色图| 亚洲国产福利| 久久精品2019中文字幕| 欧美在线 | 亚洲| 日本韩国精品在线| 日韩欧美综合视频| 91原创在线视频| 不卡中文字幕在线观看| 91久久夜色精品国产九色| 日韩精品一区二区三区丰满| 精品一区二区三区中文字幕视频| 777国产偷窥盗摄精品视频| 91在线播放网站| 亚洲国产精品嫩草影院久久| 最近中文字幕在线视频| 亚洲高清在线精品| 一级黄色毛毛片| 不卡电影免费在线播放一区| 亚洲36d大奶网| 一本一本久久| 先锋影音男人资源| 精品国产不卡| 国产伦精品一区二区三区四区免费| 精品无人乱码一区二区三区| 韩日精品中文字幕| 黄网站在线免费看| 亚洲天堂av综合网| 丰满肉嫩西川结衣av| 欧美日韩在线三区| 国产手机在线视频| 亚洲另类春色国产| 你懂得视频在线观看| 99热在这里有精品免费| 欧美日韩久久婷婷| 日本一不卡视频| 奇米精品一区二区三区| 欧美国产精品| 先锋影音男人资源| 久久人体视频| 视频一区国产精品| 久久香蕉精品香蕉| 不卡视频一区二区三区| 日韩电影免费观看高清完整版在线观看| 91豆花精品一区| av日韩国产| 欧美日韩xxxxx| 成人免费网址| 视频一区视频二区国产精品| 日本成人一区二区三区| 亚洲精品videossex少妇| 精品国产无码AV| 欧美丰满一区二区免费视频| 精品乱码一区内射人妻无码| 欧美小视频在线观看| 国产成人在线观看网站| 亚洲一区二区四区蜜桃| 精品人妻伦九区久久aaa片| 国产精品灌醉下药二区| 欧美成人另类视频| 欧美国产欧美综合| 欧美激情aaa| 久久久99精品免费观看| 色欲av无码一区二区三区| 91香蕉国产在线观看软件| 久久久久亚洲AV成人无码国产| 成人动漫一区二区| 日本50路肥熟bbw| 成人国产免费视频| 亚洲精品在线视频免费观看| 99久久久精品免费观看国产蜜| av网页在线观看| 久久久影院官网| 日本一级免费视频| 欧美国产一区在线| 亚洲一级二级片| 樱桃国产成人精品视频| 久久免费视频播放| 红桃视频成人在线观看| 亚洲黄色小说图片| 色噜噜狠狠成人网p站| 国产一级精品毛片| 欧美精品丝袜中出| www夜片内射视频日韩精品成人| 日韩欧美一区二区三区在线| 免费国产黄色片| 日韩av最新在线| 国产黄色片在线播放| 久久香蕉国产线看观看av| 欧洲黄色一区| 欧美在线一区二区视频| 丁香久久综合| 3d动漫精品啪啪一区二区三区免费 | 在线免费亚洲电影| 亚洲天堂中文在线| 欧美成人艳星乳罩| 免费在线视频一级不卡| 中文字幕日韩av电影| 秋霞在线午夜| 国产精品久久久久久久久久久新郎| 91麻豆精品| 国产一区二区三区免费不卡| 国产一区二区三区四区五区| 国产又粗又爽又黄的视频| 国产精品腿扒开做爽爽爽挤奶网站| 992kp快乐看片永久免费网址| 国产精品香蕉一区二区三区| 日本久久一区二区三区| 国产原创视频在线| 欧美精品丝袜中出| 亚洲 欧美 自拍偷拍| 中文字幕亚洲激情| 黄在线观看免费网站ktv| 国产精品亚洲综合天堂夜夜| 一区二区在线免费播放| 日本精品一区二区三区不卡无字幕| 中文字幕午夜精品一区二区三区| 欧美大片在线播放| 激情综合网最新| 国产精品揄拍100视频| 亚洲精选视频免费看| 销魂美女一区二区| 精品国产麻豆免费人成网站| 尤物网在线观看| 97香蕉超级碰碰久久免费的优势| 久久av影院| 欧美精品一区二区三区在线看午夜| 欧美成熟视频| 亚洲一区二区三区四区五区| 91在线国产观看| 国产亚洲精品码| 7777精品伊人久久久大香线蕉最新版| 亚洲欧美日本在线观看| 欧美另类暴力丝袜| 黄色成人在线观看网站| 免费在线成人av| 在线成人国产| 国产无套精品一区二区三区| 久久久精品人体av艺术| 日本三级免费看| 日韩欧美国产wwwww| 黄色精品免费看| 国产精品入口夜色视频大尺度| 老司机精品在线| 日韩激情视频一区二区| 国产自产视频一区二区三区| 青青青手机在线视频| 在线欧美日韩国产| 国产人成在线视频| 91精品国产777在线观看| 国产乱人伦丫前精品视频| 蜜桃视频一区二区在线观看| 久久成人麻豆午夜电影| 长河落日免费高清观看| 在线精品视频一区二区| 蜜桃视频在线入口www| 欧美在线视频观看| 天天久久夜夜| 波多野结衣乳巨码无在线| 成人精品免费看| 国产一级黄色av| 日韩视频不卡中文| 成人日韩欧美| 成人欧美一区二区三区视频| 欧美福利一区| 亚洲男女在线观看| 好吊成人免视频| 免费av在线电影| 国产精品jizz在线观看麻豆| 少妇精品久久久一区二区| 992kp快乐看片永久免费网址| 国产拍欧美日韩视频二区| 波多野结衣家庭主妇| 亚洲最新中文字幕| 素人啪啪色综合| 伊人久久大香线蕉成人综合网| 国产在线精品一区二区三区不卡| 一区视频免费观看| 欧美一区二区女人| 日本电影在线观看| 精品在线观看一区二区| 久久久天天操| 日本在线观看网址| 欧美一区二区人人喊爽| free性m.freesex欧美| 看欧美日韩国产| 美国一区二区三区在线播放| fc2ppv在线播放| 精品国产亚洲在线| 伊伊综合在线| 在线观看一区欧美| 成人性视频免费网站| 天天操天天操天天操天天| 一区二区成人av| 中文无码日韩欧| 亚洲色成人一区二区三区小说| 欧美激情在线免费观看| 国产哺乳奶水91在线播放| 久久人人97超碰精品888| 国产精品一区2区3区| 91在线第一页| 精品免费在线视频| 国产粉嫩一区二区三区在线观看| 91香蕉嫩草影院入口| 亚洲欧美日韩国产综合精品二区 | 一个色综合久久| 亚洲一区二区三区在线播放| 国产精品免费播放| 99久久无色码| 日韩福利电影在线观看| 免费在线观看亚洲| 一本大道久久加勒比香蕉| 日本精品在线观看| 国产a视频免费观看| 一区二区三区欧美亚洲| 蜜桃视频在线观看视频| 亚洲free性xxxx护士hd| 天堂va蜜桃一区二区三区漫画版| 九九热精彩视频| 日韩中文综合网| 日韩mv欧美mv国产网站| 日批视频在线看|