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

多云容器編排 Karmada-Operator 實踐

運維
隨著vivo業務不斷遷移到k8s上,集群規模和集群的數量快速增長,運維難度也急劇增加。為了構建多集群技術,我們也自研了多集群管理,但無法解決我們遇到的更多的問題。后來開始對社區相關項目做了細致的調研和測試,我們最終選擇 了Karmada。

作者 | vivo 互聯網服務器團隊-Zhang Rong

Karmada作為開源的云原生多云容器編排項目,吸引了眾多企業共同參與項目開發,并運行于生產環境中。同時多云也逐步成為數據中心建設的基礎架構,多區域容災與多活、大規模多集群管理、跨云彈性與遷移等場景推動云原生多云相關技術的快速發展。

一、 背景

隨著vivo業務不斷遷移到k8s上,集群規模和集群的數量快速增長,運維難度也急劇增加。為了構建多集群技術,我們也自研了多集群管理,但無法解決我們遇到的更多的問題。后來開始對社區相關項目做了細致的調研和測試,我們最終選擇了Karmada。

主要原因如下:

  • 具備對多套K8s集群的統一管理能力,業務通過服務維度去管理資源,降低容器平臺的管理難度。
  • 跨集群的彈性伸縮和調度能力,實現跨集群的資源合理利用,從而提升資源利用率并節約成本。
  • Karmada完全使用了K8s原生的API,改造成本低。
  • 容災,Karmada控制平面與member集群解藕,集群異常時支持資源重新分配。
  • 可擴展性,如可以添加自研的調度插件和添加自研Openkruise解釋器插件等。

在我們探索怎么使用Karmada的同時,我們也遇到了Karmada自身運維的問題。

社區部署工具較多,需要用戶自己選擇。當前用戶部署方式如下:

  • Karmadactl
  • Karmada charts
  • 二進制部署
  • hack目錄下腳本

對于上面的幾種工具,在Karmada的社區開展了問卷調研?,并生成了統計報告。

主要總結如下:

  • 社區部署工具較多,需要用戶自己選擇。
  • 部署腳本也存在缺陷,需要用戶自己解決,github上關于這方面的提問較多。
  • 黑屏化操作,沒有提供k8s api操作,用戶難以產品化,我們主要期望對接我們的容器平臺,實現可視化安裝。
  • 缺少CI測試和部署工具的發布計劃。
  • etcd集群缺少生產環境的關鍵功能點,如etcd的高可用、定期備份和恢復。
  • 需要安裝很多依賴插件,涉及到Karmada控制平面、Karmada的host集群和member集群。
  • 缺少一鍵部署和配置繁瑣等痛點。

針對以上問題,本文將分享Karmada-Operator的vivo實踐,包括Operator的方案選擇、API、架構設計和CI構建等。?

二、Karmada-Operator的落地實踐

2.1 Operator SDK介紹

Operator Framework 是一個開源工具包,用于以有效、自動化且可擴展的方式管理 Kubernetes 原生應用程序,即 Operator。Operator 利用 Kubernetes 的可擴展性來展現云服務的自動化優勢,如置備、擴展以及備份和恢復,同時能夠在 Kubernetes 可運行的任何地方運行。

Operator 有助于簡化對 Kubernetes 上的復雜、有狀態的應用程序的管理。然而,現在編寫 Operator 并不容易,會面臨一些挑戰,如使用低級別 API、編寫樣板文件以及缺乏模塊化功能(這會導致重復工作)。

Operator SDK 是一個框架,通過提供以下內容來降低 Operator 的編寫難度:

  • 高級 API 和抽象,用于更直觀地編寫操作邏輯
  • 支架和代碼生成工具,用于快速引導新項目
  • 擴展項,覆蓋常見的 Operator 用例

圖片

如上圖所示,operator sdk可以基于helm、ansilbe和go構建operator,我們需根據當前的情況選擇我們合適的operator框架。

2.2 方案選擇

  • 方案一:golang 開發Operator

圖片

  • 方案二:ansible開發Operator

圖片

  • 方案三:golang和ansible混合開發Operator

圖片

根據Karmada的實際生產部署調研情況和vivo自身的實踐,可以總結如下:

  1. 要支持在K8s集群和不依賴K8s集群二進制部署。
  2. 支持外部獨立的etcd集群部署或者對接已有的etcd集群。
  3. Karmada集群具備遷移能力,如機房裁撤和機器故障等,就需要etcd集群管理有備份和恢復能力,如根據etcd備份數據快速在其它機房恢復集群。
  4. 需要支持第三方的vip給Karmada-apiserver提供負載均衡,目前vivo都是基于外部vip,并提供了域名。沒有使用K8s的service給Karmada-apiserver提供負載均衡。
  5. Karmada控制平面一鍵部署和member集群的自動化注冊和注銷。也需要獲取member集群的kubeconfig,pull模式也需要在member集群部署Karmada-agent。
  6. Karmada集群的addons插件安裝,如istio、anp、第三方的crd等安裝,需要在Karmada的控制平面、host主機集群,甚至需要在member集群上進行配置。
  7. 提供api能力,實現可視化部署。
  8. 針對Karmada單個組件的單獨升級和全量升級。
  9. 支持在offline和離線模式。

面對Karmada如此復雜的條件限制,我們再來分析下上面3個方案誰可能比較合適。

方案一,基于go開發的Operator,比較適合基于K8s集群的有狀態服務管理,如etcd,數據庫等,比較成熟的有etcd-Operator。Karmada涉及到不依賴K8s集群二進制部署、外部etcd、member集群的注冊、注銷和插件安裝,不能很好的支持或者需要增加開發量。

方案二,基于ansible開發的Operator,既可以基于K8s集群的對狀態服務管理,也可以脫離K8s集群對如不依賴K8s集群二進制部署、外部etcd、member集群的注冊、注銷和插件安裝。這里主要通過ansible 的ssh登錄能力和K8s模塊管理,通過調研我們也發現90%以上的用戶可以提供ssh登錄。

方案三,基于go+ansible的混合的Operator,讀者可以閱讀vivo開發的Kubernetes-Operator,就是基于這種方案。方案三具備方案二的所有能力,因為底層都是通過ansible去執行。

首先我們排除了方案一,對于方案二和方案三,本人也糾結了很長是時間,最終我們選擇了方案二。主要原因如下:

  1. Operator SDK ansible已具備了和Operator SDK go相等的能力,并提供K8s、K8s_status模塊、相似的webhook功能去對k8s的資源管理,以及reconciliation的能力。
  2. 符合目前Karmada實際生產部署的需求。
  3. 簡單易學,只要知道ansbile的jinja模版、和K8s相同的yaml文件。你只需要編寫ansible task,開箱即用,reconciliation由Operator SDK 解決。
  4. 對于常用ansible的人比較友好,不需要寫golang代碼。
  5. 擴展能力強,用戶可自定義插件。管理端也支持local、ssh、zeromq三種方式連接。local模式可以直接對接K8s接口,ssh模式可以登錄執行腳本。可以很好的混合使用,解決我們當前的需求。
  6. Karmada運維操作相對K8s要簡單,不需要復雜的crd定義,ansible需要解析少量vars去執行playbook就行。golang+ansible模式比較適合復雜CRD定義和業務邏輯復雜的系統。

2.3 API設計

圖片

如上圖所示,我們只需要執行Operator-SDK create api命令,就可以創建 KarmadaDeployment的CRD,然后就可以定義KarmadaDeployment的API。在watches.yaml里實現Reconcile的業務邏輯。

圖片

這里主要定義KarmadaDeployment、EtcdBackup和EtcdRestore個資源,分別用于Karmada的部署,和etcd的數據備份和恢復。ansible Operator會根據spec里定義解析成ansible的vars。status將通過 ansible runner 輸出為用戶自定義的狀態。也可以通過ansible的k8s_status更新KarmadaDeployment的狀態。當前主要考慮的是在K8s運行Karmada,后面會添加二進制部署模式,當前的CR沒有涉及。

2.4 架構設計

圖片

如圖所示Karmada Operator提供了容器化和二進制集群部署設計,其中Karmada的容器化部署不需要執行ssh登錄,只需通過K8s和k8s_status就可以完成karmada控制面的管控。Karmada的二進制部署主要通過ssh登錄完成Karmada控制平面的管控。member集群的join和unjoin需要提前提供member集群的kubeconfig文件,也可以設置member的登錄權限操作,需要在CR里定義member集群的用戶和密鑰。

執行流程如下。

  1. 用戶通過KarmadaDeployment定義Karmada操作
  2. Karmada Operator感知KarmadaDeployment的CR變化,開始進入控制器邏輯
  3. 根據用戶的定義,選擇是容器化部署或者二進制部署,開始執行安裝、擴所容和備份等操作
  4. 執行join/unjoin操作,將member集群注冊到Karmada集群或者注銷member集群

2.5 Karmada控制平面管理

圖片

如上圖所示,主要是karmada控制平面生命周期管理,對比當前社區的部署工具我們如下優化:

  1. 標準化證書管理,主要是用openssl生成證書。其中etcd和Karmada證書單獨分開維護,和k8s集群證書命名相同,方便接入我們的監控。
  2. Karmada-apiserver支持外部負載均衡,不限于當前的k8s service提供的負載均衡。
  3. 更靈活的升級策略,支持單獨組件升級和全量升級。
  4. 更豐富的全局變量定義,計劃支持組件配置變更等。

2.6 etcd集群管理

圖片

etcd集群是Karmada的元數據集群,生產中需要保證etcd集群高可用和故障恢復等。如上圖展示了etcd集群必要的生產要素,如自動擴縮容、升級、備份和etcd集群的故障恢復。自研了基于ansible的plugins和library, 實現etcd集群管理能力如下:

  1. 添加member到存在的etcd集群。
  2. etcd集群刪除member。
  3. etcd集群的備份,比如支持cephfs的數據備份。
  4. etcd集群故障恢復。
  5. etcd集群健康狀態查詢。

這里定義了etcdBackup和etcdRestore的CR,沒有合并到KarmadaDeployment里。主要考慮到etcd集群本身操作的安全性和簡化KarmadaDeployment的ansible任務。其中etcdRestore功能,可以根據etcd集群備份數據,實現導入到新的etcd集群,從而恢復Karmada集群所有的業務狀態。當前主要場景如下:

  1. Karmada集群所在的機房裁撤,需要備份etcd數據,遷移到新的Karmada集群。
  2. 期望通過Karmada-Operator管理Karmada集群,只需備份etcd數據,實現etcdRestore功能即可。
  3. Karmada集群故障,可以通過etcd備份數據,結合etcdRestroe實現故障恢復。

2.7 member集群管理

圖片

member集群的生命周期管理主要有注冊和注銷,上圖是執行的流程。為了處理member集群的注冊和注銷,這里會動態的生成inventory。Ansible Inventory 是包含靜態 Inventory 和動態 Inventory 兩部分的,靜態 Inventory 指的是在文件中指定的主機和組,動態 Inventory 指通過外部腳本獲取主機列表,并按照 ansible 所要求的格式返回給 ansilbe 命令的。

這里Karmada-Operator基于k8s的CR實現了動態inventory plugins,主要通過解析KarmadaDeployment的members定義去動態的生成inventory。這里添加了add-member和del-member 2個角色, add-member里集群會被注冊到Karmada控制平面,del-member里的集群會被從Karmada控制平面注銷,這樣就可以并發的注冊和注銷多個member集群。同時也可以提供ssh登錄模式,方便后期擴展。

三、Karmada-Operator的CI介紹

圖片

為了更好的提高開發人員的體驗,計劃提供Karmada-Operator的CI構建能力。這里在K8s集群里部署github的self-hosted Runner和kubevirt。

  1. 用戶在github上提交PR
  2. 觸發github Actions,我們在self-hosted里定義的流程
  3. 執行語法和單元測試
  4. 通過kubevirt創建vm
  5. 在多個vm里部署1個host和2個member集群
  6. 部署Karmada和添加member集群
  7. 執行Karmada e2e和bookfinfo案例測試

計劃添加的CI矩陣測試如下:

語法測試:

  • ansible-lint
  • shellcheck
  • yamllint
  • syntax-check
  • pep8

集群部署測試:

  • Karmadactl、charts、yaml和二進制部署和所有配置項安裝測試
  • join/ unjoin member 集群
  • 升級Karmada
  • etcd集群的備份和恢復

功能測試:

  • Karmada e2e測試
  • 創建bookinfo案例

性能測試:

我們主要通過kubemark組件模擬了多個2000節點的member集群進行了性能測試,其中一個測試案例是集群故障轉移,結論是4w個無狀態pod能夠在15分鐘完成故障遷移,有機會可以分享我們的性能測試。

四、總結

通過社區的調研和vivo的實踐,最終確定了Karmada-Operator方案設計。Karmada-Operator具有高度可擴展性、可靠性、更直觀地編寫操作邏輯和開箱即用等特點,我們相信通過這種高度可擴展的聲明式、自我修復云原生系統管理Karmada,為我們全面切換到Karmada去管理業務提供了強有力可靠保障。

基于ansible的operator也存在如下缺點。第一點沒有提供webhook的能力,需要自己添加或者在ansible的task添加相關的校驗;第二點是自動生成了通用的CRD模版,沒有詳細可定義的腳手架工具去自動生成CRD。

當前Karmada-operator還在初始階段,提供了方案和部分實踐,具體功能還需不斷的完善和改進。具體可以查看vivo的Karmada-Operato?r倉庫,歡迎大家試用和提建議。當前代碼提供的能力矩陣可以查看項目規劃。

責任編輯:未麗燕 來源: vivo互聯網技術
相關推薦

2022-07-08 09:30:19

多云編排開源身份管理開源

2024-05-20 15:39:00

Karmada混合云多云

2020-04-07 10:43:31

多云云遷移云計算

2018-11-06 12:32:02

多云云平臺云計算

2023-10-10 17:09:19

2023-12-14 15:51:15

2020-03-30 21:40:35

容器編排工具

2021-01-20 10:53:41

云計算云存儲云遷移

2023-05-24 10:06:42

多云實踐避坑

2020-09-02 11:19:15

多云云計算混合云

2016-01-21 09:37:19

OpenStack容器編排引擎Docker

2015-07-28 11:10:22

Docker容器容器編排

2023-11-02 08:45:07

2023-04-26 15:43:24

容器編排容器編排工具

2022-02-09 21:27:15

KubernetesDocker容器

2018-08-28 07:30:50

云安全云服務多云

2017-06-13 16:03:35

混合云容器編排引擎

2017-10-10 08:30:21

Kubernetes容器編排

2023-08-21 15:28:36

云原生Kubernetes

2020-01-09 15:28:30

KubernetesDocker:容器
點贊
收藏

51CTO技術棧公眾號

青青草原播放器| 欧美一区二区三区电影在线观看 | 中文字幕 日本| av中文资源在线| 极品少妇xxxx精品少妇| 久久久久久久一| 亚洲图片另类小说| 久久av偷拍| 欧美日韩午夜剧场| 一区二区三区日韩视频| 日批视频免费播放| 麻豆免费精品视频| 国产综合在线看| 少妇精品无码一区二区免费视频| 久久久久亚洲精品中文字幕| 精品久久久久久中文字幕一区奶水 | 日干夜干天天干| 欧美日韩水蜜桃| 亚洲成人1234| 午夜剧场高清版免费观看| 福利小视频在线| 亚洲国产精品t66y| 国产伦精品一区二区三区视频免费 | 国产精品视频免费在线| 欧美精品一区二区蜜桃| 国产精品一区二区99| 欧美一级欧美一级在线播放| 国产一区亚洲二区三区| 欧美男男video| 国产精品传媒入口麻豆| 久久综合中文色婷婷| 国产黄色免费大片| 麻豆91小视频| 国产精品国产三级国产aⅴ9色| 精品处破女学生| 99精品在线| 国产一区二区三区在线观看视频| 无码人妻精品一区二区三| 2019中文亚洲字幕| 91福利社在线观看| 亚洲中文字幕无码专区| xxx.xxx欧美| 亚洲精品久久久久久国产精华液| 亚洲不卡1区| 国产在线91| 久久中文娱乐网| 久久人人九九| 少妇高潮久久久| 成人av动漫在线| 产国精品偷在线| 亚洲精品成av人片天堂无码| 国产精品1024| 电影午夜精品一区二区三区| 99在线小视频| 紧缚奴在线一区二区三区| 国产日韩欧美中文| 91午夜交换视频| 国产精品资源在线看| 成人免费网站在线看| 国产精品高潮呻吟AV无码| 美女性感视频久久| 成人免费视频网| 国产免费黄色网址| 国产91对白在线观看九色| 91福利视频导航| 亚洲精品久久久久avwww潮水| 国产成人亚洲精品青草天美| 动漫3d精品一区二区三区| 国产www视频| 大美女一区二区三区| 国产精品99久久久久久久| 亚洲第一成年人网站| 国产成a人无v码亚洲福利| 亚洲在线观看视频| 中文字幕在线观看视频免费| 奇米精品一区二区三区在线观看 | 久久精品免费av| 在线日本高清免费不卡| 久久久久久有精品国产| 国产无码精品久久久| 在线观看日韩av电影| 97热精品视频官网| 亚洲GV成人无码久久精品 | www黄色网址| 国产乱码精品1区2区3区| 亚洲一区二区三区香蕉| 亚洲精品久久久蜜桃动漫| 国v精品久久久网| 国精产品99永久一区一区| 深夜福利免费在线观看| 久久久久国产精品麻豆ai换脸| 欧洲亚洲一区二区| 在线观看美女网站大全免费| 日韩美女久久久| 波多野结衣av一区二区全免费观看| 欧美hdxxxxx| 一区二区三区四区激情 | 久久久久久亚洲精品杨幂换脸| 日本免费久久高清视频| 在线免费观看日韩视频| 国产很黄免费观看久久| 欧美精品一区二区视频 | 久久久久久久国产精品视频| 91久久国产视频| 三级在线观看一区二区| 91精品国产综合久久久久久久久| 国产熟女一区二区三区五月婷| 成人免费黄色大片| 欧美一区二区三区电影在线观看| av免费在线一区二区三区| 亚洲免费在线播放| 狠狠精品干练久久久无码中文字幕| 成人观看网址| 色诱亚洲精品久久久久久| 不用播放器的免费av| 亚洲精品a区| 亚洲视频在线视频| 中文字幕在线观看成人| 性伦欧美刺激片在线观看| 国产色视频一区| 三级网站在线看| 国产精品美女一区二区在线观看| 天堂8在线天堂资源bt| 99热这里有精品| 亚洲摸下面视频| 欧美成人片在线观看| 久久久久久自在自线| 亚洲最大的免费| 激情小视频在线| 亚洲一线二线三线久久久| 男女啪啪网站视频| 免费看久久久| 最新国产精品亚洲| 69视频免费看| 99久久久国产精品免费蜜臀| 中文字幕久精品免| 日韩av大片站长工具| 精品国产自在久精品国产| 精品日韩在线视频| 免费永久网站黄欧美| 97人人模人人爽视频一区二区| 欧美伦理影视网| 亚洲一区在线观看视频| www.久久av.com| 国模精品一区| 欧美专区在线观看| 欧美在线精品一区二区三区| 日韩一区中文字幕| 亚洲性图一区二区| 欧洲毛片在线视频免费观看| 久久久影视精品| 中文字幕视频在线播放| 久久网这里都是精品| 给我免费播放片在线观看| 视频一区视频二区欧美| 久久精品99久久久久久久久| 国产精华7777777| 久久久久久久久久看片| 亚洲色欲综合一区二区三区| 激情亚洲另类图片区小说区| 久久综合88中文色鬼| www久久久com| 亚洲制服丝袜av| 欧美69精品久久久久久不卡| 欧美成人嫩草网站| 亚洲伊人久久综合| 成人看片免费| 日韩欧美视频一区| 国产免费无码一区二区视频| 激情综合网av| 久久男人资源站| 国产精品极品| 91av在线不卡| 美州a亚洲一视本频v色道| 日韩欧美高清视频| 好吊视频在线观看| 蜜臀av国产精品久久久久| 国产精品初高中精品久久| 麻豆网站免费在线观看| 日韩精品亚洲精品| 中文字幕在线日本| 国产精品午夜在线| 天天爽夜夜爽视频| 亚洲欧洲视频| 免费观看国产成人| 成人福利av| 超碰97人人做人人爱少妇| 国产黄色一区二区| 精品人伦一区二区三区蜜桃网站| 熟妇高潮精品一区二区三区| 久久精品一本| 国产手机视频在线观看| 超碰成人福利| 国产成人精品日本亚洲| 亚洲成人三级| 亚洲大胆人体av| 特级西西444www大胆免费看| 综合电影一区二区三区| 成人免费看片载| 美女视频一区免费观看| 国产系列第一页| 欧美美女在线直播| 国产欧美日韩中文字幕| 欧美18hd| 亚洲国产欧美自拍| 日韩xxx视频| 一区二区三区资源| 精品少妇人妻一区二区黑料社区| 精品一区二区在线看| 少妇高潮毛片色欲ava片| 亚洲美女久久| 国产精品一国产精品最新章节| 高清电影一区| 欧美激情一二区| 国产高清在线观看| 欧美精品一区二区在线播放| 国产主播第一页| 亚洲国产一区二区三区| 国产综合精品在线| av动漫一区二区| 99久久99精品| 久久天堂精品| 美脚丝袜脚交一区二区| 日韩电影免费网站| 九色综合日本| 9l亚洲国产成人精品一区二三| 国产激情久久久| 男女免费观看在线爽爽爽视频| 亚洲人成网站色ww在线| 高潮一区二区三区乱码| 欧美精品在线观看播放| 亚洲婷婷综合网| 午夜影院久久久| 91狠狠综合久久久| 久久精品一区二区三区不卡牛牛| 韩国三级hd中文字幕有哪些| 噜噜噜在线观看免费视频日韩| 国产3p露脸普通话对白| 91tv官网精品成人亚洲| 亚洲 国产 欧美一区| 国产精品最新| 久久亚裔精品欧美| 国产乱论精品| 成人在线观看91| 久久99精品国产自在现线| 91深夜福利视频| 日韩黄色三级| 国产精品久久久av久久久| 亚洲天堂导航| 57pao精品| 国产99re66在线视频| 久久久中文字幕| av免费看在线| 久久久国产成人精品| 69xxxx欧美| 一区二区三区亚洲| 成人在线观看一区| 在线播放日韩精品| 日本在线观看网站| 日韩在线观看免费av| 素人av在线| www.欧美免费| 国产乱色在线观看| 久久中文字幕在线| 麻豆视频在线免费观看| 九九精品视频在线观看| av免费在线观| 欧美精品18videosex性欧美| 国产精品国精产品一二| 久久免费视频网站| 免费h视频在线观看| 国产精品69精品一区二区三区| 外国成人直播| 国产乱人伦真实精品视频| 亚洲网站免费| 91gao视频| 狼人精品一区二区三区在线 | 国产伦精品一区二区三区四区视频_| 精久久久久久| 黄色片久久久久| 久久先锋影音| 成人黄色一级大片| 国产成人亚洲综合色影视| 中文字幕人妻一区二区三区| 91小视频在线| 久久午夜夜伦鲁鲁片| 国产欧美一区二区精品性| 黄色裸体一级片| 一区二区三区视频在线观看| 懂色av.com| 色88888久久久久久影院野外| 国产精品自拍99| 777a∨成人精品桃花网| 免费观看黄色一级视频| 国产网站欧美日韩免费精品在线观看 | 久久午夜视频| 国产精品嫩草影院8vv8| 成人性视频网站| 法国空姐电影在线观看| 亚洲日本一区二区| 国产对白videos麻豆高潮| 在线精品视频免费播放| 99热精品在线播放| 日韩激情视频在线播放| 91porn在线观看| 久久免费视频在线观看| 成人51免费| 久久精品国产美女| 99久久婷婷国产综合精品电影√| 国产片侵犯亲女视频播放| 视频精品一区二区| 不许穿内裤随时挨c调教h苏绵| 99久久婷婷国产综合精品| 在线视频这里只有精品| 天天亚洲美女在线视频| 91丨porny丨在线中文 | 91麻豆文化传媒在线观看| 蜜桃av免费看| 亚洲高清视频在线| 一级做a爱片久久毛片| 亚洲福利视频在线| 日本视频在线免费观看| 97超碰色婷婷| 亚洲日本va| 日本老太婆做爰视频| 三级不卡在线观看| 国产精品久久久久久亚洲色| 日韩一区中文字幕| а中文在线天堂| 亚洲欧美福利视频| av中文字幕在线看| 国产精品欧美一区二区三区奶水| 黄色欧美网站| 青草全福视在线| 精品综合免费视频观看| 国产精品国产三级国产传播| 欧美视频中文字幕在线| 黄色aaa毛片| 麻豆国产va免费精品高清在线| 性感美女一区二区在线观看| 国产一区二区三区无遮挡| 亚洲一级二级| 亚洲熟女乱综合一区二区| 成人免费一区二区三区视频 | 色香蕉成人二区免费| 日韩在线一区二区三区四区| 欧美夫妻性生活视频| 国产精品国产亚洲精品| 一区二区三区四区五区精品| 日韩精品亚洲一区二区三区免费| 中文字幕在线播放一区| 1区2区3区欧美| 国产xxxxxx| 欧美日韩国产999| 国产亚洲高清一区| 中文字幕在线亚洲三区| 久久精品国产99久久6| 男女做暖暖视频| 91精品一区二区三区在线观看| 欧美激情二区| 91精品国产自产在线老师啪| 久久国产精品成人免费观看的软件| 免费在线观看日韩视频| 国产精品欧美精品| 一级aaaa毛片| 久久精品久久久久久| 亚洲日韩中文字幕一区| 欧美性受黑人性爽| 成人av免费在线观看| 国产无套在线观看| 亚洲国产日韩欧美在线动漫 | 日本久久久久亚洲中字幕| 精品影片在线观看的网站| 色婷婷狠狠18| 中文字幕一区二区三区四区| 国产精品久久久久精| 精品久久久av| japanese色系久久精品| 国产女教师bbwbbwbbw| 99视频国产精品| 蜜臀精品一区二区三区| 尤物99国产成人精品视频| 激情欧美一区二区三区黑长吊| 自拍亚洲欧美老师丝袜| 韩国毛片一区二区三区| 日韩手机在线观看| 亚洲人成啪啪网站| 亚洲日日夜夜| 欧美又粗又长又爽做受| 中文字幕av免费专区久久| 一级黄色av片| 久久久人成影片一区二区三区观看 | 久久伊人91精品综合网站| 99精品中文字幕在线不卡 | 99视频在线精品国自产拍免费观看| 亚洲乱妇老熟女爽到高潮的片| 精品久久久久久中文字幕大豆网 | 国产精品igao激情视频| 91麻豆免费在线观看| 99热这里只有精品在线|