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

使用容器的正確方式,Docker在雪球的技術實踐

原創
開發 架構
雪球目前擁有一千多個容器,項目數量大概有一百多個,規模并不是很大。但是得益于容器技術,雪球部署的效率非常高,雪球的開發人員只有幾十個,但是每個月的發布次數高達兩千多次。

【51CTO.com原創稿件】雪球目前擁有一千多個容器,項目數量大概有一百多個,規模并不是很大。但是得益于容器技術,雪球部署的效率非常高,雪球的開發人員只有幾十個,但是每個月的發布次數高達兩千多次。

[[243793]]

2018 年 5 月 18-19 日,由 51CTO 主辦的全球軟件與運維技術峰會在北京召開。在“開源與容器技術”分會場,雪球 SRE 工程師董明鑫帶來了《容器技術在雪球的實踐》的主題分享。

本文主要分為如下三個方面跟大家分享雪球在業務中引入和使用容器技術的心路歷程:

  • 為什么要引入 Docker
  • Docker 在雪球的技術實踐
  • 后續演進

雪球是一個投資者交流的社區,用戶可以在上面買賣股票,代銷基金等各種金融衍生業務,同時也可以通過雪盈證券來進行滬、深、港、美股的交易。

為什么要引入 Docker

隨著業務的發展,不同的社區業務之間所受到影響的概率正在逐漸升高,因此我們希望各個業務之間既能夠不被打擾,又能在資源上、機器間、甚至網絡上根據監管的要求予以不同層面的隔離。

早在 2014 年時,我們就發現容器技術具有本身鏡像小、靈活、啟動速度快等特點,而且在性能上比較適合于我們當時物理機不多的規模環境。

相比而言,傳統的虛擬化技術不但實現成本高,而且性能損耗也超過 10%。因此,基于對鏡像大小、啟動速度、性能損耗、和隔離需求的綜合考慮,我們選用了兩種容器引擎:LXC 和 Docker。

我們把 MySQL 之類有狀態的服務放在 LXC 里;而將線上業務之類無狀態的服務放在 Docker 中。

容器使用方法

眾所周知,Docker 是以類似于單機的軟件形態問世的,最初它的宣傳口號是:Build/Ship/Run。

因此它早期的 Workflow(流程)是:

  • 在一臺 Host 主機上先運行 Docker Build。
  • 然后運用 Docker Pull,從鏡像倉庫里把鏡像拉下來。
  • ***使用 Docker Run,就有了一個運行的 Container。

需要解決的問題

上述的流程方案伴隨著如下有待解決的問題:

  • 網絡連通性,由于是單機軟件,Docker 最初默認使用的是 Bridge 模式,不同宿主機之間的網絡并不相通。因此,早期大家交流最多的就是如何解決網絡連通性的問題。
  • 多節點的服務部署與更新,在上馬該容器方案之后,我們發現由于本身性能損耗比較小,其節點的數量會出現爆炸式增長。

因此,往往會出現一臺物理機上能夠運行幾十個節點的狀況。容器節點的絕對數量會比物理節點的數量大一個數量級,甚至更多。那么這么多節點的服務部署與更新,直接導致了工作量的倍數增加。

  • 監控,同時,我們需要為這么多節點的運行狀態采用合適的監控方案。

Docker 在雪球的技術實踐

網絡模式

首先給大家介紹一下我們早期的網絡解決方案:在上圖的左邊,我們默認采用的是 Docker 的 Bridge 模式。

大家知道,默認情況下 Docker 會在物理機上創建一個名為 docker0 的網橋。

每當一個新的 Container 被創建時,它就會相應地創建出一個 veth,然后將其連到容器的 eth0 上。

同時,每一個 veth 都會被分配到一個子網的 IP 地址,以保持與相同主機里各個容器的互通。

由于在生產環境中不只一張網卡,因此我們對它進行了改造。我們產生了一個“網卡綁定”,即生成了 bond0 網卡。我們通過創建一個 br0 網橋,來替換原來的 docker0 網橋。

在該 br0 網橋中,我們所配置的網段和物理機所處的網段是相同的。由于容器和物理機同處一個網段,因此核心上聯的交換機能夠看到該容器和不同宿主機的 MAC 地址。這就是一個網絡二層互通的解決方案。

該網絡模式具有優劣兩面性:

  • 優點:由于在網絡二層上實現了連接互通,而且僅用到了內核轉發,因此整體性能非常好,與物理機真實網卡的效率差距不大。
  • 缺點:管理較為復雜,需要我們自己手動的去管理容器的 IP 和 MAC 地址。

由于整體處于網絡大二層,一旦系統達到了一定規模,網絡中的 ARP 包會產生網絡廣播風暴,甚至會偶發出現 PPS(Package Per Second)過高,網絡間歇性不通等奇怪的現象。

由于處于底層網絡連接,在實現網絡隔離時也較為復雜。

服務部署

對于服務的部署而言,我們最初沿用虛擬機的做法,將容器啟動起來后就不再停下了,因此:

  • 如果節點需要新增,我們就通過 Salt 來管理機器的配置。
  • 如果節點需要更新,我們就通過 Capistrano 進行服務的分發,和多個節點的部署操作,變更容器中的業務程序。

其中,優勢為:

  • 與原來的基礎設施相比,遷移的成本非常低。由于我們通過復用原來的基礎設施,直接將各種服務部署在原先的物理機上進行,因此我們很容易地遷移到了容器之中。

而對于開發人員來說,他們看不到容器這一層,也就如同在使用原來的物理機一樣,毫無“違和感”。

  • 與虛擬機相比,啟動比較快,運行時沒有虛擬化的損耗。
  • 最重要的是一定程度上滿足了我們對于隔離的需求。

而劣勢則有:

  • 遷移和擴容非常繁瑣。例如:當某個服務需要擴容時,我們就需要有人登錄到該物理機上,生成并啟動一個空的容器,再把服務部署進去。此舉較為低效。
  • 缺乏統一的平臺進行各種歷史版本的管理與維護。我們需要通過文檔來記錄整個機房的容器數量,和各個容器的 IP/MAC 地址,因此出錯的可能性極高。
  • 缺少流程和權限的控制。我們基本上采用的是原始的管控方式。

自研容器管理平臺

面對上述缺點,我們需要自行研發一個容器管理平臺,去管理各種物理機、容器、IP 與 MAC 地址、以及進行流程控制。

因此我們變更的整套發布流程為:

  • 由開發人員將代碼提交到代碼倉庫(如 Github)之中。
  • 觸發一個 Hook 去構建鏡像,在構建的同時做一些 CI(持續集成),包括靜態代碼掃描和單測等。
  • 將報告附加到鏡像的信息里,并存入鏡像倉庫中。
  • 部署測試環境。
  • 小流量上線,上線之后,做一些自動化的 API Diff 測試,以判斷是否可用。
  • 繼續全量上線。

鏡像構建

有了容器管理平臺,就會涉及到鏡像的自動構建。和業界其他公司的做法類似,我們也使用的是基于通用操作系統的鏡像。

然后向鏡像中添加那些我們公司內部會特別用到的包,得到一個通用的 base 鏡像,再通過分別加入不同語言的依賴,得到不同的鏡像。

每次業務版本發布,將代碼放入相應語言的鏡像即可得到一個業務的鏡像。構建鏡像的時候需要注意盡量避免無用的層級和內容,這有助于提升存儲和傳輸效率。

系統依賴

我們的這一整套解決方案涉及到了如下周邊的開源項目與技術:

負載均衡

由于會頻繁發生節點的增減,我們該如何通過流量的調度和服務的發現,來實現自動加入負載均衡呢?對于那些非 Http 協議的 RPC,又該如何自動安全地摘掉某個節點呢?

我們在此使用了 Nginx+Lua(即 OpenResty),去實現邏輯并動態更改 Upstream。

當有節點啟動時,我們就能夠將它自動注冊與加入;而當有節點被銷毀時,也能及時將其摘掉。

同時,我們在內部使用了 Finagle 作為 RPC 的框架,并通過 ZooKeeper 實現了服務的發現。

日志收集

由于節點眾多,我們需要進行各種日志的收集。在此,我們大致分為兩類收集方式:

  • 一類是 Nginx 這種不易侵入代碼的,我們并沒有設法去改變日志的流向,而是讓它直接“打”到物理機的硬盤上,然后使用 Flume 進行收集,傳輸到  Kafka 中。
  • 另一類是我們自己的業務。我們實現了一個 Log4 Appender,把日志直接寫到 Kafka,再從 Kafka 轉寫到 ElasticSearch 里面。

網絡模式

在該場景下,我們采用的是上述提到的改進后的 Bridge+Host 模式。

監控系統

監控系統由上圖所示的幾個組件所構成。它將收集(Collector)到的不同監控指標數據,傳輸到 Graphite 上,而 Grafana 可讀取 Graphite 的信息,并用圖形予以展示。

同時,我們也根據內部業務的適配需要,對報警組件 Cabot 進行了改造和定制。

此時我們的平臺已經與虛擬機的用法有了較大的區別。如上圖所示,主要的不同之處體現在編譯、環境、分發、節點變更,流程控制、以及權限控制之上。我們的用法更具自動化。

由于是自行研發的容器管理平臺,這給我們帶來的直接好處包括:

  • 流程與權限的控制。
  • 代碼版本與環境的固化,多個版本的發布,鏡像的管理。
  • 部署與擴容效率的大幅提升。

但是其自身也有著一定的缺點,包括:

  • 在流程控制邏輯,機器與網絡管理,以及本身的耦合程度上都存在著缺陷。因此它并不算是一個非常好的架構,也沒能真正實現“高內聚低耦合”。
  • 由于是自研的產品,其功能上并不完善,沒能實現自愈,無法根據新增節點去自動選擇物理機、并自動分配與管理 IP 地址。

引入 Swarm

2015 年,我們開始著手改造該容器管理平臺。由于該平臺之前都是基于 DockerAPI 構建的。

而 Swarm 恰好能對 Docker 的原生 API 提供非常好的支持,因此我們覺得如果引入 Swarm 的話,對于以前代碼的改造成本將會降到***。

那么我們該如何對原先的網絡二層方案進行改造呢?如前所述,我們一直實現的是讓容器的 IP 地址與物理機的 IP 地址相對等。

因此并不存在網絡不通的情況。同時,我們的 Redis 是直接部署在物理機上的。

所以依據上圖中各個列表的對比,我們覺得 Calico 方案更適合我們的業務場景。

因此,我們在上層使用 Rolling 來進行各種流程的操作,中下層則用 Swarm+Calico 來予以容器和網絡的管理。

Calico 使用的是 DownwardDefault 模式,該模式通過運用 BGP 協議,來實現對于不同機器之間路由信息的分發。

在默認情況下,Calico 是 Node 與 Node 之間的 Mesh 方式,即:任意兩個 Node 之間都有著 BGP 連接。

當我們在一臺物理機上啟動了某個容器之后,它就會添加一條包含著從容器 IP 地址到物理機的路由信息。

由于多臺物理機同處一個 Mesh,那么每一臺機器都會學習到該路由信息。而隨著我們系統規模的逐漸增大,每一臺物理機上的路由表也會相應地增多,這就會影響到網絡的整體性能。

因此我們需要采用這種 Downward Default 部署模式,使得不必讓每臺物理機都擁有全量的路由表,而僅讓交換機持有便可。

眾所周知,BGP 會給每一臺物理機分配一個 AS(自治域是 BGP 中的一個概念)號,那么我們就可以給各臺物理機都分配相同的 AS 號。

而給它們的上聯交換機分配另一個 AS 號,同時也給核心交換機再分配第三種 AS 號。

通過此法,每一臺物理機只會和自己上聯的交換機做路由分發,那么當有一個新的節點啟動之后,我們便可以將這條路由信息插入到該節點自己的路由表中,然后再告知與其相連的上聯交換機。

上聯交換機在學習到了這條路由之后,再進一步推給核心交換機。

總結起來,該模式的特點是:

  • 單個節點不必知道其他物理機的相關信息,它只需將數據包發往網關便可。因此單臺物理機上的路由表也會大幅減少,其數量可保持在“單機上的容器數量 +一個常數(自行配置的路由)”的水平上。
  • 每個上聯交換機只需掌握自己機架上所有物理機的路由表信息。
  • 核心交換機則需要持有所有的路由表。而這恰是其自身性能與功能的體現。

當然,該模式也帶來了一些不便之處,即:對于每一個數據流量而言,即使目標 IP 在整個網絡中并不存在,它們也需要一步一步地向上查詢直到核心交換機處,***再判斷是否真的需要丟棄該數據包。

后續演進

在此之后,我們也將 DevOps 的思想和模式逐步引入了當前的平臺。具體包括如下三個方面:

  • 通過更加自助化的流程,來解放運維。讓開發人員自助式地創建、添加、監控他們自己的項目,我們只需了解各個項目在平臺中所占用的資源情況便可,從而能夠使得自己的精力更加專注于平臺的開發與完善。
  • 如今,由于 Kubernetes 基本上已成為了業界的標準,因此我們逐步替換了之前所用到的 Swarm,并通過 Kubernetes 來實現更好的調度方案。
  • 支持多機房和多云環境,以達到更高的容災等級,滿足業務的發展需求,并完善集群的管理。

上圖展示了一種嵌套式的關系:在我們的每一個 Project 中,都可以有多個 IDC。

而每個 IDC 里又有著不同的 Kubernetes 集群。同時在每一個集群里,我們為每一個項目都分配了一個 Namespace。

根據不同的環境,這些項目的 Namespace 會擁有不同的 Deployment。例如想要做到部署與發布的分離,我們就相應地做了多個 Deployment,不同的 Deployment 標示不同的環境。

默認將流量引入***個 Deployment,等到第二個 Deployment 被部署好以后,需要發布的時候,我們再直接把流量“切”過去。

同時,鑒于我們的平臺上原來就已經具有了諸如日志、負載均衡、監控之類的解決方案。

而 Kubernetes 本身又是一個較為全面的解決方案,因此我們以降低成本為原則,謹慎地向 Kubernetes 進行過渡,盡量保持平臺的兼容性,不至讓開發人員產生“違和感”。

如今,我們的容器只有一千多個,項目數量大概有一百多個。但是我們在部署效率方面的提升還是非常顯著的,我們的幾十個開發人員每個月所發布的次數就能達到兩千多次,每個交易日的日志量大概有 1.5T。

[[243798]]

董明鑫,雪球網運維開發架構師,曾就職百度,2014 年加入雪球,目前主要負責保障雪球穩定性、提升資源利用率及提高開發效率等方面。關注容器生態圈的技術發展。

【51CTO原創稿件,合作站點轉載請注明原文作者和出處為51CTO.com】

 

責任編輯:武曉燕 來源: 51CTO技術棧
相關推薦

2018-06-06 10:50:18

容器開源

2024-05-29 12:39:55

2018-04-12 08:37:27

2024-08-07 10:24:04

2022-07-25 14:24:53

Docker容器安全

2009-11-26 11:25:08

PHP引號

2024-09-19 08:49:13

2018-03-23 17:35:21

WOT2018董明鑫Docker

2024-01-10 09:48:52

Docker工具

2017-07-05 18:27:27

開發編程程序員

2016-04-07 09:39:33

雪球唐福林實踐歷程

2023-10-10 17:09:19

2017-07-17 16:27:10

Docker Comp鏈接容器

2015-05-27 09:13:15

DaoCloudDocker容器

2015-05-27 09:08:26

容器云平臺Daocloud

2019-05-14 14:27:36

KubernetesDocker存儲

2019-12-16 12:11:53

Docker容器Kubernetes

2021-10-19 09:46:22

ReactGo 技術

2023-06-07 08:32:32

引擎技術while

2023-07-31 13:49:11

點贊
收藏

51CTO技術棧公眾號

成人午夜视频精品一区| 老太脱裤子让老头玩xxxxx| 中文字幕人妻色偷偷久久| 欧美成人精品一区二区三区在线看| 欧美亚男人的天堂| 欧美与动交zoz0z| 天堂网在线中文| 蜜桃av一区二区| 97免费视频在线| 亚洲精品国产精品国自| 91精品短视频| 欧美在线观看一区二区| 毛片av在线播放| 黄色av免费在线观看| 精品一区二区三区免费| 38少妇精品导航| 懂色av懂色av粉嫩av| 亚洲综合小说图片| 欧美电影免费观看完整版| 日韩毛片在线免费看| 污污影院在线观看| 国产精品网站一区| 久久99精品国产99久久| 国产夫妻在线观看| 蜜桃在线一区二区三区| 98精品国产自产在线观看| 精品少妇一区二区三区密爱| 三级小说欧洲区亚洲区| 日韩一区二区三区视频在线观看| 91看片就是不一样| 黄视频免费在线看| 亚洲精品伦理在线| 一区二区三区视频| 国产三级电影在线观看| 不卡av在线免费观看| 91久久久国产精品| 正在播放亚洲精品| 性欧美xxxx大乳国产app| 九九九久久久久久| 精品国产国产综合精品| 激情五月综合| 亚洲码在线观看| 少妇被狂c下部羞羞漫画| 久久久久九九精品影院| 欧美电影一区二区三区| 欧美性猛交久久久乱大交小说| 成人av影院在线观看| 亚洲精品成人悠悠色影视| 在线观看日韩片| 午夜视频在线观看网站| 中文字幕乱码亚洲精品一区| 欧美日韩在线观看一区| 香蕉人妻av久久久久天天| 波多野结衣中文字幕一区| 国产成人精品日本亚洲11| 国产99视频在线| 国产精品一区二区不卡| 91探花福利精品国产自产在线| 91国内精品视频| 久久国产精品无码网站| 91精品视频网站| 国产乱淫a∨片免费观看| 极品美女销魂一区二区三区| 国产精品亚洲美女av网站| 精品乱码一区内射人妻无码 | 这里只有精品999| 日本成人中文字幕| 国产精品亚洲一区二区三区| 亚洲一级黄色大片| 国产呦萝稀缺另类资源| 亚洲在线观看视频| 空姐吹箫视频大全| 91视频精品在这里| 日本精品二区| 九色porny丨首页在线| 亚洲综合免费观看高清完整版| 国产精品视频二| 岛国av在线网站| 91搞黄在线观看| 爱豆国产剧免费观看大全剧苏畅| 国产日本亚洲| 亚洲成人在线网| 少妇精品一区二区三区| 成人国产精品一级毛片视频| 久久综合五月天| 97超碰人人干| 蜜臀久久99精品久久久久久9| 成人伊人精品色xxxx视频| 一本色道久久综合熟妇| 成人永久免费视频| 国产精品一区二区免费看| 人妻无码中文字幕| 欧美激情中文字幕一区二区| aaa免费在线观看| 国产99在线观看| 欧美日韩色一区| 91av免费观看| 国产一区二区三区四区| 欧美精品在线网站| 色老头在线视频| 国产成人8x视频一区二区| 欧美在线视频一区二区三区| 免费在线观看av片| 精品动漫一区二区| 99热一区二区| 一区二区三区韩国免费中文网站| 精品国产一区二区在线| 黄网在线观看视频| 激情综合色播激情啊| 久久精品久久精品国产大片| 美女写真理伦片在线看| 欧美性猛交xxxx免费看漫画| 热久久久久久久久| 亚洲女娇小黑人粗硬| 欧美美女15p| 日韩av免费播放| 成人国产精品视频| 自拍偷拍一区二区三区| 欧美特大特白屁股xxxx| 欧美v日韩v国产v| 亚洲一区电影在线观看| 日韩精品一区第一页| 精品国产综合| 国内在线免费视频| 日韩一区二区三区在线| 亚洲综合久久av一区二区三区| 亚洲综合不卡| 国产视频一区二区不卡| av电影免费在线观看| 欧美日韩久久一区| 欧美激情视频二区| 乱人伦精品视频在线观看| 国产精品免费视频一区二区 | 精品区在线观看| 最新国产成人在线观看| 手机在线成人免费视频| 国产中文精品久高清在线不| 7777kkkk成人观看| 人妻少妇精品无码专区| 亚洲成人免费在线| av在线天堂网| 欧美色图首页| av日韩免费电影| 五月花成人网| 欧美xxxx老人做受| 国产精品99无码一区二区| 国产黄人亚洲片| 国产成人免费高清视频| 久久久久九九精品影院| 欧美成年人视频网站欧美| 国产精品热久久| 《视频一区视频二区| 91国内在线播放| 国产在线日韩精品| 国产精品wwww| 888av在线| 337p亚洲精品色噜噜| 日本黄色小说视频| 成人免费视频app| 男女激情无遮挡| 麻豆成人入口| 国产精品99蜜臀久久不卡二区| 国产三级视频在线看| 欧美日韩国产精品成人| 在线观看亚洲网站| 国产成人午夜99999| 好吊妞无缓冲视频观看| 国产探花在线精品| 国产精品成熟老女人| 高h视频在线观看| 日韩色在线观看| 日韩精品久久久久久久| 久久一留热品黄| 久热精品在线播放| 欧美91精品| 蜜桃999成人看片在线观看| 亚洲精品555| 久久国产精品久久久久久| 男人天堂网在线视频| 色先锋aa成人| 欧美视频www| 92国产精品观看| 激情五月俺来也| 韩日成人av| 日韩免费一区二区三区| 精品麻豆剧传媒av国产九九九| 97视频免费在线观看| av在线之家电影网站| 日韩欧美成人激情| 日韩在线播放中文字幕| 亚洲日本va在线观看| 亚洲av网址在线| 久久99精品久久久久久久久久久久| 91免费国产精品| 精品国产一区二区三区香蕉沈先生| 成人国产在线激情| 伊人网在线播放| 久久综合久久美利坚合众国| 欧美精品a∨在线观看不卡| 欧美一区二区三区喷汁尤物| 欧美激情黑白配| 亚洲免费av在线| 久久久久久久久久久久| 丰满放荡岳乱妇91ww| 国产区二区三区| 一区二区三区福利| 99久久久无码国产精品性色戒| 天堂在线精品| 国产91精品入口17c| 成人午夜精品| 97婷婷涩涩精品一区| 黄网站在线免费看| 国产午夜精品美女视频明星a级| 午夜精品久久久久久久99热黄桃| 欧美色国产精品| 91精品国产高清一区二区三密臀| 一区二区三区在线不卡| 色偷偷男人天堂| 国产丝袜欧美中文另类| 亚洲中文字幕一区| 国产精品91xxx| av中文字幕网址| 青青青爽久久午夜综合久久午夜| 波多野结衣乳巨码无在线| 欧美视频不卡| 麻豆映画在线观看| 欧美丰满老妇| 亚洲国产午夜伦理片大全在线观看网站| 欧美电影在线观看免费| 2014国产精品| 欧美成人精品午夜一区二区| 成人观看高清在线观看免费| 福利一区二区免费视频| 国产精品福利在线| 性欧美1819sex性高清| 欧美自拍视频在线观看| 日产福利视频在线观看| 性欧美激情精品| 福利影院在线看| 97国产一区二区精品久久呦| 草莓视频丝瓜在线观看丝瓜18| 欧美插天视频在线播放| 黄色一级片在线观看| 久久精品2019中文字幕| 69av在线| 日韩视频亚洲视频| 国产在线观看91| 欧美日韩成人精品| 日本中文字幕中出在线| 九九久久久久久久久激情| 91精选在线| 欧美黄色成人网| 国产盗摄精品一区二区酒店| 欧美激情精品久久久久久黑人| 青草在线视频| 97不卡在线视频| av日韩电影| 国产精品高潮呻吟久久av无限 | 黄色成人精品网站| 福利视频一二区| 国产日韩欧美三级| 91麻豆精品国产91久久久久久久久| 国产1区2区3区4区| 一区二区视频免费在线观看| 久久精品www人人爽人人| 亚洲国产精品一区二区久久 | 欧美日本一区二区三区四区 | 国产一区二区三区久久久| 99九九99九九九99九他书对| 国产精品亚洲第一区在线暖暖韩国| 中国男女全黄大片| 91年精品国产| 国产又粗又猛又爽又黄的视频四季| 中文一区二区完整视频在线观看| www.av免费| 亚洲国产精品久久久久婷婷884 | 日韩精品免费专区| 天天干天天玩天天操| 国产91精品免费| 国产精品无码永久免费不卡| 中文字幕 久热精品 视频在线| 成人一级黄色大片| 亚洲国产精品视频| 中文字幕在线观看精品| 精品少妇一区二区| 精品美女视频在线观看免费软件 | 亚洲高清一二三区| av网站大全在线观看| 九九视频直播综合网| 天堂中文最新版在线中文| 国产一区私人高清影院| 国产精品视频3p| 色噜噜狠狠一区二区三区| 好吊一区二区三区| 777视频在线| 不卡的av网站| 老熟妇高潮一区二区三区| 精品国产成人av| 国产精品福利电影| 亚洲精品视频免费在线观看| 黄色在线视频网站| 国产不卡av在线| 国产精品超碰| 超碰在线免费观看97| 久久久久免费| 91视频在线免费| 亚洲四区在线观看| 中文字幕永久在线| 亚洲国产欧美一区二区三区同亚洲| 97超碰人人在线| 91av在线播放| 草草视频在线一区二区| 一区二区三区视频| 肉色丝袜一区二区| 熟妇人妻久久中文字幕| 亚洲女人****多毛耸耸8| 日本中文字幕在线观看视频| 精品成人在线观看| 黄色成人影院| 成人h视频在线| 久久99精品久久久久久园产越南| 国产精品一线二线三线| 国内精品久久久久影院一蜜桃| 亚洲码无人客一区二区三区| 欧美日韩在线看| 六月丁香综合网| 九九热99久久久国产盗摄| 在线视频成人| 亚洲精品在线免费| 日韩av中文字幕一区二区| 醉酒壮男gay强迫野外xx| 午夜国产精品影院在线观看| 亚洲AV无码精品自拍| 欧美成人午夜剧场免费观看| 亚洲欧洲日韩精品在线| 一区二区免费电影| 麻豆成人91精品二区三区| www..com.cn蕾丝视频在线观看免费版| 午夜精品久久久| 三级网站在线看| 97人人爽人人喊人人模波多| 成午夜精品一区二区三区软件| 日本一二三区视频在线| 国产精品88av| 中文字幕一区二区三区手机版| 精品国产百合女同互慰| 国产黄色大片在线观看| 国产精品二区在线观看| 黄色精品网站| 亚洲成人日韩在线| 黑人巨大精品欧美一区二区免费| 天天操天天爱天天干| 91国内在线视频| 香蕉视频一区| 免费看a级黄色片| 国产精品久久久久久久第一福利| 一二三四区视频| 欧美精品在线网站| 美女福利一区| 欧美精品一区二区三区免费播放| 欧美国产日产图区| 国产尤物在线观看| 欧美激情视频在线| 欧美一区 二区| 国产欧美高清在线| 国产精品免费观看视频| 精品人妻伦一区二区三区久久| 久久久久免费精品国产| 台湾亚洲精品一区二区tv| 国产超碰在线播放| 亚洲少妇中出一区| 人人妻人人澡人人爽人人欧美一区 | 亚洲精品色午夜无码专区日韩| 欧美色图12p| 调教一区二区| 久久久久久高清| 麻豆91精品视频| 久久久久久久久久久网| 国产手机视频精品| 四虎国产精品免费久久5151| 国产美女主播在线| 中文久久乱码一区二区| 亚洲国产精品久久久久久久 | 久久久无码中文字幕久...| 99综合电影在线视频| 中文字幕av在线免费观看| 欧美日本啪啪无遮挡网站| 台湾佬综合网| 深夜福利网站在线观看| 黑人狂躁日本妞一区二区三区| 在线日本视频| 国产一区二区三区四区五区加勒比 | 国模叶桐国产精品一区| 成人综合一区| 自拍视频一区二区| 欧美肥妇毛茸茸| 久久久一本精品| 欧美精品久久久久久久自慰| 国产精品你懂的| 青青青草原在线|