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

?Kubernetes的演變:從etcd到分布式SQL的過渡

譯文
數據庫 SQL Server
本文探討了如何使用Kine將Kubernetes中的etcd替換為分布式SQL數據庫。

譯者 | 李睿

審校 | 重樓

DevRel領域專家Denis Magda表示,他偶然發現了一篇解釋如何用PostgreSQL無縫替換etcd的文章。該文章指出,Kine項目作為外部etcd端點,可以將Kubernetes etcd請求轉換為底層關系數據庫的SQL查詢。

受到這種方法的啟發,Magda決定進一步探索Kine的潛力,從etcd切換到YugabyteDBYugabyteDB是一個基于PostgreSQL構建的分布式SQL數據庫。

etcd有什么問題?

etcd是Kubernetes用來存放所有集群數據的鍵值庫。

在Kubernetes集群遇到可擴展性或高可用性(HA)問題之前,它通常不會引起人們的注意。以可擴展和高可用性(HA)的方式管理etcd對于大型Kubernetes部署來說尤其具有挑戰性。

此外,Kubernetes社區對etcd項目的未來開發也有越來越多的擔憂。它的社區規模正在縮小,只有少數維護人員有興趣和能力支持和推進這個項目。

這些問題催生了Kine,這是一個etcd API到SQL的轉換層。Kine正式支持SQLite、PostgreSQL和MySQL,這些系統的使用量正在不斷增長,并且擁有強大的社區。

為什么選擇分布式SQL數據庫?

雖然PostgreSQL、SQLite和MySQL是Kubernetes的理想選擇,但它們是為單一服務器部署而設計和優化的。這意味著它們可能會帶來一些挑戰,特別是對于具有更嚴格的可擴展性和可用性要求的大型Kubernetes部署。

如果開發人員的Kubernetes集群要求RPO(恢復點目標)為零,RTO(恢復時間目標)以秒為單位測量,那么MySQL或PostgreSQL部署的架構和維護將是一個挑戰。如果人們有興趣深入研究這個話題,可以探索PostgreSQL的高可用性選項。

分布式SQL數據庫作為一個相互連接的節點集群,可以跨多個機架、可用區或區域部署。通過設計,它們具有高可用性和可擴展性,因此可以為Kubernetes改進相同的特性。

在YugabyteDB上啟動Kine

而決定使用YugabyteDB作為Kubernetes的分布式SQL數據庫是受到PostgreSQL的影響。YugabyteDB建立在PostgreSQL源代碼的基礎上,在提供自己的分布式存儲實現的同時,重用了PostgreSQL的上半部分(查詢引擎)。

YugabyteDB和PostgreSQL之間的緊密聯系允許開發人員為YugabyteDB重新設計PostgreSQL的Kine實現。然而需要繼續關注,這不會是一個簡單的提升和轉移的故事。

現在,將這些想法轉化為行動,并在YugabyteDB上啟動Kine。為此,使用了一個配備了8個CPU和32GB內存的Ubuntu22.04虛擬機。

首先,在虛擬機上啟動一個三個節點的YugabyteDB集群。在進行分布式之前,可以在單個服務器上對分布式SQL數據庫進行試驗。有多種方法可以在本地啟動YugabyteDB,但作者更喜歡的方法是通過Docker:

Shell 
 mkdir ~/yb_docker_data

 docker network create custom-network

 docker run -d --name yugabytedb_node1 --net custom-network \
 -p 15433:15433 -p 7001:7000 -p 9000:9000 -p 5433:5433 \
  -v ~/yb_docker_data/node1:/home/yugabyte/yb_data --restart unless-stopped \
  yugabytedb/yugabyte:latest \
  bin/yugabyted start --tserver_flags="ysql_sequence_cache_minval=1" \
  --base_dir=/home/yugabyte/yb_data --daemon=false
 
 docker run -d --name yugabytedb_node2 --net custom-network \
  -p 15434:15433 -p 7002:7000 -p 9002:9000 -p 5434:5433 \
  -v ~/yb_docker_data/node2:/home/yugabyte/yb_data --restart unless-stopped \
 yugabytedb/yugabyte:latest \
  bin/yugabyted start --join=yugabytedb_node1 --tserver_flags="ysql_sequence_cache_minval=1" \
  --base_dir=/home/yugabyte/yb_data --daemon=false
     
 docker run -d --name yugabytedb_node3 --net custom-network \
  -p 15435:15433 -p 7003:7000 -p 9003:9000 -p 5435:5433 \
  -v ~/yb_docker_data/node3:/home/yugabyte/yb_data --restart unless-stopped \
  yugabytedb/yugabyte:latest \
 bin/yugabyted start --join=yugabytedb_node1 --tserver_flags="ysql_sequence_cache_minval=1" \
 --base_dir=/home/yugabyte/yb_data --daemon=false

注:在啟動YugabyteDB節點時設置ysql_sequence_cache_minval=1,以確保數據庫序列可以按順序遞增1。如果沒有這個選項,一個Kine連接到YugabyteDB將緩存序列的下一個100個ID。這可能導致在Kubernetes集群引導期間出現“版本不匹配”錯誤,因為一個Kine連接可能插入ID范圍從1到100的記錄,而另一個Kine連接可能插入ID范圍從101到200的記錄。

接下來,使用PostgreSQL實現啟動一個連接到YugabyteDB的Kine實例:

(1)克隆Kine庫:

Shell 
1 git clone https://github.com/k3s-io/kine.git && cd kine

(2)啟動一個連接到本地YugabyteDB集群的Kine實例:

Shell 
1 go run . --endpoint postgres://yugabyte:yugabyte@127.0.0.1:5433/yugabyte

(3)連接YugabyteDB,確認Kine架構已準備就緒

SQL 
 psql -h 127.0.0.1 -p 5433 -U yugabyte

 yugabyte=# \d
       List of relations
 Schema |    Name     |   Type   |  Owner
 --------+-------------+----------+----------
  public | kine        | table    | yugabyte
  public | kine_id_seq | sequence | yugabyte
(2 rows)

很好,第一次測試成功了。Kine將YugabyteDB視為PostgreSQL,并且啟動時沒有任何問題。現在進入下一個階段:使用YugabyteDB在Kine之上啟動Kubernetes。

使用YugabyteDB在Kine上啟動Kubernetes

Kine可以被各種Kubernetes引擎使用,包括標準的Kubernetes部署、Rancher Kubernetes引擎(RKE)或K3 (一種輕量級的Kubernetes引擎)。為簡單起見,將使用后者。

K3s集群可以通過一個簡單的命令啟動:

(1)停止上一節中啟動的Kine實例。

(2)啟動連接到相同本地YugabyteDB集群的K3s(K3s可執行文件隨Kine提供):

Shell 
curl -sfL https://get.k3s.io | sh -s - server --write-kubeconfig-mode=644 \
 --token=sample_secret_token \
--datastore-endpoint="postgres://yugabyte:yugabyte@127.0.0.1:5433/yugabyte"

(3)Kubernetes啟動時應該沒有問題,可以通過運行以下命令來確認:

Shell 
 k3s kubectl get nodes
 NAME STATUS ROLES AGE VERSION
 ubuntu-vm Ready control-plane,master 7m13s v1.27.3+k3s1

Kubernetes在YugabyteDB上無縫運行。這要歸功于YugabyteDB很好的特性和與PostgreSQL的運行時兼容性。這意味著可以重用為PostgreSQL創建的大多數庫、驅動程序和框架。

這可能標志著這一旅程的結束,可以回顧一下K3s日志。在Kubernetes引導期間,日志可能會報告緩慢的查詢,如下所示:

SQL 
 INFO[0015] Slow SQL(total time: 3s) :
 SELECT
  *
 FROM (
  SELECT
  (
  SELECT
  MAX(rkv.id) AS id
  FROM
  kine AS rkv),
 (
  SELECT
  MAX(crkv.prev_revision) AS prev_revision
  FROM
  kine AS crkv
  WHERE
  crkv.name = 'compact_rev_key'), kv.id AS theid, kv.name, kv.created, kv.deleted, kv.create_revision, kv.prev_revision, kv.lease, kv.value, kv.old_value
  FROM
  kine AS kv
  JOIN (
  SELECT
  MAX(mkv.id) AS id
  FROM
  kine AS mkv
  WHERE
  mkv.name LIKE $1
  GROUP BY
  mkv.name) AS maxkv ON maxkv.id = kv.id
  WHERE
  kv.deleted = 0
  OR $2) AS lkv
 ORDER BY
  lkv.theid ASC
 LIMIT 10001

在一臺機器上運行YugabyteDB時,這可能不是一個重要的問題,但是一旦切換到分布式設置,這樣的查詢就會成為熱點并產生瓶頸。

因此克隆了Kine源代碼,并開始探索PostgreSQL實現,尋找潛在的優化機會。

YugabyteDB的Kine優化

在這里,Magda與Franck Pachot合作,Pachot是一位精通SQL層優化的數據庫專家,對應用程序邏輯沒有或只有很少的更改。

在檢查了Kine生成的數據庫模式并將EXPLAIN ANALYZE用于某些查詢之后,Franck提出了對任何分布式SQL數據庫都有利的基本優化。

幸運的是,優化不需要對Kine應用程序邏輯進行任何更改。所要做的就是引入一些SQL級別的增強。因此,創建了一個直接支持YugabyteDB的Kine fork。

與此同時,與PostgreSQL相比,YugabyteDB的實現有三個優化:

(1)kine表的主索引已從primary index(id)更改為primary INCEX(id asc)。在默認情況下,YugabyteDB使用哈希分片在集群中均勻分布記錄。然而,Kubernetes在id列上運行了許多范圍查詢,這使得切換到范圍分片是合理的。

(2)通過在索引定義中包括id列,kine_name_prev_revision_uindex索引已被更新為覆蓋索引:

CREATE UNIQUE INDEX IF NOT EXISTS kine_name_prev_revision_uindex ON kine (name asc, prev_revision asc) INCLUDE(id);

YugabyteDB的索引分布類似于表記錄。因此,索引條目可能引用存儲在不同YugabyteDB節點上的id。為了避免節點之間額外的網絡往返,可以將id包含在二級索引中。

(3)Kine在完成Kubernetes請求的同時執行許多連接。如果查詢規劃器/優化器決定使用嵌套循環連接,那么在默認情況下,YugabyteDB查詢層將每次讀取和連接一條記錄。為了加快這個過程,可以啟用批處理嵌套循環連接。YugabyteDB的Kine實現通過在啟動時執行以下語句來實現:

ALTER DATABASE " + dbName + " set yb_bnl_batch_size=1024;

嘗試一下這個優化的YugabyteDB實現。

首先,停止之前的K3s服務,并從YugabyteDB集群中刪除Kine模式:

(1)停止并刪除K3s服務:

Shell 
 sudo /usr/local/bin/k3s-uninstall.sh
 sudo rm -r /etc/rancher

(2)刪除模式:

SQL 
 psql -h 127.0.0.1 -p 5433 -U yugabyte

 drop table kine cascade;

接下來,啟動一個為YugabyteDB提供優化版本的Kine實例:

(1)克隆fork:

Shell 
 git clone https://github.com/dmagda/kine-yugabytedb.git && cd kine-yugabytedb

(2)啟動Kine:

Shell 
 go run . --endpoint "yugabytedb://yugabyte:yugabyte@127.0.0.1:5433/yugabyte"

Kine的啟動沒有任何問題。現在唯一的區別是,不是在連接字符串中指定“postgres”,而是指示“yugabytedb”以啟用優化的YugabyteDB實現。關于Kine和YugabyteDB之間的實際通信,Kine繼續使用Go的標準PostgreSQL驅動程序。

在Kine的優化版本上構建Kubernetes

最后,在這個優化版本的Kine上啟動k3。

要做到這一點,首先需要從資源中構建k3:

(1)停止上一節中啟動的Kine實例。

(2)克隆K3s存儲庫:

Shell 
 git clone --depth 1 https://github.com/k3s-io/k3s.git && cd k3s

(3)打開go.mod文件,并在replace(..)部分的末尾添加以下行:

Go 
 github.com/k3s-io/kine => github.com/dmagda/kine-yugabytedb v0.2.0

這條指令告訴Go使用帶有YugabyteDB實現的最新版本的Kinefork。

(4)啟用對私有倉庫和模塊的支持:

Shell 
 go env -w GOPRIVATE=github.com/dmagda/kine-yugabytedb

(5)確保更改生效:

Shell 
 go mod tidy

(6)準備構建K3s的完整版本:

Shell 
 mkdir -p build/data && make download && make generate

(7)構建完整版本:

Shell 
 SKIP_VALIDATE=true make

完成構建大約需要五分鐘。

注意:一旦停止使用這個自定義K3s構建,可以按照說明卸載它。

在優化的Kubernetes版本上運行示例工作負載

在構建完成后,可以使用Kine的優化版本啟動K3s。

(1)導航到包含構建構件的目錄:

Shell 
 cd dist/artifacts/

(2)通過連接到本地YugabyteDB集群啟動K3s:

Shell 
 sudo ./k3s server \
  --token=sample_secret_token \
 --datastore-endpoint="yugabytedb://yugabyte:yugabyte@127.0.0.1:5433/yugabyte"

(3)確認Kubernetes啟動成功:

Shell 
 sudo ./k3s kubectl get nodes

 NAME STATUS ROLES AGE VERSION
 ubuntu-vm Ready control-plane,master 4m33s v1.27.4+k3s-36645e73
 

現在,部署一個示例應用程序,以確保Kubernetes集群不僅僅能夠自我引導:

(1)采用Kubernetes克隆一個庫的例子:

Shell 
 git clone https://github.com/digitalocean/kubernetes-sample-apps.git

(2)部署Emojivoto應用:

Shell 
 sudo ./k3s kubectl apply -k ./kubernetes-sample-apps/emojivoto-example/kustomize

(3)確保所有部署和服務成功啟動:

Shell 
 sudo ./k3s kubectl get all -n emojivoto
 
 NAME READY STATUS RESTARTS AGE
 pod/vote-bot-565bd6bcd8-rnb6x    1/1 Running 0 25s
 pod/web-75b9df87d6-wrznp  1/1 Running 0 24s
 pod/voting-f5ddc8ff6-69z6v   1/1 Running 0 25s
 pod/emoji-66658f4b4c-wl4pt  1/1 Running 0 25s

 NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
 service/emoji-svc   ClusterIP 10.43.106.87 <none> 8080/TCP,8801/TCP 27s
 service/voting-svc   ClusterIP 10.43.14.118 <none> 8080/TCP,8801/TCP 27s
 service/web-svc   ClusterIP 10.43.110.237 <none> 80/TCP 27s

 NAME READY UP-TO-DATE AVAILABLE AGE
 deployment.apps/vote-bot  1/1 1 1 26s
 deployment.apps/web   1/1 1 1 25s
 deployment.apps/voting 1/1 1 1 26s
 deployment.apps/emoji 1/1 1 1 26s

 NAME DESIRED CURRENT READY AGE
 replicaset.apps/vote-bot-565bd6bcd8  1 1 1 26s
 replicaset.apps/web-75b9df87d6 1 1 1 25s
 replicaset.apps/voting-f5ddc8ff6  1 1 1 26s
 replicaset.apps/emoji-66658f4b4c  1  1   1   26s

(4)使用CLUSTER_IP:80調用服務/web svc以觸發應用程序邏輯:

Shell 
 curl 10.43.110.237:80

應用程序將使用以下HTML進行響應:

HTML 
 <!DOCTYPE html>
 <html>
  <head>
  <meta charset="UTF-8">
  <title>Emoji Vote</title>
  <link rel="icon" href="/img/favicon.ico">
 
  <script async src="https://www.googletagmanager.com/gtag/js?id=UA-60040560-4"></script>
  <script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', 'UA-60040560-4');
  </script>
 </head>
 <body>
  <div id="main" class="main"></div>
  </body>
 
 <script type="text/javascript" src="/js" async></script>
 
 </html>

結語

完成工作Kubernetes現在可以使用YugabyteDB作為其所有數據的分布式和高可用性SQL數據庫。

現在可以進入下一階段:在跨多個可用性區域和區域的真正云計算環境中部署Kubernetes和YugabyteDB,并測試解決方案如何處理各種中斷。

原文標題:Kubernetes Evolution: Transitioning from etcd to Distributed SQL,作者:Denis Magda


責任編輯:華軒 來源: 51CTO
相關推薦

2023-05-12 08:23:03

分布式系統網絡

2020-08-03 07:00:00

SQL數據庫

2022-12-04 22:41:15

IPC分布式機制

2024-04-22 08:10:29

2021-11-26 06:43:19

Java分布式

2024-06-07 07:41:03

2017-09-01 05:35:58

分布式計算存儲

2017-07-26 14:55:32

分布式技術架構

2021-03-17 10:51:16

架構運維技術

2022-11-06 19:28:02

分布式鎖etcd云原生

2010-07-06 09:39:20

SQL Server分

2019-06-19 15:40:06

分布式鎖RedisJava

2024-01-22 13:55:00

2022-03-29 23:17:52

PostgreSQL集群Citus

2024-06-12 09:06:48

2013-06-07 13:46:29

分布式存儲自動化運維

2021-04-29 19:07:33

Redis演進微服務

2009-09-18 15:10:13

分布式事務LINQ TO SQL

2024-04-11 12:42:30

2024-01-29 14:46:22

分布式計算云計算邊緣計算
點贊
收藏

51CTO技術棧公眾號

精品亚洲夜色av98在线观看| 香蕉久久久久久久| 加勒比av在线播放| 欧美××××黑人××性爽 | 91精品一区二区三区综合| 午夜影院久久久| 国产有码在线一区二区视频| 久久久久久久人妻无码中文字幕爆| 黄色在线小视频| 日韩精品视频中文字幕| 国产日韩欧美精品综合| 97在线观看视频| 三级性生活视频| av二区在线| 天堂蜜桃91精品| 亚洲乱码av中文一区二区| 成年人午夜免费视频| 亚洲国产精彩视频| 欧美va亚洲va日韩∨a综合色| 欧美老女人第四色| 亚洲不卡1区| 激情综合网五月天| 精品国产精品| 欧美最新大片在线看| 欧美日韩精品免费在线观看视频| 日韩网红少妇无码视频香港| 136国产福利精品导航网址应用| 亚洲视频免费在线观看| 亚洲最大成人免费视频| 麻豆天美蜜桃91| 欧美视频二区欧美影视| 夜夜精品浪潮av一区二区三区| 91免费版网站在线观看| 性欧美高清come| 波多野结衣精品| 国产成人自拍高清视频在线免费播放| 丝袜美腿精品国产二区| 日本xxxx黄色| 中文日本在线观看| 91色在线porny| 欧洲一区二区视频| 久久久久久国产免费a片| 国产电影一区二区三区爱妃记| 国产日产精品1区| 91高清免费视频| 天天干天天舔天天操| 欧美巨大xxxx| 在线免费观看不卡av| 久久久亚洲精品无码| 青青草在线视频免费观看| 久久一区二区三区超碰国产精品| 欧美激情一级精品国产| 插我舔内射18免费视频| 欧美极度另类| 欧美性极品xxxx做受| 色播五月综合| 岛国大片在线观看| 欧美资源在线| 最好看的2019年中文视频| 亚洲av无码一区二区二三区| 99热播精品免费| 亚洲三级小视频| 91免费网站视频| 色呦呦视频在线| 日本不卡高清视频| 欧美成人精品影院| 黄色片视频免费观看| 福利视频亚洲| 欧美精品一二三| 肉色超薄丝袜脚交| 欧美成人资源| 91福利国产成人精品照片| 一区二区三区观看| 亚洲色大成网站www| 狠狠色丁香久久婷婷综合_中 | 麻豆免费在线观看| 99国产精品久久久久| 国产原创欧美精品| 国产av无码专区亚洲av| 老牛国产精品一区的观看方式| 日本精品一区二区三区在线播放视频| 免费看一级黄色| 色吊丝一区二区| 欧美一级电影网站| 15—17女人毛片| 伊人久久大香伊蕉在人线观看热v| 欧美日韩色婷婷| 日韩一级特黄毛片| 成人77777| 亚洲欧美日韩久久精品| 欧美视频在线观看网站| av高清一区| 亚洲国产精品一区二区久久| 正在播放一区| 成人高清在线| 亚洲免费观看高清完整版在线观看熊| 日韩精品一区二区三区色偷偷| 亚洲第一免费视频| 91免费版在线看| 一区不卡视频| 国产乱码午夜在线视频| 97国产一区二区| 日韩免费毛片| 1区2区3区在线视频| 国产精品国产三级国产三级人妇| 久久精品国产综合精品| 人妻精品无码一区二区| 国产91精品一区二区麻豆网站| 成人精品aaaa网站| 在线观看毛片网站| 免费在线看成人av| 国产精品高清免费在线观看| 秋霞精品一区二区三区| 国产专区一区| 久久久久久18| 亚洲无码精品在线播放| 91视频xxxx| 日本天堂免费a| jizzjizz少妇亚洲水多| 亚洲精品大尺度| 天天躁日日躁狠狠躁av麻豆男男| 日韩av在线播放网址| 在线视频免费一区二区| 国产人成视频在线观看| 99九九热只有国产精品| 久久成人精品一区二区三区| av黄色免费在线观看| 亚洲国产一区二区在线观看| 日韩免费在线视频| 天堂网在线中文| 夜夜嗨av一区二区三区中文字幕 | 成人国产精品视频| 成人三级在线| 色视频在线看| 午夜私人影院久久久久| 亚洲精品国产久| 久久精品国产亚洲夜色av网站| 中文字幕欧美专区| 天天综合天天干| 日av在线不卡| 久久亚洲午夜电影| 三区四区在线视频| 夜夜操天天操亚洲| 中文字幕avav| 色婷婷综合久久久久久| 久久久这里只有精品视频| 无码人妻aⅴ一区二区三区有奶水| 日韩中文字幕91| 91手机视频在线观看| 无码h黄肉3d动漫在线观看| 亚洲男人的天堂av| 亚洲欧美日韩网站| 中文乱码免费一区二区三区下载| 久久久噜久噜久久综合| 亚洲国产视频一区二区三区| 一区二区在线电影| 成人免费毛片在线观看| 超碰精品在线观看| 一区二区三区国产视频| 久久久久久亚洲av无码专区| 国产精品综合av一区二区国产馆| 久久久99国产精品免费| 日韩伦理在线一区| 岛国精品在线观看| 日韩国产一区久久| 色猫猫成人app| 久久精品99久久香蕉国产色戒| 日本少妇激情视频| 久久99精品久久久久| 国产中文一区二区| 婷婷视频在线| 日韩亚洲欧美高清| 粉嫩aⅴ一区二区三区| 91片黄在线观看| 999精彩视频| 中文字幕免费精品| 狠狠色狠狠色综合人人| 中文字幕中文字幕在线十八区| 日韩亚洲欧美在线| 女人十八岁毛片| 国产传媒久久文化传媒| 久久久久久久久久久99| 少妇精品久久久| 97精品在线观看| 久久这里精品| 欧美日韩视频免费播放| 日韩不卡av在线| 美女91精品| 一区二区三区四区欧美| a看欧美黄色女同性恋| 日韩av免费在线| а√天堂8资源在线官网| 欧美日韩成人高清| 91视频在线网站| 一区二区日本视频| 高清国产在线一区| 日韩新的三级电影| 欧美另类暴力丝袜| 国产sm主人调教女m视频| 婷婷夜色潮精品综合在线| 91精品人妻一区二区三区蜜桃2| 久久国产精品亚洲人一区二区三区| 91九色露脸| 成人做爰免费视频免费看| 久久久最新网址| 国产写真视频在线观看| 欧美美女一区二区三区| 亚洲免费激情视频| 自拍偷拍国产精品| 中文字幕55页| 久久九九精品| 精品一二三四五区| 日本精品视频| 国产精品久久一区| 色大18成网站www在线观看| 日韩精品视频在线免费观看| 你懂的国产在线| 一区二区免费看| 色婷婷粉嫩av| 国产日韩精品一区二区三区在线| 久久精品aⅴ无码中文字字幕重口| 国内一区二区三区| 伊人情人网综合| 禁断一区二区三区在线| 国产在线视频91| 亚洲欧美在线成人| 欧美亚洲在线视频| porn视频在线观看| 精品视频在线播放免| 欧美视频一二区| 日韩女优制服丝袜电影| 五月天综合激情| 一区二区三区中文字幕| 翔田千里88av中文字幕| 国产精品久久久久久久蜜臀| www.污网站| 久久99国内精品| 色播五月激情五月| 亚洲精华国产欧美| 日本不卡免费新一二三区| 久久亚洲精品人成综合网| 欧美精品在线免费| 成人免费网站在线观看视频| 久久精品免费播放| 国产在线观看91| 久久精品小视频| jizz性欧美| 欧美高清不卡在线| 久久久资源网| 亚洲区中文字幕| 精品人妻无码一区二区色欲产成人 | 懂色中文一区二区在线播放| 中文字幕乱妇无码av在线| 影音先锋一区| 神马影院一区二区三区| 欧美色网址大全| 国产日韩精品一区观看| 国产图片一区| 国产专区欧美专区| 亚洲综合视频| 国产成人免费观看| 狠狠一区二区三区| 成人精品视频在线| 91精品网站在线观看| 91传媒视频在线观看| aaa国产精品视频| 精品一区二区三区视频日产| 台湾亚洲精品一区二区tv| 日本一区二区三区视频在线播放| 欧美一区二区三区高清视频| 资源网第一页久久久| 国产精品a久久久久| 亚洲欧美电影在线观看| 先锋资源久久| 日本手机在线视频| 日产欧产美韩系列久久99| www.桃色.com| 不卡在线视频中文字幕| 久久精品国产亚洲av麻豆| 国产精品天天摸av网| 插吧插吧综合网| 国产精品视频一二三区| 欧美片一区二区| 精品高清一区二区三区| 日批视频免费观看| 一本色道久久综合亚洲aⅴ蜜桃 | 里番在线观看网站| 久久男人av资源网站| 丝袜美腿一区| 亚洲自拍另类欧美丝袜| 亚洲电影男人天堂| 国产精品日韩欧美一区二区| 国产精品日本一区二区不卡视频| 国产精品99免视看9| 澳门成人av网| 欧美亚洲另类视频| 国产精品久一| 老司机精品福利在线观看| 久久久久久久久99精品大| 欧美国产亚洲一区| 影音先锋亚洲精品| 在线观看岛国av| 91色porny蝌蚪| 懂色av懂色av粉嫩av| 国产精品丝袜一区| 久草视频在线观| 91精品国产综合久久久久| 波多野结衣午夜| 亚洲成人激情图| 黑人精品一区二区三区| 亚洲第一福利在线观看| 五月天婷婷在线视频| 欧美一级视频在线观看| 免费一级欧美片在线观看网站| 品久久久久久久久久96高清| 最新日韩欧美| 18深夜在线观看免费视频| 欧美激情一区二区三区不卡| 国产香蕉视频在线| 日韩一区二区三区在线视频| 日本在线免费| 国产精品对白刺激| 女优一区二区三区| 欧美成人一区二区在线观看| 成人亚洲精品久久久久软件| 日本一级特级毛片视频| 欧美日韩一区二区三区视频| 国产原创中文av| 欧美成人艳星乳罩| 少妇av在线播放| 欧美多人乱p欧美4p久久| 日韩午夜视频在线| 国产99在线免费| 中文字幕乱码亚洲无线精品一区| 伊人成人222| 国产精品污污网站在线观看| 天天爱天天做天天爽| 亚洲精品中文字幕女同| 五月天av在线| 国产日韩在线播放| 日韩精品永久网址| 超碰超碰在线观看| 成人一区二区三区中文字幕| 美女的奶胸大爽爽大片| 黑丝美女久久久| 日本亚洲一区| 国产福利成人在线| 成人女性视频| 精品亚洲视频在线| 亚洲视频免费观看| 国产成人精品毛片| 欧美国产日韩一区二区在线观看| 在线精品视频一区| 成人免费在线网| 老司机午夜精品| 亚洲精品无码一区二区| 亚洲无线码一区二区三区| 午夜精品久久久久久久蜜桃| 亚洲图片欧洲图片av| 久久亚洲导航| 国产成人午夜视频网址| 国产精品一区2区3区| 欧美成年人视频在线观看| 中文字幕色av一区二区三区| 精品人妻久久久久一区二区三区| 欧美激情免费观看| 亚洲国产合集| jizz大全欧美jizzcom| 亚洲欧美区自拍先锋| 日本xxxxwww| 国产精品激情av在线播放| 99久久99久久精品国产片桃花 | 国产精品午夜在线| 99草在线视频| 一区二区三区天堂av| 色婷婷成人网| 成年人看的毛片| 国产日韩精品一区二区三区在线| 国产情侣激情自拍| 78色国产精品| 91九色精品| 日b视频在线观看| 欧美色图在线观看| 国产乱妇乱子在线播视频播放网站| 精品欧美一区二区三区久久久 | 亚洲av综合色区无码另类小说| 精品国产乱码久久久久久虫虫漫画 | jvid一区二区三区| 无码人妻少妇伦在线电影| 久久久不卡网国产精品一区| 精品无码人妻一区二区三| 欧美日本一区二区| 91资源在线观看| 亚洲精品女av网站| 亚洲免费在线| 懂色av粉嫩av蜜乳av| 精品久久久久久中文字幕| 日韩在线资源| 欧美极品一区二区| 国产成人在线视频播放|