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

23 個必知必會的 Kubernetes 高頻面試題

系統 Linux
在這篇中主要介紹了23 個必知必會的 Kubernetes 高頻面試題 ,一起看一下吧。

一、 k8s是什么?請說出你的了解?

答:Kubenetes是一個針對容器應用,進行自動部署,彈性伸縮和管理的開源系統。主要功能是生產環境中的容器編排。

K8S是Google公司推出的,它來源于由Google公司內部使用了15年的Borg系統,集結了Borg的精華。

二、 K8s架構的組成是什么?

答:和大多數分布式系統一樣,K8S集群至少需要一個主節點(Master)和多個計算節點(Node)。

  • 主節點主要用于暴露API,調度部署和節點的管理;
  •  計算節點運行一個容器運行環境,一般是docker環境(類似docker環境的還有rkt),同時運行一個K8s的代理(kubelet)用于和master通信。計算節點也會運行一些額外的組件,像記錄日志,節點監控,服務發現等等。計算節點是k8s集群中真正工作的節點。

K8S架構細分:

1、Master節點(默認不參加實際工作):

  • Kubectl:客戶端命令行工具,作為整個K8s集群的操作入口;
  • Api Server:在K8s架構中承擔的是“橋梁”的角色,作為資源操作的唯一入口,它提供了認證、授權、訪問控制、API注冊和發現等機制。客戶端與k8s群集及K8s內部組件的通信,都要通過Api Server這個組件;
  • Controller-manager:負責維護群集的狀態,比如故障檢測、自動擴展、滾動更新等;
  • Scheduler:負責資源的調度,按照預定的調度策略將pod調度到相應的node節點上;
  • Etcd:擔任數據中心的角色,保存了整個群集的狀態;

2、Node節點:

  • Kubelet:負責維護容器的生命周期,同時也負責Volume和網絡的管理,一般運行在所有的節點,是Node節點的代理,當Scheduler確定某個node上運行pod之后,會將pod的具體信息(image,volume)等發送給該節點的kubelet,kubelet根據這些信息創建和運行容器,并向master返回運行狀態。(自動修復功能:如果某個節點中的容器宕機,它會嘗試重啟該容器,若重啟無效,則會將該pod殺死,然后重新創建一個容器);
  • Kube-proxy:Service在邏輯上代表了后端的多個pod。負責為Service提供cluster內部的服務發現和負載均衡(外界通過Service訪問pod提供的服務時,Service接收到的請求后就是通過kube-proxy來轉發到pod上的);
  • container-runtime:是負責管理運行容器的軟件,比如docker
  • Pod:是k8s集群里面最小的單位。每個pod里邊可以運行一個或多個container(容器),如果一個pod中有兩個container,那么container的USR(用戶)、MNT(掛載點)、PID(進程號)是相互隔離的,UTS(主機名和域名)、IPC(消息隊列)、NET(網絡棧)是相互共享的。我比較喜歡把pod來當做豌豆夾,而豌豆就是pod中的container;

三、 容器和主機部署應用的區別是什么?

答:容器的中心思想就是秒級啟動;一次封裝、到處運行;這是主機部署應用無法達到的效果,但同時也更應該注重容器的數據持久化問題。

另外,容器部署可以將各個服務進行隔離,互不影響,這也是容器的另一個核心概念。

四、請你說一下kubenetes針對pod資源對象的健康監測機制?

答:K8s中對于pod資源對象的健康狀態檢測,提供了三類probe(探針)來執行對pod的健康監測:

1. livenessProbe探針

可以根據用戶自定義規則來判定pod是否健康,如果livenessProbe探針探測到容器不健康,則kubelet會根據其重啟策略來決定是否重啟,如果一個容器不包含livenessProbe探針,則kubelet會認為容器的livenessProbe探針的返回值永遠成功。

2 .ReadinessProbe探針

同樣是可以根據用戶自定義規則來判斷pod是否健康,如果探測失敗,控制器會將此pod從對應service的endpoint列表中移除,從此不再將任何請求調度到此Pod上,直到下次探測成功。

3. startupProbe探針

啟動檢查機制,應用一些啟動緩慢的業務,避免業務長時間啟動而被上面兩類探針kill掉,這個問題也可以換另一種方式解決,就是定義上面兩類探針機制時,初始化時間定義的長一些即可。

每種探測方法能支持以下幾個相同的檢查參數,用于設置控制檢查時間:

  • initialDelaySeconds:初始第一次探測間隔,用于應用啟動的時間,防止應用還沒啟動而健康檢查失敗
  •  periodSeconds:檢查間隔,多久執行probe檢查,默認為10s;
  • timeoutSeconds:檢查超時時長,探測應用timeout后為失敗;
  • successThreshold:成功探測閾值,表示探測多少次為健康正常,默認探測1次。

上面兩種探針都支持以下三種探測方法:

1)Exec: 通過執行命令的方式來檢查服務是否正常,比如使用cat命令查看pod中的某個重要配置文件是否存在,若存在,則表示pod健康。反之異常。

Exec探測方式的yaml文件語法如下:

spec:  
containers:
- name: liveness
image: k8s.gcr.io/busybox
args:
- /bin/sh
- -c
- touch /tmp/healthy; sleep 30; rm -rf /tmp/healthy; sleep 600
livenessProbe: #選擇livenessProbe的探測機制
exec: #執行以下命令
command:
- cat
- /tmp/healthy
initialDelaySeconds: 5 #在容器運行五秒后開始探測
periodSeconds: 5 #每次探測的時間間隔為5秒

在上面的配置文件中,探測機制為在容器運行5秒后,每隔五秒探測一次,如果cat命令返回的值為“0”,則表示健康,如果為非0,則表示異常。

2)Httpget: 通過發送http/htps請求檢查服務是否正常,返回的狀態碼為200-399則表示容器健康(注http get類似于命令curl -I)。

Httpget探測方式的yaml文件語法如下:

spec:  
containers:
- name: liveness
image: k8s.gcr.io/liveness
livenessProbe: #采用livenessProbe機制探測
httpGet: #采用httpget的方式
scheme:HTTP #指定協議,也支持https
path: /healthz #檢測是否可以訪問到網頁根目錄下的healthz網頁文件
port: 8080 #監聽端口是8080
initialDelaySeconds: 3 #容器運行3秒后開始探測
periodSeconds: 3 #探測頻率為3秒

上述配置文件中,探測方式為項容器發送HTTP GET請求,請求的是8080端口下的healthz文件,返回任何大于或等于200且小于400的狀態碼表示成功。任何其他代碼表示異常。

3)tcpSocket: 通過容器的IP和Port執行TCP檢查,如果能夠建立TCP連接,則表明容器健康,這種方式與HTTPget的探測機制有些類似,tcpsocket健康檢查適用于TCP業務。

tcpSocket探測方式的yaml文件語法如下:

spec:  
containers:
- name: goproxy
image: k8s.gcr.io/goproxy:0.1
ports:
- containerPort: 8080
#這里兩種探測機制都用上了,都是為了和容器的8080端口建立TCP連接
readinessProbe:
tcpSocket:
port: 8080
initialDelaySeconds: 5
periodSeconds: 10
livenessProbe:
tcpSocket:
port: 8080
initialDelaySeconds: 15
periodSeconds: 20

在上述的yaml配置文件中,兩類探針都使用了,在容器啟動5秒后,kubelet將發送第一個readinessProbe探針,這將連接容器的8080端口,如果探測成功,則該pod為健康,十秒后,kubelet將進行第二次連接。

除了readinessProbe探針外,在容器啟動15秒后,kubelet將發送第一個livenessProbe探針,仍然嘗試連接容器的8080端口,如果連接失敗,則重啟容器。

探針探測的結果無外乎以下三者之一:

  • Success:Container通過了檢查;
  • Failure:Container沒有通過檢查;
  • Unknown:沒有執行檢查,因此不采取任何措施(通常是我們沒有定義探針檢測,默認為成功)。

若覺得上面還不夠透徹,可以移步其官網文檔:

?? https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ ??

五、 如何控制滾動更新過程?

答:可以通過下面的命令查看到更新時可以控制的參數:

[root@master yaml]# kubectl explain deploy.spec.strategy.rollingUpdate

maxSurge: 此參數控制滾動更新過程,副本總數超過預期pod數量的上限。可以是百分比,也可以是具體的值。默認為1。

(上述參數的作用就是在更新過程中,值若為3,那么不管三七二一,先運行三個pod,用于替換舊的pod,以此類推)

maxUnavailable: 此參數控制滾動更新過程中,不可用的Pod的數量。

(這個值和上面的值沒有任何關系,舉個例子:我有十個pod,但是在更新的過程中,我允許這十個pod中最多有三個不可用,那么就將這個參數的值設置為3,在更新的過程中,只要不可用的pod數量小于或等于3,那么更新過程就不會停止)。

六、K8s中鏡像的下載策略是什么?

答:可通過命令“kubectl explain pod.spec.containers”來查看imagePullPolicy這行的解釋。

K8s的鏡像下載策略有三種:Always、Never、IFNotPresent;

  • Always:鏡像標簽為latest時,總是從指定的倉庫中獲取鏡像;
  • Never:禁止從倉庫中下載鏡像,也就是說只能使用本地鏡像;
  • IfNotPresent:僅當本地沒有對應鏡像時,才從目標倉庫中下載。
  • 默認的鏡像下載策略是:當鏡像標簽是latest時,默認策略是Always;當鏡像標簽是自定義時(也就是標簽不是latest),那么默認策略是IfNotPresent。

七、 image的狀態有哪些?

  • Running:Pod所需的容器已經被成功調度到某個節點,且已經成功運行,
  •  Pending:APIserver創建了pod資源對象,并且已經存入etcd中,但它尚未被調度完成或者仍然處于倉庫中下載鏡像的過程
  • Unknown:APIserver無法正常獲取到pod對象的狀態,通常是其無法與所在工作節點的kubelet通信所致。

八、 pod的重啟策略是什么?

答:可以通過命令`kubectl explain pod.spec查看pod的重啟策略。(restartPolicy字段)

  • Always:但凡pod對象終止就重啟,此為默認策略。
  • OnFailure:僅在pod對象出現錯誤時才重啟

九、 Service這種資源對象的作用是什么?

答:用來給相同的多個pod對象提供一個固定的統一訪問接口,常用于服務發現和服務訪問。

十、版本回滾相關的命令?

[root@master httpd-web]# kubectl apply -f httpd2-deploy1.yaml  --record    
#運行yaml文件,并記錄版本信息;
[root@master httpd-web]# kubectl rollout history deployment httpd-devploy1
#查看該deployment的歷史版本
[root@master httpd-web]# kubectl rollout undo deployment httpd-devploy1 --to-revision=1
#執行回滾操作,指定回滾到版本1
#在yaml文件的spec字段中,可以寫以下選項(用于限制最多記錄多少個歷史版本):
spec:
revisionHistoryLimit: 5
#這個字段通過 kubectl explain deploy.spec 命令找到revisionHistoryLimit <integer>行獲得

十一、 標簽與標簽選擇器的作用是什么?

標簽:是當相同類型的資源對象越來越多的時候,為了更好的管理,可以按照標簽將其分為一個組,為的是提升資源對象的管理效率。

標簽選擇器:就是標簽的查詢過濾條件。目前API支持兩種標簽選擇器:

  • 基于等值關系的,如:“=”、“”“==”、“!=”(注:“==”也是等于的意思,yaml文件中的matchLabels字段);
  • 基于集合的,如:in、notin、exists(yaml文件中的matchExpressions字段);

注:in:在這個集合中;notin:不在這個集合中;exists:要么全在(exists)這個集合中,要么都不在(notexists);

使用標簽選擇器的操作邏輯:

  • 在使用基于集合的標簽選擇器同時指定多個選擇器之間的邏輯關系為“與”操作(比如:- {key: name,operator: In,values: [zhangsan,lisi]} ,那么只要擁有這兩個值的資源,都會被選中);
  • 使用空值的標簽選擇器,意味著每個資源對象都被選中(如:標簽選擇器的鍵是“A”,兩個資源對象同時擁有A這個鍵,但是值不一樣,這種情況下,如果使用空值的標簽選擇器,那么將同時選中這兩個資源對象)
  • 空的標簽選擇器(注意不是上面說的空值,而是空的,都沒有定義鍵的名稱),將無法選擇出任何資源;

在基于集合的選擇器中,使用“In”或者“Notin”操作時,其values可以為空,但是如果為空,這個標簽選擇器,就沒有任何意義了。

兩種標簽選擇器類型(基于等值、基于集合的書寫方法):

selector:  
matchLabels: #基于等值
app: nginx
matchExpressions: #基于集合
- {key: name,operator: In,values: [zhangsan,lisi]} #key、operator、values這三個字段是固定的
- {key: age,operator: Exists,values:} #如果指定為exists,那么values的值一定要為空

十二、 常用的標簽分類有哪些?

標簽分類是可以自定義的,但是為了能使他人可以達到一目了然的效果,一般會使用以下一些分類:

  • 版本類標簽(release):stable(穩定版)、canary(金絲雀版本,可以將其稱之為測試版中的測試版)、beta(測試版);
  • 環境類標簽(environment):dev(開發)、qa(測試)、production(生產)、op(運維);
  • 應用類(app):ui、as、pc、sc;
  • 架構類(tier):frontend(前端)、backend(后端)、cache(緩存);
  • 分區標簽(partition):customerA(客戶A)、customerB(客戶B);
  • 品控級別(Track):daily(每天)、weekly(每周)。

十三、 有幾種查看標簽的方式?

答:常用的有以下三種查看方式:

[root@master ~]# kubectl get pod --show-labels    #查看pod,并且顯示標簽內容  
[root@master ~]# kubectl get pod -L env,tier #顯示資源對象標簽的值
[root@master ~]# kubectl get pod -l env,tier #只顯示符合鍵值資源對象的pod,而“-L”是顯示所有的pod

十四、 添加、修改、刪除標簽的命令?

#對pod標簽的操作  
[root@master ~]# kubectl label pod label-pod abc=123 #給名為label-pod的pod添加標簽
[root@master ~]# kubectl label pod label-pod abc=456 --overwrite #修改名為label-pod的標簽
[root@master ~]# kubectl label pod label-pod abc- #刪除名為label-pod的標簽
[root@master ~]# kubectl get pod --show-labels
#對node節點的標簽操作
[root@master ~]# kubectl label nodes node01 disk=ssd #給節點node01添加disk標簽
[root@master ~]# kubectl label nodes node01 disk=sss –overwrite #修改節點node01的標簽
[root@master ~]# kubectl label nodes node01 disk- #刪除節點node01的disk標簽

十五、 DaemonSet資源對象的特性?

DaemonSet這種資源對象會在每個k8s集群中的節點上運行,并且每個節點只能運行一個pod,這是它和deployment資源對象的最大也是唯一的區別。所以,在其yaml文件中,不支持定義replicas,除此之外,與Deployment、RS等資源對象的寫法相同。

它的一般使用場景如下:

  • 在去做每個節點的日志收集工作;
  • 監控每個節點的的運行狀態;

十六、 說說你對Job這種資源對象的了解?

答:Job與其他服務類容器不同,Job是一種工作類容器(一般用于做一次性任務)。使用常見不多,可以忽略這個問題。

#提高Job執行效率的方法:  
spec:
parallelism: 2 #一次運行2個
completions: 8 #最多運行8個
template:
metadata:

十七、描述一下pod的生命周期有哪些狀態?

  • Pending:表示pod已經被同意創建,正在等待kube-scheduler選擇合適的節點創建,一般是在準備鏡像;
  • Running:表示pod中所有的容器已經被創建,并且至少有一個容器正在運行或者是正在啟動或者是正在重啟;
  • Succeeded:表示所有容器已經成功終止,并且不會再啟動;
  • Failed:表示pod中所有容器都是非0(不正常)狀態退出;
  • Unknown:表示無法讀取Pod狀態,通常是kube-controller-manager無法與Pod通信。

十八、 創建一個pod的流程是什么?

  • 客戶端提交Pod的配置信息(可以是yaml文件定義好的信息)到kube-apiserver;
  • Apiserver收到指令后,通知給controller-manager創建一個資源對象;
  • Controller-manager通過api-server將pod的配置信息存儲到ETCD數據中心中;
  • Kube-scheduler檢測到pod信息會開始調度預選,會先過濾掉不符合Pod資源配置要求的節點,然后開始調度調優,主要是挑選出更適合運行pod的節點,然后將pod的資源配置單發送到node節點上的kubelet組件上。
  • Kubelet根據scheduler發來的資源配置單運行pod,運行成功后,將pod的運行信息返回給scheduler,scheduler將返回的pod運行狀況的信息存儲到etcd數據中心。

十九、 刪除一個Pod會發生什么事情?

答:Kube-apiserver會接受到用戶的刪除指令,默認有30秒時間等待優雅退出,超過30秒會被標記為死亡狀態,此時Pod的狀態Terminating,kubelet看到pod標記為Terminating就開始了關閉Pod的工作;

關閉流程如下:

  • pod從service的endpoint列表中被移除;
  • 如果該pod定義了一個停止前的鉤子,其會在pod內部被調用,停止鉤子一般定義了如何優雅的結束進程;
  • 進程被發送TERM信號(kill -14)
  • 當超過優雅退出的時間后,Pod中的所有進程都會被發送SIGKILL信號(kill -9)。

二十、 K8s的Service是什么?

答:Pod每次重啟或者重新部署,其IP地址都會產生變化,這使得pod間通信和pod與外部通信變得困難,這時候,就需要Service為pod提供一個固定的入口。

Service的Endpoint列表通常綁定了一組相同配置的pod,通過負載均衡的方式把外界請求分配到多個pod上

二十一、 k8s是怎么進行服務注冊的?

答:Pod啟動后會加載當前環境所有Service信息,以便不同Pod根據Service名進行通信。

二十二、 k8s集群外流量怎么訪問Pod?

答:可以通過Service的NodePort方式訪問,會在所有節點監聽同一個端口,比如:30000,訪問節點的流量會被重定向到對應的Service上面。

二十三、 k8s數據持久化的方式有哪些?

答:

1)EmptyDir(空目錄)

沒有指定要掛載宿主機上的某個目錄,直接由Pod內部映射到宿主機上。類似于docker中的manager volume。

主要使用場景:

  • 只需要臨時將數據保存在磁盤上,比如在合并/排序算法中;
  • 作為兩個容器的共享存儲,使得第一個內容管理的容器可以將生成的數據存入其中,同時由同一個webserver容器對外提供這些頁面。

emptyDir的特性:

同個pod里面的不同容器,共享同一個持久化目錄,當pod節點刪除時,volume的數據也會被刪除。如果僅僅是容器被銷毀,pod還在,則不會影響volume中的數據。

總結來說:emptyDir的數據持久化的生命周期和使用的pod一致。一般是作為臨時存儲使用。

2)Hostpath

將宿主機上已存在的目錄或文件掛載到容器內部。類似于docker中的bind mount掛載方式。

這種數據持久化方式,運用場景不多,因為它增加了pod與節點之間的耦合。

一般對于k8s集群本身的數據持久化和docker本身的數據持久化會使用這種方式,可以自行參考apiService的yaml文件,位于:/etc/kubernetes/main…目錄下。

3)PersistentVolume(簡稱PV)

基于NFS服務的PV,也可以基于GFS的PV。它的作用是統一數據持久化目錄,方便管理。

在一個PV的yaml文件中,可以對其配置PV的大小,指定PV的訪問模式:

  • ReadWriteOnce:只能以讀寫的方式掛載到單個節點;
  • ReadOnlyMany:能以只讀的方式掛載到多個節點;
  • ReadWriteMany:能以讀寫的方式掛載到多個節點。以及指定pv的回收策略:
  •  recycle:清除PV的數據,然后自動回收;
  • Retain:需要手動回收;
  • delete:刪除云存儲資源,云存儲專用;

PS:這里的回收策略指的是在PV被刪除后,在這個PV下所存儲的源文件是否刪除)。

若需使用PV,那么還有一個重要的概念:PVC,PVC是向PV申請應用所需的容量大小,K8s集群中可能會有多個PV,PVC和PV若要關聯,其定義的訪問模式必須一致。定義的storageClassName也必須一致,若群集中存在相同的(名字、訪問模式都一致)兩個PV,那么PVC會選擇向它所需容量接近的PV去申請,或者隨機申請。

責任編輯:龐桂玉 來源: 奇妙的Linux世界
相關推薦

2023-05-10 07:15:22

Nacos管理工具配置

2020-11-13 16:00:57

SpringCloud面試架構

2023-09-20 22:52:12

Kubernetes快捷方式

2018-10-26 14:10:21

2023-05-08 15:25:19

Python編程語言編碼技巧

2023-04-20 14:31:20

Python開發教程

2020-07-10 07:58:14

Linux

2024-11-15 11:11:48

2020-08-23 18:18:27

Python列表數據結構

2021-02-23 12:43:39

Redis面試題緩存

2021-03-03 10:39:11

容器微服務IT

2024-01-23 18:49:38

SQL聚合函數數據分析

2022-09-28 08:40:04

殺死一個終端進程

2024-01-03 07:56:50

2025-10-30 07:20:00

2022-05-18 09:01:19

JSONJavaScript

2019-11-26 10:30:11

CSS前端面試題

2019-07-05 07:49:19

TCPIP網絡協議

2023-12-26 12:10:13

2022-08-19 10:31:32

Kafka大數據
點贊
收藏

51CTO技術棧公眾號

中文字幕91爱爱| 日本在线观看网址| 中文字幕在线直播| 中文字幕在线观看一区| 成人欧美一区二区| 毛片视频网站在线观看| 欧美精品momsxxx| 91麻豆精品91久久久久同性| 日韩中文在线字幕| 欧美日韩国产中文字幕在线| 精品一区二区三区免费毛片爱| 色综合视频一区中文字幕| 中日韩精品一区二区三区| 自拍偷拍亚洲| 色综合一区二区三区| 香蕉视频在线网址| 九色在线播放| av在线综合网| 亚洲综合中文字幕在线观看| 三级网站在线播放| 狠狠入ady亚洲精品经典电影| 亚洲午夜久久久影院| 成年女人免费视频| 国产成人久久精品一区二区三区| 一本色道久久综合精品竹菊| 国产精品久久..4399| 免费a级在线播放| 久久久久久久av麻豆果冻| 成人欧美一区二区三区视频xxx| 午夜一区二区三区四区| 99精品福利视频| 欧美激情2020午夜免费观看| 青青操在线视频观看| 国产欧美一区| 亚洲欧美精品一区| 自拍视频一区二区| 超碰精品在线观看| 日韩免费一区二区三区在线播放| 狠狠干狠狠操视频| 巨胸喷奶水www久久久| 狠狠色狠狠色综合日日五| 激情小视频网站| 国内老司机av在线| 一区二区三区美女| 99久久99久久精品| 中文字幕伦理免费在线视频| 亚洲精品网站在线观看| 经典三级在线视频| caoporn免费在线| 中文字幕字幕中文在线中不卡视频| 日韩欧美亚洲日产国| 日本一区二区三区在线观看视频| av亚洲精华国产精华精| 国产在线视频欧美一区二区三区| 亚洲av无码一区二区三区dv| 国产黄色精品网站| 福利视频一区二区三区| 黄色片网站免费在线观看| 成人动漫在线一区| 久久国产精品久久| 日本一区二区三区在线观看视频| 久久久精品综合| 日韩亚洲不卡在线| 日p在线观看| 亚洲黄色免费电影| 日韩视频免费播放| 日本а中文在线天堂| 色综合激情五月| 国产自偷自偷免费一区| 福利一区二区三区视频在线观看| 欧美色成人综合| 肉色超薄丝袜脚交| 丁香五月缴情综合网| 精品人在线二区三区| 懂色av粉嫩av蜜乳av| 国产探花一区在线观看| 中文欧美在线视频| 久草成人在线视频| 免费视频一区| 国产中文字幕91| 精品欧美一区二区精品少妇| aaa欧美色吧激情视频| 日本午夜精品电影| 国产原创精品视频| 精品久久久中文| 天堂中文视频在线| 国产专区精品| 日韩精品免费在线视频| 国产精品酒店视频| 伊人久久大香线蕉综合热线 | 成人免费观看网站| 亚洲 欧美 激情 另类| 国产精品美日韩| 国产成人一区二区三区别| 精品国产第一福利网站| 7777精品伊人久久久大香线蕉| 高清中文字幕mv的电影| 成人精品视频| 欧美激情高清视频| 最近日韩免费视频| 成人av先锋影音| 亚洲精品一区二区毛豆| 99热国产在线| 欧美伊人精品成人久久综合97| 天天操夜夜操很很操| 亚洲aaa级| 九九视频直播综合网| 国产真人无遮挡作爱免费视频| 国产成人免费高清| 水蜜桃亚洲精品| 日韩电影免费看| 日韩一区二区三区四区五区六区 | 蜜臀av免费一区二区三区| 久久影视免费观看| 福利网址在线观看| www.激情成人| 穿情趣内衣被c到高潮视频| 日韩视频网站在线观看| 亚洲精品一区二区精华| 日韩在线观看免| 日韩精品一二区| 精品蜜桃一区二区三区| 欧洲中文在线| 91精品国产全国免费观看| 亚洲综合欧美综合| 国产亚洲精品v| 国产精品免费在线| 黄色网页在线播放| 欧美日韩日日骚| 精品人妻少妇嫩草av无码| 影音先锋中文字幕一区二区| 91麻豆国产语对白在线观看| av在线电影观看| 黑人巨大精品欧美一区二区| 人妻av一区二区| 欧美午夜精品| 99re在线视频观看| 国产精品剧情| 欧美高清性hdvideosex| 国产精品久久久久久成人| 麻豆成人在线| 欧美一区二区综合| 成人亚洲欧美| 国产手机视频精品| 久久久成人免费视频| 久久综合成人精品亚洲另类欧美 | 中文字幕中文字幕一区三区| 精品视频在线一区二区在线| 亚洲人在线视频| 国产精品va无码一区二区三区| 91网上在线视频| 37pao成人国产永久免费视频| 亚洲精品动态| 日本亚洲精品在线观看| 国际av在线| 欧美亚洲日本一区| 国产三级在线观看完整版| 日日欢夜夜爽一区| 亚洲一卡二卡三卡| 伊人久久大香伊蕉在人线观看热v 伊人久久大香线蕉综合影院首页 伊人久久大香 | 久久国产精品首页| av中文字幕免费| 一区二区国产盗摄色噜噜| av在线天堂网| 一区二区久久| 午夜午夜精品一区二区三区文| 777午夜精品电影免费看| 在线成人中文字幕| 国产剧情精品在线| 亚洲线精品一区二区三区 | 国产精品日韩在线| 日本一级在线观看| 欧美这里有精品| 亚洲欧洲综合网| 国产麻豆精品久久一二三| 污污污污污污www网站免费| 巨人精品**| 欧洲亚洲免费视频| 91高清在线视频| 日韩视频123| 综合激情网五月| 亚洲国产高清不卡| www激情五月| 国产日韩欧美高清免费| 亚洲v国产v| 精品国产一区二| 78色国产精品| 欧美性天天影视| 亚洲精品福利在线| 黄色污污视频软件| 一区二区三区在线视频观看58| 波多野结衣影院| 日本美女一区二区| www.在线观看av| 青青草97国产精品麻豆| 国产精品亚洲一区| 精品美女一区| 97精品一区二区视频在线观看| 中文字幕日本在线| 精品电影一区二区| 亚洲熟妇av乱码在线观看| 中文字幕在线不卡| 欧美一级片黄色| 麻豆精品视频在线观看视频| 成人免费性视频| 欧美一区2区| 国产在线一区二区三区欧美| 欧美天堂一区| 97成人精品视频在线观看| 国产成人高清精品| 国产亚洲aⅴaaaaaa毛片| 性中国古装videossex| 欧美写真视频网站| 日韩和一区二区| 性欧美丰满熟妇xxxx性仙踪林| 国产一区二区三区美女| 91人人澡人人爽人人精品| 日韩视频一区| 亚洲av首页在线| 日韩久久精品| 欧美日韩精品久久久免费观看| 中文字幕一区二区三区日韩精品| 国产精品网站视频| 久久夜夜操妹子| 2019中文字幕在线| 国产99在线观看| 欧美成人午夜影院| 在线免费观看的av网站| 亚洲欧洲av一区二区| 无码精品视频一区二区三区| 日韩一区二区免费高清| 在线观看亚洲国产| 在线免费观看日韩欧美| 精品欧美一区二区三区免费观看| 亚洲国产中文字幕| 极品盗摄国产盗摄合集| 亚洲女同ⅹxx女同tv| av资源在线免费观看| 国产欧美日韩精品a在线观看| 污污内射在线观看一区二区少妇| 成人精品免费看| 91人人澡人人爽| 国产91丝袜在线播放0| 91丨porny丨九色| 国产精品一区一区三区| 久久久久亚洲av无码麻豆| 狠狠v欧美v日韩v亚洲ⅴ| 国产无色aaa| 精品一区二区在线播放| 精品综合久久久久| 麻豆免费精品视频| 久久精品亚洲天堂| 激情综合亚洲精品| 91香蕉国产线在线观看| 国产精品自在在线| 欧美熟妇精品一区二区蜜桃视频| 成人福利视频网站| 99久久免费看精品国产一区| av色综合久久天堂av综合| 亚洲调教欧美在线| 91美女福利视频| wwwww黄色| 亚洲欧洲av在线| 久久久久成人精品无码| 性感美女久久精品| 精品美女久久久久| 欧美性极品少妇精品网站| 日本成人一级片| 91麻豆精品国产91久久久久久 | 亚洲欧洲日夜超级视频| 香蕉综合视频| 岛国大片在线播放| 欧美资源在线| 最新免费av网址| 成人一级片网址| 色无极影院亚洲| 成人欧美一区二区三区1314| 欧美黄色一区二区三区| 欧美视频在线看| 在线播放国产一区| 精品国产一区二区三区四区四| 日韩一区av| 精品国内亚洲在观看18黄| 97超碰免费在线| 国产精品美女久久久免费| 亚洲精品在线a| 日韩电影大全在线观看| 一区二区中文字| 中文字幕日本最新乱码视频| 日本不卡视频在线观看| 国产免费a级片| 日本一区二区三区免费乱视频| 四虎免费在线视频| 91久久一区二区| 国产精品羞羞答答在线| 亚洲国产欧美一区二区三区久久| 婷婷成人激情| 91精品国产99| av日韩久久| 欧美精品一区二区三区在线四季| 外国成人免费视频| 男人亚洲天堂网| 成人午夜视频网站| 亚洲欧美综合7777色婷婷| 婷婷久久综合九色国产成人 | 欧美刺激脚交jootjob| 激情小视频在线| 久久久噜久噜久久综合| 久久日本片精品aaaaa国产| 九九99久久| 亚洲一区二区日韩| 久久久国产欧美| 波多野洁衣一区| 麻豆天美蜜桃91| 欧美色综合天天久久综合精品| 色哟哟国产精品色哟哟| 不卡av电影院| 国产福利亚洲| 日本成人黄色免费看| 亚洲日本视频| 9191在线视频| 亚洲色图视频网| 中文字幕制服诱惑| 亚洲偷欧美偷国内偷| 免费v片在线观看| 国产成人免费电影| 亚洲影视一区二区三区| 三级视频中文字幕| 国产亚洲欧美激情| 日本一区二区免费电影| 精品亚洲夜色av98在线观看| а√天堂资源官网在线资源| 亚洲xxx视频| 中国精品18videos性欧美| 手机av在线网| 国产精品国产三级国产aⅴ原创 | 日韩精品一二三四| 国产吞精囗交久久久| 婷婷国产在线综合| 四虎精品成人影院观看地址| 韩国三级日本三级少妇99| 51精品国产| 国内精品视频一区二区三区| 国产成人日日夜夜| 精国产品一区二区三区a片| 日韩欧美国产系列| 欧美xxx黑人xxx水蜜桃| 国产高清精品一区| 极品av少妇一区二区| 美女搡bbb又爽又猛又黄www| 亚洲一区二区三区国产| 亚洲精品久久久久久无码色欲四季| 欧美高清视频在线播放| av男人一区| 欧美日韩一道本| 久久亚洲一区二区三区四区| 99精品在线播放| 最近2019中文字幕第三页视频| 欧美在线一级| 久久久无码中文字幕久...| 国产乱子轮精品视频| 精品无码久久久久久久久| 亚洲精品不卡在线| 欧美黑人巨大xxxxx| 色综合电影网| 国产在线看一区| 久久久精品视频免费| 日韩精品在线视频观看| 成人黄色在线| 国产一二三四区在线观看| av一区二区久久| 中文字幕视频一区二区| 久久中文字幕一区| 日本三级久久| 污污网站免费看| 夜夜嗨av一区二区三区四季av | 久久久国产免费| 精品国内亚洲在观看18黄| 国产精品自在| 宅男噜噜噜66国产免费观看| 亚洲色欲色欲www| 五月激情婷婷综合| 国产精品亚洲一区二区三区| 欧美aⅴ99久久黑人专区| 亚洲av无码一区二区二三区| 欧美性大战久久久久久久蜜臀| 羞羞的视频在线看| 欧美精品一区在线| 国产不卡视频一区| 欧美一级淫片免费视频黄| 久久视频在线播放| 亚洲香蕉视频| 91超薄肉色丝袜交足高跟凉鞋| 日韩欧美在线视频观看| 国产激情视频在线观看| 狠狠爱一区二区三区| 日韩二区三区在线观看| 国产一级久久久| 日韩一区二区福利| 日韩电影不卡一区|