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

如何為你的Kubernetes保駕護(hù)航

云計算
隨著Kubernetes的不斷發(fā)展,技術(shù)不斷成熟,越來越多的公司選擇把自家的應(yīng)用部署到Kubernetes中。但是把應(yīng)用部署到Kubernetes中就完事了嗎?

[[408253]]

隨著Kubernetes的不斷發(fā)展,技術(shù)不斷成熟,越來越多的公司選擇把自家的應(yīng)用部署到Kubernetes中。但是把應(yīng)用部署到Kubernetes中就完事了嗎?顯然不是,應(yīng)用容器化只是萬里長征的第一步,如何讓應(yīng)用安心、穩(wěn)定的運(yùn)行才是后續(xù)的所有工作。

這里主要從以下幾個方面來進(jìn)行整理,對于大部分公司足夠使用。


Node

Node可以是物理主機(jī),也可以是云主機(jī),它是Kubernetes的載體。在很多時候我們并不太關(guān)心Node怎么樣了,除非其異常。但是作為運(yùn)維人員,我們最不希望的就是異常,對于Node也是一樣。

Node節(jié)點(diǎn)并不需要做太多太復(fù)雜的操作,主要如下:

>內(nèi)核升級

對于大部分企業(yè),CentOS系統(tǒng)還是首選,默認(rèn)情況下,7系列系統(tǒng)默認(rèn)版本是3.10,該版本的內(nèi)核在Kubernetes社區(qū)有很多已知的Bug,所以對節(jié)點(diǎn)來說,升級內(nèi)核是必須的,或者企業(yè)可以選擇Ubuntu作為底層操作系統(tǒng)。

升級內(nèi)核的步驟如下(簡單的升級方式):

  1. wget https://elrepo.org/linux/kernel/el7/x86_64/RPMS/kernel-lt-5.4.86-1.el7.elrepo.x86_64.rpm 
  2. rpm -ivh kernel-lt-5.4.86-1.el7.elrepo.x86_64.rpm 
  3. cat /boot/grub2/grub.cfg | grep menuentry 
  4. grub2-set-default 'CentOS Linux (5.4.86-1.el7.elrepo.x86_64) 7 (Core)' 
  5. grub2-editenv list 
  6. grub2-mkconfig -o /boot/grub2/grub.cfg 
  7. reboot 

>軟件更新

對于大部分人來說,更新軟件在很多情況下是不做的,因為害怕兼容問題。不過在實(shí)際生產(chǎn)中,對于已知有高危漏洞的軟件,我們還需要對其進(jìn)行更新,這個可以針對處理。

>優(yōu)化Docker配置文件

對于Docker的配置文件,主要優(yōu)化的就是日志驅(qū)動、保留日志大小以及鏡像加速等,其他的配置根據(jù)情況而定,如下:

  1. cat > /etc/docker/daemon.json  << EOF 
  2.     "exec-opts": ["native.cgroupdriver=systemd"], 
  3.     "log-driver""json-file"
  4.     "log-opts": { 
  5.         "max-size""100m"
  6.         "max-file""10" 
  7.     }, 
  8.     "bip""169.254.123.1/24"
  9.     "oom-score-adjust": -1000, 
  10.     "registry-mirrors": ["https://pqbap4ya.mirror.aliyuncs.com"], 
  11.     "storage-driver""overlay2"
  12.     "storage-opts":["overlay2.override_kernel_check=true"], 
  13.     "live-restore"true 
  14. EOF 

>優(yōu)化kubelet參數(shù)

對于K8S來講,kubelet是每個Node的組長,負(fù)責(zé)Node的"飲食起居",這里對它的參數(shù)配置主要如下:

  1. cat > /etc/systemd/system/kubelet.service <<EOF 
  2. [Unit] 
  3. Description=kubelet: The Kubernetes Node Agent 
  4. Documentation=https://kubernetes.io/docs/ 
  5.  
  6.  
  7. [Service] 
  8. ExecStartPre=/usr/bin/mkdir -p /sys/fs/cgroup/pids/system.slice/kubelet.service 
  9. ExecStartPre=/usr/bin/mkdir -p /sys/fs/cgroup/cpu/system.slice/kubelet.service 
  10. ExecStartPre=/usr/bin/mkdir -p /sys/fs/cgroup/cpuacct/system.slice/kubelet.service 
  11. ExecStartPre=/usr/bin/mkdir -p /sys/fs/cgroup/cpuset/system.slice/kubelet.service 
  12. ExecStartPre=/usr/bin/mkdir -p /sys/fs/cgroup/memory/system.slice/kubelet.service 
  13. ExecStartPre=/usr/bin/mkdir -p /sys/fs/cgroup/systemd/system.slice/kubelet.service 
  14. ExecStart=/usr/bin/kubelet \ 
  15. --enforce-node-allocatable=pods,kube-reserved \ 
  16. --kube-reserved-cgroup=/system.slice/kubelet.service \ 
  17. --kube-reserved=cpu=200m,memory=250Mi \ 
  18. --eviction-hard=memory.available<5%,nodefs.available<10%,imagefs.available<10% \ 
  19. --eviction-soft=memory.available<10%,nodefs.available<15%,imagefs.available<15% \ 
  20. --eviction-soft-grace-period=memory.available=2m,nodefs.available=2m,imagefs.available=2m \ 
  21. --eviction-max-pod-grace-period=30 \ 
  22. --eviction-minimum-reclaim=memory.available=0Mi,nodefs.available=500Mi,imagefs.available=500Mi 
  23. Restart=always 
  24. StartLimitInterval=0 
  25. RestartSec=10 
  26.  
  27.  
  28. [Install] 
  29. WantedBy=multi-user.target 
  30. EOF 

其功能主要是為每個Node增加資源預(yù)留,可以在一定程度上防止Node宕機(jī)。

>日志配置管理

這里的日志配置管理針對的是系統(tǒng)日志,非自研應(yīng)用日志。默認(rèn)情況下,系統(tǒng)日志都不需要我們特殊配置,我這里提出來,主要是保障日志的可追溯。當(dāng)系統(tǒng)因為某種原因被入侵,系統(tǒng)系統(tǒng)被刪除的情況下,還有日志提供給我們分析。

所以在條件允許的情況下,對Node節(jié)點(diǎn)的系統(tǒng)日志進(jìn)行遠(yuǎn)程備份是有必要的,可以采用rsyslog進(jìn)行配置管理,日志可以保存到遠(yuǎn)端的日志中心或者oss上。

>安全配置

安全配置這里涉及的不多,主要是針對已知的一些安全問題進(jìn)行加固。主要有以下五種(當(dāng)然還有更多,看自己的情況):

  • ssh密碼過期策略
  • 密碼復(fù)雜度策略
  • ssh登錄次數(shù)限制
  • 系統(tǒng)超時配置
  • 歷史記錄配置

Pod

Pod是K8S的最小調(diào)度單元,是應(yīng)用的載體,它的穩(wěn)定直接關(guān)乎應(yīng)用本身,在部署應(yīng)用的時候,主要考慮一下幾個方面。

>資源限制

Pod使用的是主機(jī)的資源,合理的資源限制可以有效避免資源超賣或者資源搶占問題。在配置資源限制的時候,要根據(jù)實(shí)際的應(yīng)用情況來決定Pod的QoS,不同的QoS配置情況不一樣。

如果應(yīng)用的級別比較高,建議配置Guaranteed級別配置,如下:

  1. resources: 
  2.   limits: 
  3.     memory: "200Mi" 
  4.     cpu: "700m" 
  5.   requests: 
  6.     memory: "200Mi" 
  7.     cpu: "700m" 

如果應(yīng)用級別一般,建議配置Burstable級別,如下:

  1. resources: 
  2.   limits: 
  3.     memory: "200Mi" 
  4.     cpu: "500m" 
  5.   requests: 
  6.     memory: "100Mi" 
  7.     cpu: "100m" 

強(qiáng)烈不建議使用BestEffort類型的Pod。

>調(diào)度策略

調(diào)度策略也是根據(jù)情況來定,如果你的應(yīng)用需要指定調(diào)度到某些節(jié)點(diǎn),可以使用親和性調(diào)度,如下:

  1. affinity: 
  2.   nodeAffinity: 
  3.     preferredDuringSchedulingIgnoredDuringExecution: 
  4.       - preference: {} 
  5.         weight: 100 
  6.     requiredDuringSchedulingIgnoredDuringExecution: 
  7.       nodeSelectorTerms: 
  8.         - matchExpressions: 
  9.             - key: env 
  10.               operator: In 
  11.               values
  12.                 - uat 

如果一個節(jié)點(diǎn)只允許某一個應(yīng)用調(diào)度,這時候就需要用到污點(diǎn)調(diào)度了,也就是先給節(jié)點(diǎn)打污點(diǎn),然后需要調(diào)度到該節(jié)點(diǎn)的Pod需要容忍污點(diǎn)。最穩(wěn)妥的方式是標(biāo)簽+污點(diǎn)相結(jié)合。如下:

  1. tolerations: 
  2. key"key1"          #能容忍的污點(diǎn)key 
  3.   operator: "Equal"    #Equal等于表示key=value , Exists不等于,表示當(dāng)值不等于下面value正常 
  4.   value: "value1"      #值 
  5.   effect: "NoExecute"  #effect策略 
  6.   tolerationSeconds: 3600  #原始的pod多久驅(qū)逐,注意只有effect: "NoExecute"才能設(shè)置,不然報錯 

當(dāng)然,除了Pod和Node的關(guān)聯(lián),還有Pod和Pod之間的關(guān)聯(lián),一般情況下,為了達(dá)到真正的高可用,我們不建議同一個應(yīng)用的Pod都可以調(diào)度到同一個節(jié)點(diǎn),所以我們需要給Pod做反親和性調(diào)度,如下:

  1. affinity: 
  2.   podAntiAffinity: 
  3.     requiredDuringSchedulingIgnoredDuringExecution: 
  4.     - labelSelector: 
  5.         matchExpressions: 
  6.         - key: app 
  7.           operator: In 
  8.           values
  9.           - store 
  10.       topologyKey: "kubernetes.io/hostname" 

如果某個應(yīng)用親和其他應(yīng)用,則可以使用親和性,這樣可以在一定程度上降低網(wǎng)絡(luò)延遲,如下:

  1. affinity: 
  2.   podAffinity: 
  3.     requiredDuringSchedulingIgnoredDuringExecution: 
  4.     - labelSelector: 
  5.         matchExpressions: 
  6.         - key: security 
  7.           operator: In 
  8.           values
  9.           - S1 
  10.       topologyKey: failure-domain.beta.kubernetes.io/zone 

>優(yōu)雅升級

Pod默認(rèn)是采用的滾動更新策略,我們關(guān)注點(diǎn)主要在新的Pod起來后,老的Pod如何能優(yōu)雅的處理流量,對外界是無感的。

最簡單的方式是"睡幾秒",這種方式并不能保證百分百的優(yōu)雅處理流量,方式如下:

  1. lifecycle: 
  2.   preStop: 
  3.     exec
  4.       command: 
  5.       - /bin/sh 
  6.       - -c 
  7.       - sleep 15 

如果有注冊中心,可以在退出的時候先把原服務(wù)從注冊中心下線再退出,比如這里使用的nacos作為注冊中心,如下:

  1. lifecycle: 
  2.   preStop: 
  3.     exec
  4.       command: 
  5.         - /bin/sh 
  6.         - -c 
  7.         - "curl -X DELETE your_nacos_ip:8848/nacos/v1/ns/instance?serviceName=nacos.test.1&ip=${POD_IP}&port=8880&clusterName=DEFAULT" && sleep 15 

>探針配置

探針重要嗎?重要!它是kubelet判斷Pod是否健康的重要依據(jù)。

Pod的主要探針有:

  • livenessProbe
  • readinessProbe
  • startupProbe

其中startupProbe是v1.16版本后才新增的探針,其主要針對啟動時間較長的應(yīng)用,在多數(shù)情況下只需要配置livenessProbe和readinessProbe即可。

通常情況下,一個Pod就代表一個應(yīng)用,所以在配置探針的時候最好能直接反應(yīng)應(yīng)用是否正常,很多框架都帶有健康檢測功能,我們在配置探針的時候可以考慮使用這些健康檢測功能,如果框架沒有,也可以考慮讓開發(fā)人員統(tǒng)一開發(fā)一個健康檢測接口,這樣便于標(biāo)準(zhǔn)化健康檢測。如下:

  1. readinessProbe: 
  2.   failureThreshold: 3 
  3.   httpGet: 
  4.     path: /health 
  5.     port: http 
  6.     scheme: HTTP 
  7.   initialDelaySeconds: 40 
  8.   periodSeconds: 10 
  9.   successThreshold: 1 
  10.   timeoutSeconds: 3 
  11. livenessProbe: 
  12.   failureThreshold: 3 
  13.   httpGet: 
  14.     path: /health 
  15.     port: http 
  16.     scheme: HTTP 
  17.   initialDelaySeconds: 60 
  18.   periodSeconds: 10 
  19.   successThreshold: 1 
  20.   timeoutSeconds: 2 

如果需要配置startupProbe,則可以如下配置:

  1. startupProbe: 
  2.   httpGet: 
  3.     path: /health 
  4.     prot: 80 
  5.   failureThreshold: 10 
  6.   initialDelay:10 
  7.   periodSeconds: 10 

>保護(hù)策略

這里的保護(hù)策略主要是指在我們主動銷毀Pod的時候,通過保護(hù)策略來控制Pod的運(yùn)行個數(shù)。

在K8S中通過PodDisruptionBudget(PDB)來實(shí)現(xiàn)這個功能,對于一些重要應(yīng)用,我們需要為其配置PDB,如下:

  1. apiVersion: policy/v1beta1 
  2. kind: PodDisruptionBudget 
  3. metadata: 
  4.   name: pdb-demo 
  5. spec: 
  6.   minAvailable: 2 
  7.   selector: 
  8.     matchLables: 
  9.       app: nginx 

在PDB中,主要通過兩個參數(shù)來控制Pod的數(shù)量:

  • minAvailable:表示最小可用Pod數(shù),表示在Pod集群中處于運(yùn)行狀態(tài)的最小Pod數(shù)或者是運(yùn)行狀態(tài)的Pod數(shù)和總數(shù)的百分比;
  • maxUnavailable:表示最大不可用Pod數(shù),表示Pod集群中處于不可用狀態(tài)的最大Pod數(shù)或者不可用狀態(tài)Pod數(shù)和總數(shù)的百分比;

注意:minAvailable和maxUnavailable是互斥了,也就是說兩者同一時刻只能出現(xiàn)一種。

日志

日志會貫穿應(yīng)用的整個生命周期,在排查問題或者分析數(shù)據(jù)的時候,日志都不可缺少。對于日志,這里主要從以下方面進(jìn)行分析。

>日志標(biāo)準(zhǔn)

日志一般分為業(yè)務(wù)日志和異常日志,對于日志,我們不希望其太復(fù)雜,也不希望其太簡單,更多的是希望通過日志達(dá)到如下目標(biāo):

  1. 對程序運(yùn)行情況的記錄和監(jiān)控;
  2. 在必要時可詳細(xì)了解程序內(nèi)部的運(yùn)行狀態(tài);
  3. 對系統(tǒng)性能的影響盡量小;

那日志標(biāo)準(zhǔn)如何定義呢?我這里簡單整理以下幾點(diǎn):

  • 合理使用日志分級
  • 統(tǒng)一輸出格式
  • 代碼編碼規(guī)范
  • 日志輸出路徑統(tǒng)一
  • 日志輸出命名規(guī)范統(tǒng)一

這樣規(guī)定的主要目的是便于收集和查看日志。

>收集

針對不同的日志輸出有不同的日志收集方案,主要有以下二種:

  • 在Node上部署Logging Agent進(jìn)行收集
  • 在Pod中以Sidecar形式進(jìn)行收集

在Node上部署Logging Agent進(jìn)行收集

這種日志收集方案主要針對已經(jīng)標(biāo)準(zhǔn)輸出的日志,架構(gòu)如下:

對于非標(biāo)準(zhǔn)輸出的日志就沒辦法進(jìn)行收集。

在Pod中以Sidecar形式進(jìn)行收集

這種收集方案主要針對非標(biāo)準(zhǔn)輸出的日志,可以在Pod中以sidecar的方式運(yùn)行日志收集客戶端,將日志收集到日志中心,架構(gòu)如下:

不過這種方式比較浪費(fèi)資源,所以最理想的情況就是把應(yīng)用日志都標(biāo)準(zhǔn)輸出,這樣收集起來比較簡單。

>分析

在業(yè)務(wù)正常的情況下,我們其實(shí)很少去查看日志內(nèi)容,只有在出問題的時候才會借助日志分析問題(大部分情況下都是這樣),那為什么我這里要把分析提出來呢?

日志其實(shí)承載了很多信息,如果能對日志進(jìn)行有效分析,可以幫助我們識別、排查很多問題,比如阿里云的日志中心,在日志分析方面做的就很不錯。

>告警

日志告警,可以讓我們快速知道問題,也縮小了故障排查范圍。不過要做日志告警就必須做好日志“關(guān)鍵字”管理,也就是要確定某一個關(guān)鍵字能夠準(zhǔn)確的代表一個問題,最好不出現(xiàn)泛指的現(xiàn)象,這樣做的好處就是能夠讓告警更加準(zhǔn)備,而不是出現(xiàn)一些告警風(fēng)暴或者無效告警,久而久之就麻木了。

監(jiān)控

集群、應(yīng)用等的生命周期里離不開監(jiān)控系統(tǒng),有效的監(jiān)控系統(tǒng)可以為我們提供更高的可觀測性,方便我們線性的分析問題,排查問題以及定位問題,再配上有效的告警通知,也方便我們能快速的知道問題。

對于監(jiān)控,主要從以下幾個方面進(jìn)行介紹。

>集群監(jiān)控

對于K8S集群以及跑在K8S應(yīng)用來說,普遍使用Prometheus來進(jìn)行監(jiān)控。整個集群的穩(wěn)定性關(guān)乎著應(yīng)用的穩(wěn)定性,所以對集群的監(jiān)控至關(guān)重要,下面簡單列舉了一些監(jiān)控項,在實(shí)際的工作中酌情處理。

>應(yīng)用監(jiān)控

在很多企業(yè)中,并沒有接入應(yīng)用監(jiān)控,主要還是沒有在應(yīng)用中集成監(jiān)控指標(biāo),導(dǎo)致無法監(jiān)控,所以在應(yīng)用開發(fā)的時候就強(qiáng)烈建議開發(fā)將應(yīng)用監(jiān)控加上,將指標(biāo)按prometheus標(biāo)準(zhǔn)格式暴露出來。

除了開發(fā)人員主動暴露指標(biāo)外,我們也可以通過javaagent方式配置一些exporter,用來抓取一些指標(biāo),比如jvm監(jiān)控指標(biāo)。

在應(yīng)用級別做監(jiān)控,可以將監(jiān)控粒度更細(xì)化,這樣可以更容易發(fā)現(xiàn)問題。我這里簡單整理了一些應(yīng)用監(jiān)控項,如下:

這些監(jiān)控項都有對于的exporter來完成,比如redis中間件有redis-exporter,api監(jiān)控有blcakbox-exporter等。

>事件監(jiān)控

在Kubernetes中,事件分為兩種,一種是Warning事件,表示產(chǎn)生這個事件的狀態(tài)轉(zhuǎn)換是在非預(yù)期的狀態(tài)之間產(chǎn)生的;另外一種是Normal事件,表示期望到達(dá)的狀態(tài),和目前達(dá)到的狀態(tài)是一致的。

事件大多數(shù)情況下表示正在發(fā)生或者已經(jīng)發(fā)生的事,在實(shí)際工作中很容易就忽略這類信息,所以我們有必要借助事件監(jiān)控來規(guī)避這類問題。

在K8S中,常用的事件監(jiān)控是kube-eventer,它可以收集pod/node/kubelet等資源對象的event,還可以收集自定義資源對象的event,然后將這類信息發(fā)送到相關(guān)人員。

通過事件,我們主要關(guān)注的監(jiān)控項如下:

>鏈路監(jiān)控

正常情況下,K8S中的應(yīng)用是單獨(dú)的個體存在,彼此之間沒有顯性的聯(lián)系,這時候就需要一種手段,將應(yīng)用間的關(guān)系表現(xiàn)出來,方便我們跟蹤分析整個鏈路的問題。

目前比較流行的鏈路監(jiān)控工具有很多,我這邊主要是使用skywalking進(jìn)行鏈路監(jiān)控,其主要agent端比較豐富,也提供了很高的自擴(kuò)展能力,有興趣的朋友可以了解一下。

通過鏈路監(jiān)控,主要達(dá)到以下目的。

>告警通知

很多人會忽略告警通知,覺得告警就行。但是在做告警通知的時候還是需要仔細(xì)去考慮的。

如下簡單整理一下關(guān)注點(diǎn)。

個人覺得難點(diǎn)在于哪些指標(biāo)需要告警。我們在選取指標(biāo)的時候一定要遵循以下規(guī)則:

  • 告警的指標(biāo)具有唯一性
  • 告警的指標(biāo)能正確反應(yīng)問題
  • 所暴露的問題是需要介入解決的

綜合這些規(guī)則考慮,才方便我們選取需要的指標(biāo)。

第二就是緊急程度分類,這個主要是根據(jù)這個告警指標(biāo)所暴露出來的問題是不是需要我們及時去解決,還有影響范圍來綜合衡量。

故障升級主要是針對需要解決的問題沒有解決而做的一種策略,提高故障等級,也相當(dāng)于提高了緊急程度了。通知渠道分類主要是方便我們區(qū)分不同的告警,還有如果能快速接收到告警信息。

寫在最后

上面寫的都是一些基礎(chǔ)的操作,對于YAML工程師來說,算是必備的技能儲備,這一套放到大部分公司都是適用的。

本文轉(zhuǎn)載自微信公眾號「 運(yùn)維開發(fā)故事」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系 運(yùn)維開發(fā)故事公眾號。

 

責(zé)任編輯:姜華 來源: 運(yùn)維開發(fā)故事
相關(guān)推薦

2021-07-14 13:30:44

KubernetesLinux文件

2013-01-10 11:32:12

阿里云雙十一云計算

2011-08-25 13:27:07

2018-01-23 11:10:09

2020-10-27 09:00:39

數(shù)據(jù)保護(hù)DPaaS云服務(wù)

2017-03-21 16:03:25

2009-09-05 12:16:10

2022-02-10 13:57:26

5G無線通信VR/AR

2014-07-01 10:07:56

2014-09-04 09:18:15

2013-11-18 10:44:51

雙11電商 CDN

2013-10-24 06:51:24

2020-03-26 14:09:03

網(wǎng)絡(luò)安全疫情技術(shù)

2019-12-16 16:30:19

網(wǎng)易游戲AWSre:Invent

2012-11-13 18:24:03

LinOTPApache2一次性密碼

2012-09-12 09:40:36

云服務(wù)GIS技術(shù)彈性云計算

2015-08-19 10:06:21

2019-01-30 09:10:32

人工智能互聯(lián)網(wǎng)圖片識別

2009-12-09 10:48:08

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

日本激情一区二区| 色噜噜久久综合伊人一本| 久久人人看视频| 91黄色小网站| 99久久精品无免国产免费| 欧美18免费视频| 极品少妇xxxx偷拍精品少妇| 亚洲黄色片网站| 男女h黄动漫啪啪无遮挡软件| 1级黄色大片儿| 色悠久久久久综合先锋影音下载| 国产午夜精品一区二区 | 性欧美8khd高清极品| 国产精品毛片视频| 亚洲女人****多毛耸耸8| 国产精品扒开腿做爽爽爽视频| 欧洲熟妇的性久久久久久| 国产高清在线观看| 18国产精品| 国产精品毛片a∨一区二区三区| 久久久伊人欧美| 制服 丝袜 综合 日韩 欧美| 一级毛片久久久| 成人app下载| 色综合久久久888| 性生生活大片免费看视频| 久草在线青青草| 老司机一区二区三区| 精品处破学生在线二十三| 最近免费观看高清韩国日本大全| 色一情一乱一乱一区91av| 在线不卡视频| 亚洲福利视频免费观看| 国产va亚洲va在线va| 99久久精品国产成人一区二区| 亚洲精品国产日韩| 日韩精品中文字幕在线| 搞av.com| 超碰在线免费公开| 国产高清成人在线| 欧美日韩国产成人在线| 少妇人妻好深好紧精品无码| 91伊人久久| 中文字幕亚洲在| 亚洲综合成人婷婷小说| 九九视频在线观看| 国产精品一区二区三区av| 亚洲丝袜美腿综合| 亚洲最大的av网站| 国产午夜精品理论片在线| 国产精品久久久久久久久久齐齐| 国产精品1024| 88xx成人精品| 亚洲a v网站| 国产极品嫩模在线观看91精品| 欧美日韩国产影院| 亚洲精品日韩在线观看| 911美女片黄在线观看游戏| 国产欧美日韩精品一区二区免费| 精品成人av一区| 日韩欧美亚洲日产国产| 亚洲影院一区二区三区| 亚洲深深色噜噜狠狠爱网站| 精品国产99国产精品| 国产黑丝在线视频| 成人黄色动漫| 国产精品美女久久久久aⅴ| 热re99久久精品国99热蜜月| 91精品国产乱码久久久久| 日韩av一二三| 欧美精品18videos性欧| 国产伦理片在线观看| 亚洲春色h网| 678五月天丁香亚洲综合网| 亚洲爆乳无码精品aaa片蜜桃| 色视频在线观看| 精品一区二区三区免费毛片爱 | 亚洲a∨日韩av高清在线观看| 一级特黄色大片| 国产精品综合av一区二区国产馆| 性色av一区二区三区红粉影视| 免费污网站在线观看| 国产一区二区观看| 色偷偷噜噜噜亚洲男人| 欧美卡一卡二卡三| 国产精品自拍区| 少妇高潮久久久久久潘金莲| 紧身裙女教师波多野结衣| 亚洲精品**不卡在线播he| 亚洲欧美制服第一页| 精品无码av一区二区三区不卡| 欧美成人h版| 亚洲五月六月丁香激情| 中文字幕精品—区二区日日骚| 五月婷婷狠狠干| 国产一二精品视频| 国产精品视频久| 五月天激情四射| 韩国精品一区二区三区| 久久精品视频导航| 一色道久久88加勒比一| 亚洲91精品| 深夜成人在线观看| 一级片免费网址| 另类中文字幕网| 国产精品18久久久久久麻辣| xxxx.国产| 亚洲黄色高清| 国产精品久久久久av| 国产富婆一级全黄大片| 久久99久久久久| 国产伦精品一区二区三区视频黑人| 国产精品一区二区免费视频| 免费成人美女在线观看.| 日本欧美一级片| 国产精品人人人人| 国产毛片久久| 91干在线观看| 国产美女无遮挡永久免费| 91蜜桃在线观看| 国产在线一区二| 色窝窝无码一区二区三区成人网站| 欧美激情综合网| 午夜精品一区二区三区四区| 国产免费a∨片在线观看不卡| 亚洲一区二区三区在线| 国产精品v日韩精品v在线观看| 国外成人福利视频| 国产视频精品在线| 日本视频www| 亚欧成人精品| 国产精品va在线播放| 黑人精品一区二区三区| 美女精品一区最新中文字幕一区二区三区| 国产日韩1区| 97在线视频一区| 亚洲爱情岛论坛永久| 国产裸体歌舞团一区二区| 免费在线观看一区二区| 国产肥老妇视频| 国产精品麻豆欧美日韩ww| 动漫av网站免费观看| 亚洲最新无码中文字幕久久| 精品欧美乱码久久久久久1区2区| japanese在线观看| 亚洲素人在线| 亚州成人av在线| 国产成人手机在线| 亚洲综合一区二区三区| 免费观看国产精品视频| 欧美美女日韩| 亚洲另类图片色| 免费精品在线视频| 免费不卡在线视频| 亚洲无玛一区| 国产羞羞视频在线播放| 欧美日韩中国免费专区在线看| 美女一区二区三区视频| 在线免费成人| 亚洲国产三级网| 日韩av在线天堂| 99久久免费国产| 水蜜桃一区二区三区| 欧美人体一区二区三区| 亚洲网站在线观看| 欧美偷拍第一页| 国产精品自产自拍| 久草视频国产在线| 日韩av网址大全| 国产脚交av在线一区二区| 成人午夜影视| 亚洲1区2区3区视频| 91日韩视频在线观看| 日韩欧美电影| 国内揄拍国内精品少妇国语| 黄色一级a毛片| 欧美视频一区二区三区…| 偷拍夫妻性生活| 麻豆国产一区二区| avav在线播放| 久久av影院| 久久久国产精品视频| wwwav网站| 黑人精品xxx一区| 日韩视频在线观看免费视频| 亚洲韩日在线| 欧洲久久久久久| 2020国产精品小视频| 欧美激情综合色| 国产小视频在线观看| 91精品国产全国免费观看| 级毛片内射视频| 国产中文一区二区三区| 日本日本19xxxⅹhd乱影响| 香蕉大人久久国产成人av| 97在线看福利| 免费看美女视频在线网站| 欧美天天综合色影久久精品| 亚洲ⅴ国产v天堂a无码二区| 国产精品一二三区| 成人三级视频在线播放| 日本久久成人网| 91精品美女在线| 18视频免费网址在线观看| 一本色道亚洲精品aⅴ| 88av在线播放| 亚洲国产电影| 亚洲国产欧美不卡在线观看| 亚洲成人黄色| 国产精品视频xxxx| 欧美aa在线| 亚洲激情在线观看| 国产精品一二三四五区| 在线看日韩精品电影| b站大片免费直播| 国产成人av电影| 日本人妻伦在线中文字幕| 国产欧美日韩免费观看 | 免费特级黄色片| 久久精品国产大片免费观看| 国产精品盗摄久久久| 国语对白在线刺激| 久久久精品一区二区| se在线电影| 精品亚洲精品福利线在观看| 精品美女www爽爽爽视频| 欧美日韩在线电影| 久久爱一区二区| 久久中文字幕电影| 中文字幕欧美人妻精品一区| 精品av一区二区| 国产伊人精品在线| 国产视频中文字幕在线观看| 91麻豆精品国产无毒不卡在线观看 | 国产日韩欧美成人| 国产在线黄色| 精品国产乱码久久久久久久久| 国产又色又爽又黄又免费| 在线一区二区三区四区五区| 欧美日韩乱国产| 五月婷婷综合激情| 精品无码人妻一区二区三| 国产成人av自拍| 九一精品久久久| 欧美日韩成人| 久久精品ww人人做人人爽| 欧美动物xxx| 91av在线不卡| 九色porny丨入口在线| 国模私拍一区二区三区| 搞黄网站在线看| 欧美精品久久久久久久久| 欧美wwww| 国产一区二区三区在线视频| 国产精品探花视频| 欧美日韩1234| 亚洲视频免费播放| 亚洲成人动漫精品| 国产在线免费av| 成人不卡免费av| 在线xxxxx| 91小视频免费观看| 天天躁日日躁aaaa视频| 久久久久国产精品免费免费搜索| 日本美女视频一区| 久久97超碰国产精品超碰| 中文字幕中文在线| 国产专区欧美精品| 日本久久久久久久久久| 99精品久久99久久久久| 蜜桃福利午夜精品一区| 久久99国产精品尤物| 黄色三级视频在线播放| 久久精品一本| 亚洲视频在线观看一区二区三区| 日韩电影免费一区| 久久这里只有精品23| 热久久天天拍国产| 国产有色视频色综合| 伦理一区二区| 亚洲精品欧美日韩专区| 在线观看视频一区二区三区| 国产综合av一区二区三区| 蜜桃精品wwwmitaows| 亚洲高清视频一区二区| 91精品国产91久久综合| 日韩在线视频在线| 天堂av在线一区| 精品这里只有精品| 丝袜美腿亚洲综合| 久久久九九九热| 久久在线观看免费| 久久久久亚洲av片无码| 国产亚洲综合性久久久影院| 少妇高潮惨叫久久久久| 久久九九国产精品| 日韩av片在线| 亚洲第一久久影院| 国产精品午夜一区二区| 欧美日韩亚洲精品一区二区三区| 高潮无码精品色欲av午夜福利| 91精品国产色综合久久不卡蜜臀| 刘玥91精选国产在线观看| 日韩精品亚洲视频| 日本在线免费| 国产丝袜视频一区| 免费大片在线观看www| 97在线看免费观看视频在线观看| 亚洲精品无播放器在线播放| 久久99久久99精品蜜柚传媒| 国产精品二区不卡| 免费看成人午夜电影| 围产精品久久久久久久| 51xx午夜影福利| 欧美电影《睫毛膏》| japanese在线播放| 免费成人在线影院| 少妇饥渴放荡91麻豆| av不卡免费在线观看| 女同久久另类69精品国产| 日韩欧美成人区| 黑人精品一区二区| 欧美成人免费va影院高清| 1024在线播放| 九色精品免费永久在线| 欧美日韩五码| 国产欧美va欧美va香蕉在| 欧洲美女精品免费观看视频 | 一本一道久久a久久精品逆3p | 亚洲国产成人porn| 一级黄色片在线| 亚洲性xxxx| 日韩性xxx| 欧美成人第一区| av不卡在线| 日韩手机在线观看视频| 成人v精品蜜桃久久一区| 九九视频免费观看| 欧美一区二区三区日韩| 青青青青在线| 国产欧美一区二区三区久久| 国产一区二区精品福利地址| aa免费在线观看| 91视频www| 一区二区三区在线观看av| 精品亚洲精品福利线在观看| 麻豆蜜桃在线观看| 精品中文字幕一区| 日韩成人免费| 人人干人人干人人| 国产精品一二三区在线| 开心激情五月网| 91麻豆精品国产91久久久久久久久| 91社区在线观看播放| 国产精品美女在线| 久久高清精品| 日韩视频在线观看一区二区三区| 亚洲欧洲另类国产综合| 日本熟妇毛茸茸丰满| 亚洲高清久久久久久| 极品视频在线| 欧美精品一区在线| 牛牛国产精品| 国产一级不卡毛片| 日本一区二区三区四区| 中文字幕一二三四| 亚洲二区中文字幕| 在线播放高清视频www| 91欧美精品成人综合在线观看| 欧美激情15p| 成人久久久久久久久| 中文字幕乱码一区二区免费| 波多野结衣亚洲一区二区| 欧美日本国产视频| 1区2区在线观看| 精品国产一区二区三区久久久久久| 亚洲一区日韩在线| 日本一二三不卡视频| 7777精品久久久大香线蕉| 亚洲图区一区| 国产精品影院在线观看| 66国产精品| 亚洲av永久无码精品| 色欧美乱欧美15图片| 婷婷五月综合激情| 国产福利视频一区二区| 91亚洲国产| 中文乱码人妻一区二区三区视频| 亚洲乱码一区二区三区在线观看| 亚洲欧美另类综合| 日本成人激情视频| 国产欧美自拍一区| 日韩在线第三页| 亚洲精品高清在线| 国产精品久久久久久久免费看| 欧美大片免费观看| 国产一区二区三区免费观看在线 | 鲁丝一区二区三区免费| 久久99国产精品免费网站| 国产超碰人人爽人人做人人爱|