日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

我們一起聊聊容器資源自愈

來源: 責(zé)編: 時(shí)間:2024-02-01 12:51:39 283觀看
導(dǎo)讀前言容器作為一種新的資源類型,已經(jīng)應(yīng)用于各大公司,G行也不例外。容器的輕量化特性使得它能夠在故障發(fā)生時(shí)快速進(jìn)行重建,將對(duì)業(yè)務(wù)的影響降到最低,我們通常稱它為自愈。在Kubernetes中,自動(dòng)重建的邏輯是什么?為什么我們經(jīng)常

前言

容器作為一種新的資源類型,已經(jīng)應(yīng)用于各大公司,G行也不例外。容器的輕量化特性使得它能夠在故障發(fā)生時(shí)快速進(jìn)行重建,將對(duì)業(yè)務(wù)的影響降到最低,我們通常稱它為自愈。在Kubernetes中,自動(dòng)重建的邏輯是什么?為什么我們經(jīng)常說到Pod自愈而不是容器自愈?如何判定Pod狀態(tài),Pod都有什么狀態(tài)?重啟策略都有什么,是什么推動(dòng)重啟?對(duì)于不同的重啟資源需求,G行如何實(shí)現(xiàn)?下文將一一講述。9IE28資訊網(wǎng)——每日最新資訊28at.com

圖1   Kubernetes架構(gòu)圖1 Kubernetes架構(gòu)9IE28資訊網(wǎng)——每日最新資訊28at.com

一、容器自愈

談到容器自愈,為什么說是通過Pod自愈實(shí)現(xiàn)的呢?Pod是一組(一個(gè)或多個(gè))容器,這些容器共享Pod的存儲(chǔ)、網(wǎng)絡(luò)、以及運(yùn)行容器的聲明。且Pod是K8s(即Kubernetes)的最小部署管理計(jì)算單元。K8s是CNCF(Cloud Native Computing Foundation)的畢業(yè)項(xiàng)目之一,是目前市場(chǎng)使用最廣泛的自動(dòng)化部署、擴(kuò)展和管理成千上萬容器化應(yīng)用程序的開源系統(tǒng),也是G行采用的容器管理工具。Pod運(yùn)行在被稱作是Node的節(jié)點(diǎn)中,節(jié)點(diǎn)既可以是物理機(jī),也可以是虛擬機(jī)。當(dāng)K8s判定Pod出現(xiàn)問題且需要被殺死的時(shí)候,會(huì)在運(yùn)轉(zhuǎn)正常且資源充足的Node節(jié)點(diǎn)重建完成,從而完成自愈。9IE28資訊網(wǎng)——每日最新資訊28at.com

圖2 CNCF的畢業(yè)項(xiàng)目和孵化中的項(xiàng)目圖2 CNCF的畢業(yè)項(xiàng)目和孵化中的項(xiàng)目9IE28資訊網(wǎng)——每日最新資訊28at.com

二、Pod狀態(tài)判定

應(yīng)用程序可能因多種原因而變得不可靠,例如:暫時(shí)失聯(lián)、配置錯(cuò)誤、應(yīng)用程序錯(cuò)誤、硬件故障、資源緊張等。那么如何檢測(cè)運(yùn)行著應(yīng)用程序的pod健康狀態(tài)是好還是壞呢,K8s是通過探針來檢查的,探針有三種:ReadinessProbe、StartupProbe及LivenessProbe。9IE28資訊網(wǎng)——每日最新資訊28at.com

 ReadinessProbe(就緒)探針:用于判斷容器服務(wù)是否可用(即是否為ready狀態(tài)),只有Ready狀態(tài)的Pod才可以接收服務(wù)請(qǐng)求。9IE28資訊網(wǎng)——每日最新資訊28at.com

StartupProbe(啟動(dòng))探針:適用于應(yīng)用程序啟動(dòng)緩慢、網(wǎng)絡(luò)訪問延遲等場(chǎng)景,相應(yīng)造成容器啟動(dòng)緩慢的情況。9IE28資訊網(wǎng)——每日最新資訊28at.com

LivenessProbe(存活)探針:用于判斷容器是否存活①(即是否為running狀態(tài)),如果探針檢測(cè)到容器不健康,則Kubelet將殺死這個(gè)容器,并根據(jù)容器的重啟策略(重啟策略后面會(huì)說)做相應(yīng)的處理。9IE28資訊網(wǎng)——每日最新資訊28at.com

G行通過同時(shí)使用ReadinessProbe(就緒)探針和LivenessProbe(存活)探針來判定Pod的狀態(tài)。9IE28資訊網(wǎng)——每日最新資訊28at.com

K8s提供了5個(gè)控制這些探針的選項(xiàng):9IE28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片9IE28資訊網(wǎng)——每日最新資訊28at.com

而這三種探針均可以通過以下三種方式②實(shí)現(xiàn):9IE28資訊網(wǎng)——每日最新資訊28at.com

HTTPGetAction

通過容器的IP地址、端口號(hào)及路徑調(diào)用http get方法,如果相應(yīng)的狀態(tài)碼大于等于200且小于400,則認(rèn)定容器是健康狀態(tài)。9IE28資訊網(wǎng)——每日最新資訊28at.com

TCPSocketAction

通過容器的IP地址和端口號(hào)執(zhí)行tcp檢查,如果能夠建立tcp連接,則表明容器健康。9IE28資訊網(wǎng)——每日最新資訊28at.com

ExecAction

在容器內(nèi)部運(yùn)行一個(gè)命令,如果返回碼為0,則表示容器健康,否則表示不健康。9IE28資訊網(wǎng)——每日最新資訊28at.com

 G行使用HTTPGetAction和TCPSocketAction兩種方式查看連接情況。9IE28資訊網(wǎng)——每日最新資訊28at.com

運(yùn)維人員可以使用Kubectl命令行客戶端或Yaml部署模板來配置探針和IP地址、端口號(hào)、路徑連接方式。下面是以LivenessProbe探針、HTTPGetAction連接方式為例,編寫的Yaml文件:9IE28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片9IE28資訊網(wǎng)——每日最新資訊28at.com

三、Pod重啟策略

知道如何檢查Pod的健康狀態(tài)了,如果不健康,該如何進(jìn)行重啟呢?這里就需要說到Pod的重啟策略(restartPolicy)了。9IE28資訊網(wǎng)——每日最新資訊28at.com

重啟策略應(yīng)用于Pod內(nèi)的所有容器,由Pod所處的Node上的Kubelet進(jìn)行判斷和重啟操作。當(dāng)某個(gè)容器異常退出或者健康檢查失敗時(shí),Kubelet會(huì)根據(jù)重啟策略的設(shè)置進(jìn)行相應(yīng)的操作。9IE28資訊網(wǎng)——每日最新資訊28at.com

Pod的重啟策略有Always、OnFailure、Never三種,Default為Always。9IE28資訊網(wǎng)——每日最新資訊28at.com

Always:當(dāng)容器失效時(shí),由Kubelet自動(dòng)重啟該容器9IE28資訊網(wǎng)——每日最新資訊28at.com

OnFailure:當(dāng)容器終止運(yùn)行且退出碼不為0時(shí),由Kubelet自動(dòng)重啟該容器。9IE28資訊網(wǎng)——每日最新資訊28at.com

Never:不論容器運(yùn)行狀態(tài)如何,Kubelet都不會(huì)重啟該容器。9IE28資訊網(wǎng)——每日最新資訊28at.com

圖3  示例Pod在G行Prometheus的可視化平臺(tái)Grafana上的重啟情況,紅線為閾值圖3 示例Pod在G行Prometheus的可視化平臺(tái)Grafana上的重啟情況,紅線為閾值9IE28資訊網(wǎng)——每日最新資訊28at.com

Pod如何重啟

重啟策略明確了,那么是靠誰來完成重啟的呢?是靠控制器來實(shí)現(xiàn)的。9IE28資訊網(wǎng)——每日最新資訊28at.com

在講述控制器之前,先考慮這樣一個(gè)場(chǎng)景:Pod沒有副本,如果這個(gè)Pod出現(xiàn)問題,上面跑的容器應(yīng)用也就無法運(yùn)轉(zhuǎn)了,服務(wù)也就中斷了。所以在K8s中,在創(chuàng)Pod之初,就是以多副本的形式創(chuàng)建的。這種負(fù)責(zé)Pod副本的創(chuàng)建、Pod重啟、調(diào)度及全生命周期自動(dòng)控制的組件叫做控制器(也叫工作負(fù)載,即workload)。9IE28資訊網(wǎng)——每日最新資訊28at.com

控制器根據(jù)不同的功能分為Replicaset與Deployment、 DaemonSet、StatefulSet、Job和Cronjob幾種。這幾種控制器G行都有使用,并且在G行自建的容器統(tǒng)一管理平臺(tái)進(jìn)行了部署。這個(gè)平臺(tái)融合管理了云上所有的應(yīng)用相關(guān)容器資源,提高了運(yùn)維效率。9IE28資訊網(wǎng)——每日最新資訊28at.com

圖4 G行容器統(tǒng)一管理平臺(tái)登錄首頁圖4 G行容器統(tǒng)一管理平臺(tái)登錄首頁9IE28資訊網(wǎng)——每日最新資訊28at.com

Replicaset與Deployment  

圖片圖片9IE28資訊網(wǎng)——每日最新資訊28at.com

圖5   Deployment控制器下兩種Pod滾動(dòng)升級(jí)方式,分別是Recreate和Rolling update,各適用于大版本和小版本9IE28資訊網(wǎng)——每日最新資訊28at.com

 ReplicaSet(簡(jiǎn)稱rs)是Replication Controller的升級(jí)版,是副本集的意思,用于保證K8s集群中有指定數(shù)量的Pods副本在運(yùn)行③。一般不單獨(dú)使用,而是作為Deployment理想狀態(tài)的參數(shù)使用。且擁有集合式的標(biāo)簽選擇器,可以選擇多個(gè)標(biāo)簽。    9IE28資訊網(wǎng)——每日最新資訊28at.com

Deployment被稱作是副本控制集(即rs)的控制器,通過為應(yīng)用程序創(chuàng)建一個(gè)或多個(gè)rs以管理應(yīng)用程序的多個(gè)版本。通過每個(gè)副本控制集(rs)的模板和副本保持的能力來管理無狀態(tài)應(yīng)用的工作負(fù)載(應(yīng)用程序集群),比如web集群。9IE28資訊網(wǎng)——每日最新資訊28at.com

DaemonSet

圖6  展示了DaemonSet這種類型的控制器的Pods部署圖6 展示了DaemonSet這種類型的控制器的Pods部署9IE28資訊網(wǎng)——每日最新資訊28at.com

DaemonSet是特殊類型的Deployment,在集群中的全部或者部分節(jié)點(diǎn)上,每個(gè)節(jié)點(diǎn)上有且僅有一份Pod的副本資源在運(yùn)行。比如系統(tǒng)的監(jiān)控、日志的收集、分布式存儲(chǔ)、網(wǎng)絡(luò)的代理等,都需要每個(gè)成員節(jié)點(diǎn)上有且只有一個(gè)Pod。例如:每個(gè)Node上只需要運(yùn)行一個(gè)日志采集程序Logstach,或者只運(yùn)行一個(gè)性能監(jiān)控程序Prometheus Node Exporter。9IE28資訊網(wǎng)——每日最新資訊28at.com

而且后續(xù)加入集群的新的節(jié)點(diǎn)也會(huì)自動(dòng)創(chuàng)建一個(gè)相同的Pod對(duì)象。管理員也可以使用Nodeselector(節(jié)點(diǎn)選擇器)配合節(jié)點(diǎn)Label指定僅在部分具有特定特征的節(jié)點(diǎn)上運(yùn)行指定的Pod對(duì)象。9IE28資訊網(wǎng)——每日最新資訊28at.com

StatefulSet

圖7   有狀態(tài)集在一個(gè)Pod故障被殺死,并重建新Pod的情況圖7 有狀態(tài)集在一個(gè)Pod故障被殺死,并重建新Pod的情況9IE28資訊網(wǎng)——每日最新資訊28at.com

用來管理有狀態(tài)應(yīng)用的工作負(fù)載(應(yīng)用程序集群),管理Pods集合的部署和伸縮,并為這些Pods提供持久存儲(chǔ)和持久標(biāo)識(shí)符。與Depolyment類似,Statefulset管理基于相同容器模板的一組Pods。但與Depolyment不同的是,Statefulset為每個(gè)Pod維護(hù)了一個(gè)有粘性的ID。這些Pods是基于相同的模板,但是不能相互替換,即無論怎么調(diào)度,每個(gè)Pod都有一個(gè)永久不變的ID。9IE28資訊網(wǎng)——每日最新資訊28at.com

Job和Cronjob

圖8  Job和Cronjob在完成工作后回收算力的場(chǎng)景展示圖8 Job和Cronjob在完成工作后回收算力的場(chǎng)景展示9IE28資訊網(wǎng)——每日最新資訊28at.com

Job是用來定義并啟動(dòng)一個(gè)批處理任務(wù),是單次性作業(yè)控制器。這任務(wù)通常并行或者串行啟動(dòng)多個(gè)計(jì)算進(jìn)程去處理一批工作項(xiàng),即work item,工作項(xiàng)處理完成后,整個(gè)批處理任務(wù)結(jié)束。比如Hadoop的離線數(shù)據(jù)處理、視頻解碼、或者HPC業(yè)務(wù)等,都需要很多個(gè)節(jié)點(diǎn)提供一個(gè)集中式的大算力。與傳統(tǒng)算力相比,Job控制器能在保留結(jié)果的同時(shí),快速回收算力,因?yàn)橐粋€(gè)Job完成后,就會(huì)立即殺死使用的Pod。9IE28資訊網(wǎng)——每日最新資訊28at.com

 Cronjob控制器用于周期性調(diào)度Job控制器。傳統(tǒng)環(huán)境使用的一般用到的是7*24小時(shí)不間斷的備份服務(wù)器,現(xiàn)在可以使用Cronjob控制器周期性的起一個(gè)Job作業(yè),做完后,保留結(jié)果,殺死Pod,回收算力。Cronjob基本照搬了Linux操作系統(tǒng)的周期性任務(wù)Crontab,用minutes、hours、dayofmonth、month、dayofweek來進(jìn)行定義。9IE28資訊網(wǎng)——每日最新資訊28at.com

需要注意,一些控制器對(duì)Pod的重啟策略要求,G行也是按如下執(zhí)行的:9IE28資訊網(wǎng)——每日最新資訊28at.com

Replicaset或者DaemonSet:必須設(shè)置為always,需要保證該容器持續(xù)運(yùn)行。9IE28資訊網(wǎng)——每日最新資訊28at.com

 Job:onFailure或Never,確保容器執(zhí)行完成后不再重啟。9IE28資訊網(wǎng)——每日最新資訊28at.com

特定場(chǎng)景的Pod重啟

Pod對(duì)Node有特定要求的場(chǎng)景:9IE28資訊網(wǎng)——每日最新資訊28at.com

Node節(jié)點(diǎn)的配置是多種類型的,比如有的安裝了SSD磁盤,有的沒有。有的是AMD64的,有的是AMD32的。如果想著把新建的Pod運(yùn)行在AMD64的Node上,該怎么做呢。下面是Pod的Yaml配置:9IE28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片9IE28資訊網(wǎng)——每日最新資訊28at.com

Pod之間相互依存或者互斥的場(chǎng)景:9IE28資訊網(wǎng)——每日最新資訊28at.com

     現(xiàn)在想新建這么兩個(gè)Pod,有互相依存關(guān)系,需要放到同一個(gè)Region內(nèi),該如何實(shí)現(xiàn)呢。像這種互為親和或者互斥關(guān)系的Pod是通過在Yaml文件中增加TopologyKey屬性,來聲明目標(biāo)拓?fù)鋬?nèi)的Pod是否在一起的。下面是一個(gè)親和的例子,目標(biāo)Pod的標(biāo)簽值是APP:”Nginx”。親和Pod的標(biāo)簽值也是一樣。增加的TopologyKey值為topology.kubernetes.io/region,意味著這兩個(gè)Pod給配置到了同一個(gè)Region下。9IE28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片9IE28資訊網(wǎng)——每日最新資訊28at.com

 這些相互依賴或者相互之間頻繁調(diào)用的Pod,需要盡可能的部署在同一個(gè)Zone、機(jī)房、機(jī)架、Node節(jié)點(diǎn)。反之,就需要讓這些Pod盡可能的互相遠(yuǎn)離。簡(jiǎn)而言之,就是Pod之間在同一個(gè)拓?fù)溆蛑泄泊婊蚧コ狻M負(fù)溆蛑赣上嗤乩砜臻g中的幾個(gè)Node節(jié)點(diǎn)組成。9IE28資訊網(wǎng)——每日最新資訊28at.com

一些常規(guī)的拓?fù)溆蛴校?span style="display:none">9IE28資訊網(wǎng)——每日最新資訊28at.com

kubernetes.io/hostname;topology.kubernetes.io/region;topology.kubernetes.io/zone。9IE28資訊網(wǎng)——每日最新資訊28at.com

四、總結(jié)

在企業(yè)實(shí)際在使用容器這類資源的時(shí)候,除了技術(shù)本身,要考慮的其他問題也會(huì)很多。企業(yè)管理的容器有千千萬萬,出于效率考慮,對(duì)于有特殊需求的容器如何進(jìn)行批量創(chuàng)建和管理呢,這就需要在統(tǒng)一管理平臺(tái)按照相應(yīng)的模板進(jìn)行創(chuàng)建與維護(hù)。在Pod進(jìn)行重建后,如何保證客戶端應(yīng)用屏蔽這些Pod IP地址的變化及數(shù)量的變化呢,這就需要通過定義Pod上層的Service進(jìn)行保障。不同的應(yīng)用系統(tǒng)有自身的架構(gòu)特點(diǎn),在進(jìn)行控制器配置的時(shí)候如何進(jìn)行考量呢,需要選擇哪種控制器呢,這就需要進(jìn)行交付前的資源配置梳理。等等問題。總之,在考慮到基本的技術(shù)特性的同時(shí),再應(yīng)用系統(tǒng)自身特點(diǎn)相結(jié)合,才能夠?qū)⒓夹g(shù)的最大價(jià)值加以發(fā)揮。9IE28資訊網(wǎng)——每日最新資訊28at.com

五、附錄

① 容器的狀態(tài)一共有五個(gè):created(已創(chuàng)建)、running(運(yùn)行中)、paused(暫停)、exited(停止)、dead(死亡)、restarted(重啟中)、removing(遷移中)。9IE28資訊網(wǎng)——每日最新資訊28at.com

②每種探測(cè)方式,還需要額外設(shè)置initialDelaySeconds和timeoutSeconds這兩個(gè)參數(shù)。initialDelaySeconds表示容器啟動(dòng)后進(jìn)行首次健康檢查的等待時(shí)間,單位是秒。timeoutSeconds表示健康檢查請(qǐng)求發(fā)送后等待響應(yīng)的超時(shí)時(shí)間,單位是秒。如果超時(shí),則Kubelet認(rèn)為容器無法提供服務(wù),會(huì)重啟該容器。9IE28資訊網(wǎng)——每日最新資訊28at.com

③例如:Pod所在節(jié)點(diǎn)發(fā)生宕機(jī),K8s就會(huì)第一時(shí)間觀察到這個(gè)故障,并自動(dòng)創(chuàng)建一個(gè)新Pod對(duì)象,將其調(diào)度到其他合適的節(jié)點(diǎn)上,K8s會(huì)實(shí)時(shí)監(jiān)控集群中目標(biāo)Pod的副本數(shù)量,并盡力與Deployment中聲明的Replicas數(shù)量保持一致。9IE28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-70459-0.html我們一起聊聊容器資源自愈

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: Kubernetes Informer基本原理,你明白了嗎?

下一篇: Poetry:Python開發(fā)者的依賴管理新時(shí)代

標(biāo)簽:
  • 熱門焦點(diǎn)
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
亚洲精选成人| 国产一区二区三区在线观看视频| 久久久www| 老牛国产精品一区的观看方式| 男人的天堂亚洲| 欧美日韩日本国产亚洲在线| 国产精品区一区二区三区| 国产亚洲免费的视频看| 亚洲第一精品夜夜躁人人躁 | 亚洲精品一区二区三区樱花 | 美日韩丰满少妇在线观看| 欧美另类videos死尸| 国产精品午夜在线| 在线观看av不卡| 一区二区三区四区五区视频| 欧美亚洲一区三区| 欧美成人精品影院| 国产精品久久久久久久久久ktv| 国产精品一区在线观看| 亚洲第一主播视频| 亚洲欧美成人| 欧美国产亚洲精品久久久8v| 国产精品一区二区在线观看| 亚洲国产婷婷| 亚洲欧美中文日韩在线| 欧美激情自拍| 韩日成人在线| 亚洲午夜成aⅴ人片| 蜜臀99久久精品久久久久久软件| 欧美日韩一区二区在线视频| 激情久久久久久久| 亚洲自拍偷拍色片视频| 免费成人毛片| 国产日韩欧美中文| 一本久道久久综合婷婷鲸鱼| 久久人人97超碰国产公开结果| 欧美亚一区二区| 亚洲激情六月丁香| 久久超碰97中文字幕| 一区视频在线看| 在线亚洲欧美视频| 美日韩精品免费| 国产亚洲福利一区| 亚洲视频在线观看免费| 欧美国产91| 在线成人免费观看| 久久精品国产成人| 国产精品嫩草99av在线| 一本一本久久a久久精品综合妖精| 久久综合伊人77777| 国产三区精品| 午夜精品偷拍| 国产精品久久久久9999| 日韩视频在线永久播放| 男同欧美伦乱| 永久555www成人免费| 久久国产99| 国产欧美一区二区三区久久 | 亚洲欧美日韩精品一区二区| 欧美日韩激情网| 亚洲日韩欧美一区二区在线| 另类人畜视频在线| 狠狠色狠狠色综合日日五| 欧美一区二区在线播放| 国产精品一区久久| 亚洲欧美bt| 欧美日韩在线看| 亚洲作爱视频| 欧美人与性禽动交情品| 亚洲精品日韩一| 欧美激情一区二区三区全黄| 亚洲国产婷婷香蕉久久久久久99 | 国产专区欧美精品| 欧美在线免费一级片| 国产麻豆视频精品| 亚洲欧美中文日韩在线| 国产精品日韩在线一区| 亚洲在线黄色| 国产精品入口福利| 亚洲一区久久久| 国产精品xvideos88| 亚洲午夜精品网| 国产精品黄色在线观看| 亚洲主播在线播放| 国产精品一区二区三区久久| 亚洲欧美综合v| 国产日韩欧美成人| 久久久久久久久久久久久久一区| 国内一区二区在线视频观看| 久久久亚洲欧洲日产国码αv | 精品999久久久| 久久综合伊人| 亚洲精品欧洲| 国产精品qvod| 亚洲欧美影院| 国产亚洲欧美日韩精品| 久久免费国产| 亚洲国产婷婷| 欧美三区在线| 销魂美女一区二区三区视频在线| 国产欧美91| 久久午夜影视| 亚洲精品综合| 国产精品美女久久久浪潮软件| 亚洲欧美日韩国产一区二区| 国产亚洲在线观看| 美国成人直播| 一本色道久久综合狠狠躁篇的优点| 国产精品v欧美精品v日韩精品| 午夜激情亚洲| 在线成人激情| 欧美日韩免费观看一区三区 | 欧美国产亚洲另类动漫| 99国产麻豆精品| 国产精品久久久久秋霞鲁丝| 欧美一区二区三区另类| 韩日视频一区| 欧美激情1区2区3区| 在线视频欧美精品| 国产亚洲欧美中文| 欧美国产精品va在线观看| 亚洲香蕉伊综合在人在线视看| 国产视频自拍一区| 久色成人在线| 在线亚洲欧美视频| 国产综合网站| 欧美片第1页综合| 亚洲欧美在线看| 亚洲黄色在线看| 国产精品免费在线| 美女在线一区二区| 亚洲欧美国产一区二区三区| 尤物yw午夜国产精品视频明星| 欧美日韩另类字幕中文| 久久av资源网站| 日韩一级片网址| 国产主播一区| 欧美日韩伦理在线| 久久久五月天| 亚洲一区二区三区精品动漫| 又紧又大又爽精品一区二区| 欧美午夜不卡视频| 麻豆精品国产91久久久久久| 亚洲尤物在线视频观看| 亚洲国产成人久久| 国产精品最新自拍| 欧美久久综合| 久久免费精品日本久久中文字幕| 夜夜嗨av一区二区三区网页| 韩国av一区二区三区| 欧美午夜精品久久久久久浪潮| 久热精品视频| 羞羞视频在线观看欧美| 日韩亚洲精品视频| 精品96久久久久久中文字幕无| 国产精品激情偷乱一区二区∴| 欧美不卡高清| 久久精品夜夜夜夜久久| 亚洲宅男天堂在线观看无病毒| 亚洲国产欧美精品| 国产伪娘ts一区| 国产精品成人久久久久| 欧美丰满高潮xxxx喷水动漫| 久久成人人人人精品欧| 一区二区三区视频免费在线观看| 在线看片一区| 国产亚洲欧洲一区高清在线观看| 欧美午夜精品久久久久久人妖 | 日韩视频在线你懂得| 影音先锋中文字幕一区| 国产日韩av高清| 国产精品久久久久久久久久直播| 欧美激情一区二区在线| 久久视频一区二区| 香蕉久久夜色| 亚洲女人天堂成人av在线| 日韩亚洲欧美成人| 亚洲激情在线观看| 影音先锋日韩资源| 国产在线欧美| 国产午夜精品一区二区三区视频| 国产精品久久久久久久久免费| 欧美三级视频在线播放| 欧美激情视频免费观看| 欧美成人三级在线| 麻豆成人在线播放| 久久亚洲色图| 久久久久九九九| 久久精品国产视频| 久久成人18免费网站| 欧美一区二区在线免费观看| 亚洲欧美日韩人成在线播放| 亚洲小说春色综合另类电影| 欧美刺激性大交免费视频| 免费毛片一区二区三区久久久| 久久综合色一综合色88| 久久亚洲精品一区二区| 久久久久在线观看| 久久久精品午夜少妇| 久久九九国产精品怡红院| 久久精品久久综合| 久久久久久婷| 美女脱光内衣内裤视频久久网站| 久久免费视频网|