欧美激情精品久久久久久_av中文字幕潮喷在线观看_男男高潮片免费视频_欧美91在线_欧美亚洲人成网站在线观看_91免费精品国自产拍在线不卡

成都大數匯聚科技有限公司官方網站

騰訊云容器服務TKE:一鍵部署實踐

發布時間:2019-08-01 09:35
來源:騰訊云容器團隊

很多人在實際工作中都使用過Kubernetes,騰訊云的容器服務在2016年年底開始提供全托管的Kubernetes服務,主要提供了四個方面的功能。首先是提供了一鍵部署的Kubernetes,與其他容器服務的提供商不一樣,騰訊云的Kubernetes是完全隔離的,每個用戶都會獨享所有的計算節點和控制節點,集群網絡也在用戶自己的VPC中。騰訊云在這個基礎上提供了集群的全生命周期管理,包括集群的創建、銷毀,還有計算節點的添加、刪除,還有一些類似Kubernetes原有組件的初始化以及證書的初始化工作。為了大家更方便地使用Kubernetes,騰訊云在控制臺包裝了一些界面,使大家可以通過可視化的方式創建一些負載來暴露自己的服務,避免了大家手工編碼的煩瑣。第三,騰訊云提供了周邊的監控能力,包括集群本身pod內存的使用率以及一些Kubernetes事件。這些能力都與騰訊云的云監控產品進行了打通,大家可以直接在云監控產品界面使用這些能力。為了方便大家將自己的一些比較傳統的應用部署到云上,騰訊云在Kubernetes集群之外還提供了Docker鏡像倉庫、TencentHub、CICD的功能,為大家提供了一站式應用的云解決方案。

今天所提到的內容,一方面是介紹Kubernetes相關的知識,另一方面是介紹如何將Kubernetes和騰訊云進行集成。首先帶大家了解一下Kubernetes集群需要哪些組件,將Kubernetes部署好之后還要做什么工作使它正常運行。之后會介紹云上Kubernetes上的網絡存儲和日志與監控,這是將Kubernetes和騰訊云集成時進行的工作。最后介紹Kubernetes的兩種部署方案,一種是容器服務產品發展早期所采用的一種基于CVM的方案,另一種是最近逐漸部署的使用Kubernetes集群來管理Kubernetes集群組件的方案。隨著容器服務產品以及Kubernetes社區的發展,在騰訊云提供托管的CCS服務通過了CNCF的K8s一致性驗證之后,為了大家更好地認知騰訊的容器服務產品,產品的名字從之前的CCS正式改名為TKE。


Kubernetes 組件

接下來看一下想要讓Kubernetes集群運行起來我們要做哪些工作。如果對Kubernetes有了解的同學,可能知道使Kubernetes跑起來,無非是初始化一些Master組件和Node組件。首先給大家介紹Master組件,一個最簡單的部署要包括Kube-apiserver、Kube-controller-mannager 、kube-scheduler這些組件。Kube-apiserver可以理解為整個集群的大腦或者是集中存儲,所有組件與k8s的交互都是通過Kube-apiserver來完成的。其中存儲著我們定義的一些工作負載以及我們對于存儲的一些需求,這些數據都存儲在Kube-apiserver中。

第二個組件Kube-controller-mannager主要負責將聲明的一些工作負載在實際的集群中運行起來,舉個最簡單的例子,當我們在Kubernetes上創建了一個deployment之后,Kube-controller-mannager就會去創建相應的replicaset、pod這些。根據需求將pod創建出來,在創建pod后,Kube-scheduler負責對這些pod進行調度,比如這個pod實際應該被運行在哪臺機器,比如GPU的結點做這樣的調度工作。當一個集群的Master組件被完全部署好之后,我們會部署一些Node。在它的上面部署兩個組件,一個是kubelet,負責在這些Node上創建出來我們需要的pod。另一個是kube-proxy,它在集群中負責的工作是:當一個deployment需要以服務的形式對外暴露的時候,Kude-proxy會負責配置這些iptables規則,讓集群內不管是宿主機上的程序還是容器里的程序,都能夠按照service的名字去做一個自動的發現和訪問。



在Kubernetes這些標準化的組件之外,騰訊云還提供了額外的組件。主要給大家介紹一下以下三個,一個是hpa-metrics-server,它是騰訊云為了使用Kubernetes提供本身的pod橫向擴展控制器而去自研的一個組件,這個組件相比于Kubernetes社區方案的優點,是Kubernetes社區方案只提供了基于CPU和內存的擴展,而騰訊云在這個基礎上更加拓展了Pod的入帶寬和出帶寬的指標,方便大家去適應更多的擴縮容場景。第二個組件是cbs-provisioner,這個組件提供了去讓Kubernetes里面的pod去消費騰訊云一個叫做Cbs塊存儲服務,我們后面會詳細講到。第三是Ccs-log-collector,這個組件主要是負責收集容器里pod運行的日志,后面也會講到。



容器網絡

當我們把Kubernetes和騰訊云進行集成的時候,網絡方案是怎么做的呢?在你將一些控制組件搭建起來之后,Kubernetes對于網絡提出了三點的要求。第一是在不使用NAT的情況下,集群內所有容器都可以和其他的容器進行通訊。第二是所有的節點都可以和所有的容器進行通信,反向也可以通信,同樣要求不能使用NAT。第三是容器看到的自己的IP與其他人看到的IP是一樣的。

總的來說,它實現了Node和container之間的扁平化網絡。同時為了應對服務發現的需求,降低網絡復雜度,還要求不能使用NAT。Kubernetes并沒有內置的網絡解決方案,所以在社區其實有很多不同的解決方案,例如flannel,它是通過Tun/tap設備,再通過內核用戶態的轉化程序,實現一個類似于overlay的網絡能力。Callco不需要進行overlay封裝,直接通過路由的方案可以完成Kubernetes的網絡需求。

接下來為大家介紹一下騰訊云Kubernetes使用的方案,騰訊云的網絡方案主要是直接使用了VPC提供的路由能力,叫做global route。簡單介紹一下Kubernetes結點加入到一個集群中配置網絡的過程,當我們將一個結點加到集群中的時候,K8s的Kube-controller-manager會為這個結點分配一個網端。例如,集群網絡是172.16.1.0/16掩碼,這時加進去一個結點。按照我們的邏輯,我們會給它賦172.16.1.0/24位掩碼的CIDR。也就是所有在這個主機上創建的pod,它的ID都在這個CIDR的范圍內。然后我們會去VPC那里做一個動作,將172.16.1.0/24掩碼到目的地址的流量去注冊一條路由規則,使所有的包都發往被賦予這個pod CIDR的主機。這樣我們就可以完成之前提到的pod和Node之間的扁平化網絡。具體過程如下:假設現在有一個位于172.16.1.0/24網端機上的pod,向另一個機器的pod發送了這樣一個包,這個包首先從容器出來,到cbr0  bridge然后出了主機。這時就會進入VPC的路由表進行匹配,當它發現這個pod的目的IP在172.16.2.0/24時,這個包就會被VPC轉發到10.1.1.3,這樣我們就可以完成一個pod的跨主機通信。pod在本地的通信比較簡單,這里就不多講了。通過這種方式,我們實現了一個pod和Node之間的扁平化網絡,這里Docker的網絡模式是用的bridge模式,pod  IP直接由cni插件進行分配。



容器存儲

接下來給大家介紹騰訊云的K8s和騰訊云容器集成的實現。K8s集群集成了騰訊云的CBS和CFS兩個能力,一個是塊存儲,一個是基于NFS的文件系統存儲。當我們在一個pod中聲明需要一個volume時,K8s如何將volume最終掛載到pod里面?其實是這樣一個過程:首先,Kube-controller-manager會去provisnon這樣一個volume。也就是說,實際去創建一個云盤,當云盤創建好之后會做一個Attach的動作,相當于把剛剛創建好的云盤插到對應主機上,這時,主機上的Kubelet會做一個mount動作,也就是將插進來的這個設備去mount到一個Kubernetes指定的目錄,Kubelet在創建這個pod的時候,通過mount的形式把mount到的目錄實際掛載到容器的namespace里面。然后當我們這個pod銷毀,這個volume不再被需要的時候,它就反向去執行,先從主機上把對應的塊設備先mount掉,再將它detach掉,相當于把這塊磁盤從主機上拔下來,然后會由Kube-controller-manager根據對應的plugin設置銷毀或者是保留。



K8s目前通過與cloud provider進行volume集成的方面主要是三種。一種是比較早期,所有要和kubernetes進行集成的Volume代碼都需要寫在kubernetes自己的代碼倉庫中。這樣的缺點在于,假設我是一個存儲提供商,我寫的代碼有些bug,這樣不僅影響存儲功能的正常使用,可能也會影響整個集群的穩定性。所以后來為了更好的擴展性和穩定性,Kubernetes提供了一種叫做Flex volume的形式。具體是將mount和umount這兩個形式由Flex volume實現,Flex volume是一個實現了特定接口的二進制文件,實際上在需要mount、amount的時候,Kubelet會執行這個二進制文件,做一個mount、umount的動作。

這種方式其實也有一個問題,在kubernetes的部署環境中,如果要往主機上放一個二進制的動作,看起來不是那么的容器化。另外二進制文件執行的環境也有一定的要求,所以后來Kubernetes提供了第三種方式,也就是利用社區的CSI接口實現了基于CSI的插件。之前由Flex volume這個二進制文件完成的工作全部放到了容器里面,然后通過unix socket的形式,使Kubelet和實現對應功能的插件做一個通信,最后一個mount、umount的動作。現在也與騰訊云的CBS塊存儲做了集成,使用第一種方式,這是因為騰訊云在早期使用的就是這種方式。后期騰訊云也會將這部分獨立出來,計劃通過CSI的方式去提供存儲的能力。這部分代碼騰訊云將會開源,但目前這個工作還正在進行中。

容器日志與監控

接下來為大家介紹一下日志和監控的方案,首先介紹一下日志的方案。在K8s中沒有提供默認的日志方案,Kubernetes社區提供的這種方式可以運行一個sidecar容器,在你自己的容器中運行一個這樣的進程并將它輸出到標準輸出,然后再用你的sidecar容器做一個收集。這樣的問題在于,每跑一個pod,就要跑一個類似的sidecar容器,對于資源的消耗不太可以接受。騰訊容器服務基于Fluentd+Kubernetes  custom  resource  definition,實現了日志收集的控制器。這個控制器可以支持收集容器的標準輸出,也可以支持收集我的pod所在的Node上主機上文件路徑的文件內容。

主要的實現原理是:騰訊云會在kube-apiserver上注冊一個LogCollector的custom  resource  definition,里面聲明了自己要收集namespaces下面某一個deployment對應的pod資源。還有另外一個進程就是LogCollector,去監聽Kubernetes  apiserver資源,然后去生成對應的Fluentd的配置文件,再通過sighup信號的形式去觸發Fluentd的重載,然后去收集我們想要的日志文件。因為Kubernetes  pod對應的日志文件是存儲在主機的/var/log/containers的路徑規則下來,直接配置Fluentd去收集這個規則,再根據我們的實際需要做一個日志的路由。這樣就可以把不同的日志發往用戶指定的不同后端,比如Kafka或騰訊云的CIS的日志服務。這是騰訊云目前對于日志收集的方案實現。



在監控方面,騰訊云將Kubernetes中pod的性能信息和云監控做了對接,主要的實現方法是在用戶的每臺kubernete結點上運行一個agent,這個agent在kubelet中內置的cadvisor收集pod運行的性能信息,然后再到apiserver獲取這些pod對應的元數據。騰訊云將這些性能信息和元數據進行打包,再將它上傳到監控服務上。另外,基于騰訊云存儲的監控指標,實現了hpa-metrics-server。Kubernetes提供的HPA能力,是它在kube-controller-manager里面實現了horizontal pod autoscaler,它會定期請求hpa metrics server去獲取這個pod目前的CPU Usage或者是入帶寬、出帶寬這些指標的數量,根據騰訊云的定義,比如當CPU使用率超過80%的時候,騰訊云要去進行擴容。它也會定期拉取數據,比對當前的pod負載,直接去修改deployment中的replica字段,實現自動擴縮容。目前日志和監控的方案,是將Kubernetes和騰訊云的基礎設施進行對接時候所需要做的一部分工作,也是騰訊云的主要工作。


在 CVM 上部署 Kubernetes

下面介紹一下騰訊早期在騰訊云上的部署方案。當時為了產品能夠快速上線,也為了滿足一個完全的隔離的全托管的Kubernetes服務,騰訊云直接把Kubernetes的Master組件部署在了一臺CVM上面。同時,為了實現隔離的方式,騰訊云將Master放到用戶的VPC中。在Master組件上運行了一些標準化的Kubernetes組件,用戶的Node結點以用戶的身份直接在CVM那邊購買機器,騰訊云在這個基礎上做一些kubelet或者kube proxy參數數值化的工作。此外,騰訊云會做一些集群的證書配置、默認拉取鏡像的憑證初始化工作。在這個方案中,騰訊云所有的節點都處于用戶的VPC里面,通過Agent初始化的方式將整個集群部署起來。缺點在于難以管理,因為騰訊云早期是通過SSH直接登錄到客戶的Master結點上進行一些運維操作,對于客戶的Node結點是沒有辦法訪問的。當然,現在也沒有辦法訪問。對于Master的一些運維工作比較困難,因為它沒有辦法去編程化。


將 Kubernetes 組件部署在 Kubernetes 集群中

雖然騰訊云自己提供的是Kubernetes的服務,但對于整個容器的運維好像和Kubernetes完全沒有關系。在Master上一些組件的監控并不是用我們之前提到的方式來實現的,是通過內部的監控組件來收集。這與我們之前提到的用戶Node組件信息收集方式不太一樣,相當于兩種方式并行在跑,人力消耗也比較大。之前騰訊云的ETCD是共享的,也就是每個集群都在ETCD中有一個自己的目錄,相當于一個軟隔離,沒有一個硬隔離的措施。大家知道ETCD其實并不是為了海量數據存儲而服務的,而騰訊云在線上運行了數萬個集群,導致遇到了很多和ETCD有關的問題。在這樣的大背景下,騰訊云推出了第二種方案,也就是將Kubernetes部署在Kubernetes里面,通過Kubernetes  API去管理Master組件,包括我們剛才提到的apiserver、kube-controller-manager和一些自研的組件。這樣的好處在于,騰訊云不需要再通過SSH的方式,比如當騰訊云需要做一個apiserver的升級或kube-controller-manager的bug修復的情況,不需要再通過SSH的方式去每臺機器上進行操作,可以直接通過API  Kubernetes提供的deployment的滾動升級的能力來完成這一點。



也可以充分利用Kubernetes運維的能力,包括健康檢查和就緒檢查的機制實現故障自愈。基于之前提到的hpa-metrics-server,可以實現apiserver的動態擴容,應對用戶的集群結點有一個大規模的上升或者突然下降的情況,更好地滿足Kubernetes集群里面的結點對于apiserver性能的需求。在這個基礎上,還需要解決一個問題:之前基于CVM的部署方案是將所有的組件部署在用戶的VPC里面,如果將所有組件部署在kubernetes Master中又要怎么做呢?并不能給每個用戶部署一個Kubernetes集群,然后再跑它的Master,這樣聽起來好像和第一種方案沒有什么區別。所以又提供了一個專門的Kubernetes集群,在這個集群里面運行著現在線網所有集群的Master,這個集群運行在自己的VPC里面,它又要怎么和用戶的VPC結點進行通信呢?騰訊云利用了VPC提供的彈性網卡能力,這個彈性網卡會被直接綁定到運行apiserver的pod中。大家可以理解為這個pod既加入了用來運行Master組件集群的VPC,又加入了用戶的VPC,也就是一個pod同時在兩個網絡中,這樣就可以很好的去實現和用戶Node相關的互通。另外在這個基礎上,也可以復用之前提到的一些監控和日志設施,更好地去做信息的收集和運維。

值得提到的一點是,這個方案中,可以利用一個叫做Etcd operator的組件,也就是coreos其中的一個組件來為每個集群提供獨立的Etcd的部署,這樣就可以解決在集群數量不斷上升的情況下Etcd性能吃緊的問題。通過在Kubernetes集群里面部署Kubernetes  Master組件,降低了運維的成本。同時也統一了做運維工作的方式,騰訊云都是通過Kubernetes的方式進行運維的。有效降低了Master組件的資源消耗,因為之前Master組件是免費提供給客戶的,但有些客戶的集群規模非常大,Master配置也非常高,這時集群的Master存在資源浪費的情況。

掃一掃在手機上閱讀本文章

? 成都大數匯聚科技有限公司官方網站    蜀ICP備17028909號    技術支持: 成都大數匯聚
主站蜘蛛池模板: 91沈先生在线观看高清_中文精品一卡2卡3卡4卡国色_麻豆九九九_曰韩无码二三区中文字幕_久久国产精品免费专区_又色又爽又高潮免费视频观看_91狼人社区_无套在线观看 | 亚洲乱亚洲乱妇无码_午夜dj高清www免费视频_久久久久国产A免费观看RELA_国产在线一二区_特黄免费av_AV不卡在线永久免费观看_日本熟妇洗澡videos_与子乱对白在线播放单亲国产 | 国产成人精品亚洲精品_2017最新高清无码网站_欧美成人黄色_一区二区视频免费_性大片爱赏网免费观看_欧美性受xxxx黑人xxxy爽_精品久久久噜噜噜久久_7777久久香蕉成人影院 | 46集连续剧免费观看_又摸又揉又黄又爽的视频_国产50部艳色禁片无码_中文字幕在线轮第一页_国产无遮挡裸体免费视频A片_欧美一区二区二区_在线免费观看毛片视频_av高清在线观看 | 色影天堂_国产亚洲毛片在线_黄色av免费观看_日本最新免费二区三区_放荡老师张开双腿任我玩_亚洲成人www_岛国无码av不卡一区二区_一二三四五社区在线高清观看 | 久久久久影院美女国产主播_91大神一区二区_国产精品毛片一区二区在线_日本黄页网站免费观看_在线看毛片的网站_久久久久国产亚洲AV麻豆_免费精品在线视频_日本亲子乱子伦xxxx30路 | 一级黄色录像影片夫妻性生活影片_日本道色综合久久影院_国产精品xxx在线观看_激情婷婷_亚洲精品免费在线观看视频_亚洲三级性片_国产97视频人人做人人爱_懂色av色香蕉一区二区蜜桃 | 国产三级久久久精品麻豆三级_黄色成年人国语版在线观看_国产gv在线观看受被做哭_伦理片一级片_免费三区_狠狠操导航_久久精品对白_操操综合网 | 亚洲午夜久久久久_久久深夜福利_无人高清视频免费观看在线_免费a在线观看_日本老熟妇乱_日本视频一区二区在线观看_亚洲人成自拍网站在线观看_亚洲国产精品尤物yw在线 | 国产一区在_国产真实乱免费高清视频_色香蕉久久_性欧美视频一区二区三区_亚洲资源av_又黄又爽又色视频_五十路熟女一区二区三区_午夜小视频免费 | 欧美2区_国产精品人妻一区二区三区四_暖暖免费高清日本社区在线观看_黄色av网站在线看_在线观看无码视频_久久亚洲中文字幕伊人久久大_蜜臀av免费一区二区三区水牛_免费啪视频观在线视频浴室 | 依人在线视频_亚洲精品久久久久久久_一本久久A精品一区二区_中国一级片在线播放_精品特级毛片_九九视频在线观看视频6_成年日韩免费大片黄在线观看_男人插女人的免费视频 | 国产初高中生视频在线观看_GOGO少妇无码肉肉视频_奇米777四色成人影视_日本黄色五级片_色婷婷成人做爰视频免费_谍战剧惊弦免费观看_在线观看xxxx7777视频_免费a网 | 少妇激情一区二区三区视频_大地资源网中文在线观看免费节目_日韩精品人妻中文字幕有码_超碰97人人射_a级免费观看视频_国产第一页福利影院_成人免费无码大片a_成人国产一区二区精品小说 | 日韩91_国产精品入口免费视_国产精品久久_夜夜草专业av导航_亚洲精品色哟哟_白嫩少妇一级无码_毛片视频网站_日本神影院一区二区三区 | 亚欧美无遮挡HD高清在线视频_日本一区二区免费在线播放_大肉大捧一进一出好爽视色大师_亚洲天堂福利视频_欧美成一区_国产CHINESEHDXXXX美女_97视频一二区_亚洲精品中字 | 一级毛片区_911久久香蕉国产线看观看_午夜影院在线观看_人人爱97_国产精品av一区二区三区_亚洲欧洲无码在线观看_日本高清视频免费观看_亚洲性精品 | 国产91精品老熟女泻火_一级片免费看_亚洲综合另类欧在线美_国产外围在线观看_欧美日韩在线精品一区二区三区激情综合_a4yy午夜_伊人婷婷涩六月丁香七月_中文字幕在线一二三区 | 99午夜_全黄a免费一级毛片人人爱_亚洲一区二区av在线_久久99久久久_国产亚洲日韩欧美另类第八页_麻豆av网站_色综合网址_超碰免费看 | 人人妻人人做人人爽_天天操天天草_少妇小莹的yin荡生活下视频_久草老司机_成人国产一区二区_天天天天天天天天操_国产娱乐凹凸视觉盛宴在线视频_亚洲vs天堂 | 福利视频日韩_日本不卡免费一区_一久久久_粗暴进入娇小呻吟痛呼_激情伊人五月天久久综合_国产精品人妻熟女毛片av_精品少妇爆乳无码专区久久_日韩在线日韩 | www.se婷婷_国产第3页_99精品国产福利在线观看免费_日本xxxxxxxxx_www久久综合_九九精品在线_日产精品最新在线_18勿入网站免费永久 | 亚洲视频久久久久_中文字幕国产精品_九九精品网_无线乱码一二三区免费看_亚洲性图_午夜av成人_japansex久久高清精品_亚洲a级免费视频 | 亚洲性生活片_国产一二三四区在线_邻居少妇人妻互换_久久99精品国产自在现线小黄鸭_伊人夜色_亚洲日韩日本中文在线_久久精品亚洲热_国内自产拍自拍A免费毛片 | 色婷婷综合在线观看_在线看免费无码av天堂的_男男av纯肉无码免费播放无码_国产xxxx69真实实拍_超爱碰在线资源_MM1313亚洲精品无码久久_日本在线不卡视频一二三区_欧美黑人巨大xxxxxx | 日日躁夜夜躁人人揉av五月天_精品乱码卡1卡2卡3免费开放_国产高清在线精品一本大道_2020av毛片_久久爱一区_亚洲av无码偷拍在线观看_99国产热_亚洲无码精品在线观看影院 | 欧美一区二区三区久久综合_久久久精彩_国产视频精品区_爱爱免费看_日韩精品视频三区_国产成人精品高清久久_亚洲综合视频在线播放_日韩欧美中文字幕视频 | 午夜黄大色黄大片美女_中文字幕第三区_国产原创av中文在线观看_亚洲理论中文字幕_色综合久久久无码中文字幕波多_中文字幕AV一区乱码_污污网站国产精品白丝袜_丨国产丨调教丨91丨 | 国内自拍五区_被黑人的巨茎日出白浆_中文字幕第一区二区_国产亚洲美女精品久久久_亚洲porn_国产伦一区二区三区色一情_人人草人人人_久久无码字幕中文久久无码 | 91看片王_四虎影视在线视频大全免费观看_国产校花精品av_欧美亚洲专区_户外露出一区二区三区_欧美在线专区_电锯惊魂1在线观看_日韩爱情动作片 | 2018av天堂在线视频精品观看_特级毛片aaaa级毛片免费_免费观看久久久_免费视频一区二区_大地资源在线视频在线观看_欧洲少妇性喷潮_精品亚洲va在线va天堂资源站_国产免费一区二区三区播放 久久综合久久精品_人人妻人人澡人人爽人人精品AV_97久久夜色精品国产九色_老司机深夜福利视频_无码人妻精品1国产婷婷_china直男gay国产_色妹子综合网_最近最新中文第一页 | 无码熟妇人妻AV在线网站_美女视频免费是黄的网站高清_91av国产在线视频_亚洲成色在线综合网站_久久久天堂_日产精品一卡2卡三卡四乱码_一区二区三区无码按摩精油_超碰色偷偷男人的天堂 | 色狠狠av五综合久久久_四虎影院最新网址_国产精品久久久久久久模特_一区二区在线不卡_18禁黄网站禁片免费观看女女_91成人影院_色老大影院www.97uuu.com_精品区一区二区三 | 在线观看免费国产小视频_国产黄色在线_久久久久久国产精品免费免费_成全视频在线观看免费高清在线观看_国产精品国产三级国产专播_FREEZEFRAME丰满老妇_国产强伦姧在线观看无码_国产性色强伦免费视频 | 九九热免费在线_国产亚洲精品AAAA片在线播放_日本地区不卡一区二区三区搜索_亚洲欧美日韩一级_国产在线看片免费人成视频97_fc2在线中文字幕_一级日本_黄绝一级毛片 | 欧美成人久久_精品国产AⅤ一区二区三区桃_无码欧亚熟妇人妻AV在线外遇_俺去啦久久草在线视频_延禧攻略在线_久久久久久久99精品免费观看_天堂久久久久VA久久久久_亚洲精品欧美视频 | 国产精品一区在线_欧美老妇疯狂xxxxbbbb_亚洲九七_狠狠躁夜夜a产精品视频_亚洲国产精品ⅴa在线观看_人妻少妇看A偷人无码精品_精品欧美在线观看_国产高清一区二区三区四区 | 久久久久久久亚洲视频_在线播放一区二区精品视频_色噜噜在线播放_热九九精品_亚洲成人aa_国产各种高潮合集在线观看_毛片网此_世界一级毛片 | 国产网站久久_超碰99热_国产痴女资源在线不卡_欧美偷拍另类_av不卡免费_艹逼视频免费观看_国产精品一区二区三区成人_亚洲成年人在线 | 一级特黄毛片_国产精品99精品无码视亚_国产日产欧产精品精品软件_日本成人手机在线_亚洲日本黄色片_色视频在线_久久瑟瑟_av在线不卡免费观看 | 2020狠狠操_日韩色在线_亚洲精品无码一区二区三区_日韩特黄色片子看看_国产精品偷伦视频播放_国产欧美高清_国产91精品精华液一区二区三区_97色mm五月天亚洲 |