精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

亚洲综合激情在线| 国产一区二区三区影视| 国产精品77777| 久久人人爽人人爽人人片av高请 | 日韩专区中文字幕一区二区| 一区二区三区四区视频| 中文字幕色网站| heyzo高清中文字幕在线| 久久免费电影网| 95av在线视频| 久久精品视频1| 999久久久亚洲| 亚洲二区中文字幕| 天天综合网日韩| 丁香影院在线| 欧美国产一区二区| 国产私拍一区| 国产精品久久久久久久成人午夜| 日韩一区二区久久| 久久精品国产欧美激情| 波多野结衣av在线免费观看| 99精品国产九九国产精品| 亚洲成a人v欧美综合天堂| 无遮挡亚洲一区| 黄色片一区二区三区| 奇米888四色在线精品| 欧美激情亚洲自拍| 亚洲色图100p| 国产成人精品999在线观看| 日韩一区二区三区电影在线观看 | √天堂8资源中文在线| 国产欧美一区在线| 精品一区日韩成人| 亚洲美女综合网| 精品一区二区免费看| 成人性生活视频| 久久久亚洲午夜电影| 国产精品v欧美精品∨日韩| 中文人妻熟女乱又乱精品| 国产日韩亚洲| 久久久久久久电影一区| 国产一区二区播放| 欧美国产偷国产精品三区| 亚洲少妇中文在线| 少妇光屁股影院| 麻豆视频一区| 亚洲国产精品福利| 中国特级黄色片| 视频在线一区| 欧美成人精品高清在线播放| 中文字幕在线视频精品| 国产91在线播放精品| 日本精品免费观看高清观看| 久久精品免费一区二区| 久久av色综合| 亚洲国产三级在线| www.av蜜桃| 国产啊啊啊视频在线观看| 亚洲三级在线观看| 国产日产欧美一区二区| 黄色的网站在线观看| 成人欧美一区二区三区小说 | 蜜桃成人在线视频| 94色蜜桃网一区二区三区| 精品在线视频一区二区| 欧美中文在线| 国产嫩草影院久久久久| 亚洲一区二区三区免费看| 9色在线视频| **欧美大码日韩| 青青草综合视频| 黑人精品视频| 色综合久久综合网欧美综合网| 日韩av综合在线观看| 亚洲天堂资源| 在线观看亚洲精品| 手机av在线网| 91成人午夜| 日韩精品黄色网| 精品人妻无码一区| 91精品国产麻豆国产在线观看| 成人97在线观看视频| 久久久久久久蜜桃| 免费视频一区| 91精品久久久久久久久久久久久久| 国产一区二区在线播放视频| 国产成人精品一区二| 狠狠久久综合婷婷不卡| 18免费在线视频| 亚洲精品日日夜夜| 99福利在线观看| 国产精品第一国产精品| 日韩三级.com| 51调教丨国产调教视频| 99久久综合| 91精品国产高清久久久久久久久| 国产一区二区视频网站| 久久精品国产77777蜜臀| 97se亚洲综合在线| 国产福利免费在线观看| 亚洲精品精品亚洲| 日韩中文字幕免费在线| 日韩08精品| 在线观看久久久久久| 九九热最新地址| 久久久久久久欧美精品| 91视频8mav| 欧美女优在线| 亚洲综合精品自拍| 欧美日韩一区二区三区69堂| 国产精品传媒| 欧美成人精品在线观看| 中文字幕手机在线视频| 从欧美一区二区三区| 亚洲乱码一区二区三区三上悠亚 | 亚洲一区欧美一区| www.激情小说.com| 蜜臀av一区| 久久成人在线视频| 在线观看你懂的网站| 成人av手机在线观看| 一区二区视频在线观看| 欧美片第一页| 亚洲精品美女在线观看播放| 精品国产欧美日韩不卡在线观看| 久久深夜福利| 精品久久久久久综合日本| av小次郎在线| 欧美视频一区二区在线观看| 国产精品一区二区人妻喷水| 先锋资源久久| 国产精品欧美一区二区三区奶水 | 日韩五码电影| 在线视频欧美日韩| 久久久久久久久久久影院| 国产69精品久久久久毛片| 中文字幕一区二区三区有限公司| 美女福利一区二区| 亚洲男人天堂古典| 91久久国产视频| 99精品桃花视频在线观看| 糖心vlog在线免费观看| 国产精品18| 欧美理论电影在线观看| 国产乱码久久久| 综合婷婷亚洲小说| 亚洲精品手机在线观看| 久久精品国产大片免费观看| 国产精品96久久久久久| 国模精品一区二区| 欧美亚一区二区| 内射毛片内射国产夫妻| 奇米色一区二区| 亚洲视频导航| 亚洲久草在线| 欧美成人精品不卡视频在线观看| 国产美女永久免费| 亚洲精品中文在线观看| 日韩精品――色哟哟| 欧美久久一区| 国内精品视频在线播放| 校园春色亚洲| 亚洲欧美在线x视频| 国产污视频网站| 久久精品人人爽人人爽| 第四色婷婷基地| 久久久久久久久久久9不雅视频 | 一级特黄色大片| 国产精品超碰97尤物18| www.午夜av| 影音先锋一区| 欧美国产综合视频| 激情中国色综合| 乱亲女秽乱长久久久| 午夜精品久久久久久久99老熟妇 | 免费拍拍拍网站| 欧美毛片免费观看| 国产福利视频一区| av网站免费在线观看| 精品国产免费人成在线观看| 亚洲黄色小说图片| 国产精品欧美极品| 欧美久久久久久久久久久| 久久国产精品毛片| 亚洲欧洲免费无码| 国产精品毛片视频| 国产精品激情自拍| 亚洲大胆人体大胆做受1| 精品一区二区三区四区| 一区二区三区黄| 亚洲成人高清在线| 国产又粗又长又硬| 波多野结衣在线一区| 天天操天天爱天天爽| 午夜国产精品视频| 欧洲精品亚洲精品| 麻豆国产一区二区三区四区| 91av免费观看91av精品在线| av网站在线免费播放| 欧美精品一区二| 国产精品第六页| 亚洲成a天堂v人片| 日本人亚洲人jjzzjjz| 黄色av网站免费| 亚洲综合日本| 欧美一区二区影视| 日本精品网站| 亚洲18私人小影院| av在线官网| 中文字幕日韩电影| 四虎影视在线播放| 日韩亚洲欧美在线观看| 高潮无码精品色欲av午夜福利| 亚洲综合在线免费观看| 91无套直看片红桃在线观看| 91在线你懂得| 中文写幕一区二区三区免费观成熟| 午夜在线一区| 欧美乱大交xxxxx潮喷l头像| 欧美国产一区二区三区激情无套| 欧美凹凸一区二区三区视频| 日韩高清在线观看一区二区| 国产精品久久久久秋霞鲁丝| 九色porny丨首页入口在线| 九九热最新视频//这里只有精品 | 中文字幕av影视| 欧美日韩亚洲国产一区| 国产小视频在线观看免费| 综合久久国产九一剧情麻豆| 人人妻人人澡人人爽人人精品| 丰满少妇久久久久久久| 91欧美一区二区三区| 精品在线观看免费| 亚洲老女人av| 日本少妇一区二区| 久草青青在线观看| 亚洲综合丁香| 欧美二区在线视频| 99国产精品| 蜜桃传媒一区二区三区| 一区在线视频观看| 免费cad大片在线观看| 中文字幕亚洲综合久久五月天色无吗''| 日韩精品久久久免费观看| 久草成人在线| 日韩精品大片| 久久精品国产www456c0m| 亚洲精品日韩精品| 日韩精品网站| 中日韩在线视频| 欧美在线不卡| 男人添女人下部视频免费| 欧美午夜免费影院| 激情伊人五月天| 久久国产免费| 性生交免费视频| 老司机精品视频在线| 日日干日日操日日射| 国产在线国偷精品产拍免费yy| 亚洲欧美日韩三级| 国产成人免费视频一区| 亚洲图片欧美另类| 91麻豆成人久久精品二区三区| 国产黄色网址在线观看| 欧美激情在线一区二区三区| 国产黄a三级三级| 一区二区三区在线免费播放| 黄色一级片在线| 婷婷丁香激情综合| 国产亚洲欧美日韩高清| 欧美日韩色一区| 午夜精品久久久久久久96蜜桃| 亚洲黄色片网站| 三区在线视频| 日韩在线观看成人| 日本高清在线观看视频| 57pao成人国产永久免费| 91久久久久久白丝白浆欲热蜜臀| 成人精品久久久| 国产成人夜色高潮福利影视| 欧美精品一区在线发布| 久久成人综合| 男的插女的下面视频| 日韩国产在线一| 91亚洲一区二区| 91麻豆精品秘密| 黄色录像免费观看| 国产一区二区三区电影在线观看| 国产va免费精品高清在线观看| 国产亚洲欧美日韩精品一区二区三区 | wwwwxxxx在线观看| 国产精品国产三级国产aⅴ9色| crdy在线观看欧美| 久久天堂国产精品| 亚洲自拍偷拍网| avav在线看| 国产精品2024| 日韩毛片无码永久免费看| 亚洲精品日产精品乱码不卡| 日本免费在线观看视频| 91精品在线免费| 久色视频在线| 欧美人与性动交| 国语自产精品视频在线看抢先版结局| 国产精品一区二区三区观看| 成人影视亚洲图片在线| 91专区在线观看| 国产一区二区剧情av在线| 中文字幕免费视频| 亚洲成人免费影院| av一级黄色片| 中文字幕视频一区二区在线有码| 久草免费在线色站| 国产日韩欧美另类| 自拍欧美一区| 国产主播自拍av| 国产激情偷乱视频一区二区三区| 亚洲性猛交xxxx乱大交| 亚洲大片精品永久免费| 国产精品视频a| 在线a欧美视频| 悠悠资源网亚洲青| 国产区一区二区| 欧美久久久久| 久久综合桃花网| 国产精品黄色在线观看| 伊人中文字幕在线观看| 亚洲精品电影在线| 丁香花在线电影小说观看| 成人激情视频在线观看| 成人在线免费视频观看| 北条麻妃在线一区| 久久伊人中文字幕| 人人干人人干人人干| 精品国产伦理网| av毛片在线播放| 91欧美视频网站| 久久久久久美女精品| 蜜臀一区二区三区精品免费视频| 中文字幕乱码日本亚洲一区二区| 国产精品777777| 亚洲欧美中文日韩在线v日本| aaa在线播放视频| 国产一区在线观| 国产精品日韩欧美一区| 精品夜夜澡人妻无码av| 黑人极品videos精品欧美裸| 熟妇人妻系列aⅴ无码专区友真希| 色综合久久88色综合天天看泰| 国产精品色婷婷在线观看| 只有这里有精品| 国产精品中文字幕一区二区三区| 紧身裙女教师波多野结衣| 日韩一区二区精品葵司在线| av香蕉成人| 精品伦精品一区二区三区视频| 99在线精品视频免费观看20| 日韩欧美精品在线观看| 日韩偷拍自拍| 国产福利视频一区| 91综合在线| 久久久久中文字幕亚洲精品 | 一区二区三区av在线| 麻豆国产精品777777在线| 欧美风情第一页| 欧美大片在线观看一区二区| 欧美极品少妇videossex| 精品一区二区三区视频日产| 性欧美xxxx大乳国产app| 丁香激情五月少妇| 91精品国产色综合久久不卡蜜臀| av大全在线| 久久草.com| 麻豆成人免费电影| 欧美激情一区二区视频| 亚洲国产成人久久综合| 成人av三级| 致1999电视剧免费观看策驰影院| 国产成人在线色| 中文字幕亚洲精品在线| 国产亚洲欧洲在线| 色妞ww精品视频7777| 欧美日韩国产精品激情在线播放| 国产欧美一区二区在线| 国产精品女人久久久| 97成人在线视频| 欧美电影三区| 精品人妻伦一二三区久| 欧美色窝79yyyycom| 欧美色图天堂| 亚洲精品久久区二区三区蜜桃臀 | 91激情五月电影| 1769免费视频在线观看| 欧美日本亚洲| 国产一区不卡精品| 男人天堂视频在线| 久久久久久国产免费| 色狮一区二区三区四区视频| 天堂www中文在线资源| 欧美乱妇一区二区三区不卡视频|