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

首次部署 Kubernetes 應用,總會忽略這些事

新聞 前端
根據我的個人經驗,大多數人似乎傾向于通過 Helm 或者手動方式將應用程序甩給 Kubernetes,之后就坐等每天輕松調用的美好生活。

 根據我的個人經驗,大多數人似乎傾向于通過 Helm 或者手動方式將應用程序甩給 Kubernetes,之后就坐等每天輕松調用的美好生活。但在 GumGum 公司的實踐當中,我們體會到 Kubernetes 應用的一系列“陷阱”,也希望把這些陷阱與大家分享,給您的 Kubernetes 探索之旅帶來一點啟發。

[[344530]]

1. 配置 Pod 請求與限制

我們從配置一套可以運行 Pod 的簡單環境開始。Kubernetes 在處理 Pod 調度與故障狀態方面確實表現出色,但我們也意識到,如果 Kubernetes 調度程序無法衡量 Pod 的成功運行究竟需要多少資源,那么有時候部署工作可能面臨挑戰。而這一挑戰,也正是資源請求與限制機制的設計根源。目前,設置應用程序請求與限制方面的最佳實踐仍然存在不少爭議。實際上,這項工作更像是一門藝術,而非單純的科學。下面,我們聊聊 GumGum 公司內部對這個問題的看法:

Pod 請求: 這是調度程序用于衡量 Pod 最佳部署方法的主要指標。

下面來看 Kubernetes 說明文檔中的相關描述:

過濾步驟會在可行的情況下找到一組 Pod。例如,PodFitsResources 過濾器會檢查候選節點是否具備充足的可用資源,以滿足 Pod 提出的特定資源請求。

在內部,我們通過這樣一種方式使用應用程序請求:通過設置,我們對應用程序正常運行實際工作負載時的資源需求做出估計。以此為基礎,調度程序即可更合理地放置節點。最初,我們希望將請求設置得更高一些,保證各個 Pod 都擁有充足的資源。但我們很快發現,這種方式會大大增加調度時間,并導致部分 Pod 無法完全調度。這樣的結果實際上與我們完全不指定資源請求時看到的情況類似:在后一種情況下,由于控制平面并不清楚應用程序需要多少資源,因此調度程序經常會“逐出”Pod 且不再重新加以調度。正是這一調度算法中的關鍵組成部分,導致我們無法得到符合預期的調度效果。

Pod 限制: 即對于 Pod 的直接限制,代表著集群允許各容器所使用的最大資源量。

同樣來看官方說明文檔中的描述:

如果您為容器設置了 4GiB 的內存限制,則 kubelet(與容器運行時)將強制執行此限制。運行時將防止容器使用超出所配置上限的資源容量。例如,當容器中的進程所消耗的內存量超過獲準數量時,系統內核將終止該資源分配嘗試,并提示內存不足(OOM)錯誤。

容器所使用的實際資源量可以高于其請求,但永遠不能高于配置上限。很明顯,對限制指標的正確設置相當困難,但也非常重要。在理想情況下,我們希望讓 Pod 的資源需求在整個流程生命周期內發生變化,而又不致干擾到系統上的其他流程——這也正是限制機制的意義所在。遺憾的是,我們無法明確給出最合適的設置值,只能遵循以下過程進行調整:

  1. 使用負載測試工具,我們可以模擬基準流量水平,并觀察 Pod 的資源使用情況(包括內存與 CPU)。
  2. 我們將 Pod 請求設置在極低水平,同時將 Pod 資源限制保持在請求值的約 5 倍,而后觀察其行為。當請求過低時,進程將無法啟動,并時常引發神秘的 Go 運行時錯誤。

這里需要強調的一點在于,資源限制越嚴格,Pod 的調度難度也就越大。這是因為 Pod 調度要求目標節點擁有充足的資源。例如,如果您的資源非常有限(內存只有 4GB),那么即使是運行輕量級 Web 服務器進程都很可能非常困難。在這種情況下,大家需要進行橫向擴展,而且各個新容器也應運行在同樣擁有至少 4GB 可用內存的節點之上。如果不存在這樣的節點,您需要在集群中引入新節點以處理該 Pod,這無疑會令啟動時間有所增加。總之,請務必在資源請求與限制之間找到最小“邊界”,保證快速、平衡實現擴展。

2. 配置 Liveness 與 Readiness 探針

Kubernetes 社區中經常討論的另一個有趣話題,就是如何配置 Linvess 與 Readiness 探針。合理使用這兩種探針,能夠為我們帶來一種運行容錯軟件、并最大程度減少停機時間的機制。但如果配置不正確,它們也可能對應用程序造成嚴重的性能影響。下面來看這兩種探針的基本情況,以及如何進行使用判斷:

Liveness 探針:“用于指示容器是否正在運行。如果 Liveness 探針失敗,則 kubelet 將關閉容器,且容器將開始執行重新啟動策略。如果容器并不提供 Liveness 探針,則其默認狀態被視為成功。”—Kubernetes說明文檔

Liveness 探針的資源需求必須很低,因為它們需要頻繁運行,并需要在應用程序運行時向 Kubernetes 發出通知。請注意,如果將其設置為每秒運行一次,則系統將需要承擔每秒 1 次的額外請求處理量。因此,請務必認真考慮如何處理這些額外請求及相應資源。在 GumGum,我們將 Liveness 探針設置為在應用程序主組件運行時進行響應,且不考慮數據是否已經完全可用(例如來自遠程數據庫或緩存的數據)。舉例來說,我們會在應用當中設置一個特定的“health”端點,單純負責返回 200 響應代碼。只要仍在返回響應,就表明該進程已經啟動并可以處理請求(但尚未正式產生流量)。

Readiness 探針:“指示容器是否準備好處理請求。如果 Readiness 探針失敗,則端點控制器將從與該 Pod 相匹配的所有服務端點中,刪除該 Pod 的 IP 地址。”

Readiness 探針的運行成本要高得多,因為其作用在于持續告知后端,整個應用程序正處于運行狀態且準備好接收請求。關于此探針是否應該訪問數據庫,社區中存在諸多爭論。考慮到 Readiness 探針造成的開銷(需要經常運行,但頻繁可以靈活調整),我們決定在某些應用程序中只在從數據庫返回記錄后,才開始“提供流量”。通過對 Readiness 探針的精心設計,我們已經能夠實現更高的可用性水平以及零停機時間部署。

但如果大家確實有必要通過應用程序的 Readiness 探針隨時檢查數據庫請求的就緒狀態,請盡可能控制查詢操作的資源用量,例如……

  1. SELECT small_item FROM table LIMIT 1 

以下,是我們在 Kubernetes 中為這兩種探針指定的配置值:

  1. livenessProbe: 
  2.  
  3. httpGet: 
  4.  
  5. path: /api/liveness 
  6.  
  7. port: http 
  8.  
  9. readinessProbe: 
  10.  
  11. httpGet: 
  12.  
  13. path: /api/readiness 
  14.  
  15. port: http periodSeconds: 2 

您還可以添加其他一些配置選項:

  • initialDelaySeconds- 容器啟動的多少秒后,探針開始實際運行
  • periodSeconds- 兩次探測之間的等待間隔
  • timeoutSeconds- 需要經過多少秒,才能判定某一 Pod 處于故障狀態。相當于傳統意義上的超時指標
  • failureThreshold- 探針失敗多少次后,才向 Pod 發出重啟信號
  • successThreshold- 探針成功多少次后,才能判定 Pod 進入就緒狀態(通常使用在 Pod 啟動或者故障恢復之后)

3. 設置默認 Pod 網絡策略

Kubernetes 使用一種“扁平”網絡拓撲;在默認情況下,所有 Pod 之間都可以直接相互通信。但結合實際用例,這種通信能力往往不必要甚至不可接受。由此帶來的一大潛在安全隱患在于,如果某一易受攻擊的應用程序遭到利用,則攻擊者即可由此獲取完全訪問權限,進而將流量發送至網絡上的所有 Pod 當中。因此我們也有必要在 Pod 網絡中應用最低訪問原則,在理想情況下通過網絡策略明確指定哪些容器之間允許建立相互連接。

以下列簡單策略為例,可以看到其將拒絕特定命名空間中的所有入口流量:

  1. --- 
  2.  
  3. apiVersion: networking.k8s.io/v1 
  4.  
  5. kind: NetworkPolicy 
  6.  
  7. metadata: 
  8.  
  9. name: default-deny-ingress 
  10.  
  11. spec: 
  12.  
  13. podSelector: {} 
  14.  
  15. policyTypes: 
  16.  
  17. - Ingress 

4. 通過 Hooks 與 Init 容器執行自定義行為

我們希望在 Kubernetes 系統中實現的核心目標之一,在于嘗試為現有開發人員提供近乎零停機時間的部署支持。但不同應用程序往往擁有不同的關閉方式與資源清理過程,因此整體零停機目標很難實現。首先橫亙在我們面前的,就是 Nginx 這道難關。我們注意到在啟動 Pod 的滾動部署時,活動連接在成功終止之前就會被丟棄。經過廣泛的在線研究,事實證明 Kubernetes 在終止 Pod 之前,并不會等待 Nginx 用盡其連接資源。使用預停止 hook,我們得以注入此項功能,并由此實現了零停機時間。

  1. lifecycle: 
  2.  
  3. preStop: 
  4.  
  5. exec: 
  6.  
  7. command: ["/usr/local/bin/nginx-killer.sh"
  8.  
  9. isnginx-killer.sh: 
  10.  
  11. #!/bin/bashsleep 3 
  12.  
  13. PID=$(cat /run/nginx.pid) 
  14.  
  15. nginx -s quitwhile [ -d /proc/$PID ]; do 
  16.  
  17. echo "Waiting while shutting down nginx..." 
  18.  
  19. sleep 10 
  20.  
  21. done 

另一個實用范例,是通過 Init 容器處理特定應用程序的啟動任務。部分高人氣 Kubernetes 項目還會使用 Istio 等 init-containers 將 Envoy 處理代碼注入 Pod 當中。如果您在應用程序啟動之前,需要首先完成繁重的數據庫遷移過程,那么 Init 容器特別適用。您也可以為此過程設定更高的資源上限,保證其不受主應用程序的限制設定影響。

另一種常見模式是向 init-conatiner 提供 secrets 訪問權,并由該容器將這些憑證公布給主 Pod,從而防止通過主應用 Pod 本體對 secret 發出示授權訪問。同樣來看說明文檔中的表述:

Init 容器能夠安全運行實用程序或自定義代碼,避免其破壞應用程序容器鏡像的安全性。通過剝離這些不必要的工具,您可以限制應用程序容器鏡像的攻擊面。

5. 內核調優

最后,我們來聊聊一項最先進的技術。Kubernetes 本身是一套高度靈活的平臺,可幫助您以最適合的方式運行工作負載。在 GumGum,我們擁有多種高性能應用程序,其對運行資源有著極為苛刻的要求。在進行了廣泛的負載測試之后,我們發現有某一款應用程序難以在使用 Kubernetes 默認設置的前提下處理必要的流量負載。但 Kubernetes 允許我們運行一個高權限容器,通過修改為其配置適用于特定 Pod 的內核運行參數。通過以下示例代碼,我們修改了 Pod 中的最大開啟連接數量:

  1. initContainers: 
  2.  
  3. - name: sysctl 
  4.  
  5. image: alpine:3.10 
  6.  
  7. securityContext: 
  8.  
  9. privileged: true 
  10.  
  11. command: ['sh''-c'"sysctl -w net.core.somaxconn=32768"

這是一種使用頻率較低的高級技術。如果您的應用程序難以在高負載場景下健康運行,大家可能需要調整其中的部分參數。這里建議各位在官方說明文檔中參閱參數調優與可選值的相關細節信息。

6. 總結

雖然 Kubernetes 已經算是一種幾乎“開箱即用”的解決方案,但大家仍然需要采取一系列關鍵步驟以保證應用程序的平衡運行。在將應用程序遷移至 Kubernetes 之上的整個過程中,請務必重視負載測試“循環”——運行應用程序,對其進行負載測試,觀察指標與擴展行為,基于結果調整您的配置,而后重復。請盡量客觀地設定預期流量,并嘗試將流量增加至超限水平,借此查看哪些組件會最先陷入癱瘓。通過這種迭代方法,大家也許只需要采取本文中介紹的部分步驟即可獲得理想的應用程序運行效果。總之,請永遠關注以下幾個核心問題:

  • 我的應用程序的資源占用量是多少?占用量會如何變化?
  • 服務的實際擴展要求是什么?預計需要處理怎樣的平均流量?峰值流量處于怎樣的水平?
  • 服務可能多久需要進行一次橫向擴展?新的 Pod 要過多久才能正式開始接收流量?
  • 我們的 Pod 終止過程優雅可控嗎?是否需要這種優雅性與可控性?我們能否實現零停機時間部署?
  • 該如何盡可能降低安全風險,并限制 Pod 入侵狀況的“爆炸半徑”(影響范圍)?服務中是否存在某些不必要的權限或訪問能力?

Kubernetes 是一套令人印象深刻的強大平臺,您可以在這里運用最佳實踐為整個集群部署數千項服務。但不同的軟件之間總是有所差別,有時候您的應用程序可能需要進一步調整,好在 Kubernetes 為我們提供不少調整“旋鈕”,盡可能讓用戶輕松達成與預期相符的技術目標。將資源請求與限制、Livenss 與 Readiness 檢查、init-containers、網絡策略以及自定義內核調優等方法相結合,相信大家能夠在 Kubernetes 平臺之上實現更出色的基準性能、彈性與快速規模擴展能力。

 

責任編輯:張燕妮 來源: 架構頭條
相關推薦

2019-12-06 14:24:58

Kubernetes容器YAML

2025-10-29 07:15:00

Kubernetes集群插件

2017-03-07 11:45:57

DevOps容器

2021-12-30 19:34:15

Java泛型JDK

2020-12-11 19:06:03

Kubernetes工具應用程序

2015-07-01 13:34:22

Kubernetes應用部署模型

2021-03-26 08:41:11

Go語言Docker

2017-04-10 15:11:16

2021-03-11 15:21:57

區塊鏈數據政府

2022-08-26 07:52:54

Kubernetes容器混合云

2019-11-07 14:00:36

MySQL數據庫SQL

2020-09-17 16:08:29

網絡安全數據技術

2022-06-14 17:11:38

Android隱私保護用戶

2021-11-02 08:41:44

Kubernetes Nginx部開源

2020-12-04 18:44:29

KubernetesHTTPS Wordpress

2020-02-06 16:38:53

辦公電腦互聯網

2021-09-28 06:28:50

云原生安全云計算

2021-11-20 23:15:28

Java編程Bug

2017-11-02 21:02:11

數據庫數據庫的管理字段長度

2022-08-21 16:50:36

Kubeadm?Kubernetes
點贊
收藏

51CTO技術棧公眾號

国产传媒第一页| 91视频国产高清| xxxx日本免费| 亚洲精品无播放器在线播放| 亚洲视频香蕉人妖| 精品一区久久久| 亚洲最大成人在线视频| 伊人久久综合| 国产一区二区三区在线免费观看| www.se五月| 碰碰在线视频| 一区二区三区中文字幕电影 | 中文字幕激情视频| 中文精品久久| 国产一区二区三区久久精品| 四虎国产精品免费| 日本综合视频| 欧美日韩免费一区| 小泽玛利亚av在线| 在线国产91| 成人av在线播放网站| 国产精品偷伦免费视频观看的| 久久亚洲AV无码| 天堂中文视频在线| 亚洲欧美综合在线观看| 国产乱码精品一区二区三区忘忧草| 国产91精品久久久久| 欧美色图亚洲视频| 日韩理论电影| 亚洲丝袜在线视频| 三叶草欧洲码在线| silk一区二区三区精品视频| 欧美久久久久久久久| 成人羞羞国产免费网站| 草美女在线观看| 亚洲久草在线视频| 亚洲人成网站在线播放2019| 天堂а√在线8种子蜜桃视频| 国产一区二区三区黄视频| 国产精品久久久久久久app| 久久人91精品久久久久久不卡| 国产一线二线三线在线观看| 中国字幕a在线看韩国电影| 亚洲综合av网| 成年丰满熟妇午夜免费视频 | 亚洲精品视频在线观看网站| 一本色道久久99精品综合| 精品无吗乱吗av国产爱色| 91一区二区在线| 国产精品红桃| 亚洲色图13p| 亚洲精品女人久久久| 精品网站aaa| 精品国产伦一区二区三区观看体验| 91看片破解版| 国产日本亚洲| 欧美一区日韩一区| 极品人妻一区二区| gogo人体一区| 亚洲精品成a人在线观看| 最新版天堂资源在线| 精品国产乱子伦一区二区| 亚洲韩国青草视频| 女人被狂躁c到高潮| 在线日本制服中文欧美| 国产亚洲一区精品| 亚洲AV成人无码网站天堂久久| 欧美少妇性xxxx| 亚洲美女视频网站| 中字幕一区二区三区乱码| 日韩精品诱惑一区?区三区| 久久九九全国免费精品观看| 成人免费视频网站入口::| 欧美freesex交免费视频| 欧美黄色免费网站| 亚洲天堂视频网站| 免费的国产精品| 亚洲一区二区在线| 欧美熟妇另类久久久久久不卡| av在线播放成人| 欧美精品国产精品久久久| 二区三区在线| 亚洲精品成人少妇| 久久久久久久久久久视频| 欧美大片1688| 欧美一区二区视频免费观看| 日韩精品人妻中文字幕有码 | 亚洲欧美精品在线观看| 美女免费久久| 亚洲国产精品久久久久秋霞影院| 国产日产欧美视频| 中文成人在线| 日韩精品极品视频| 欧美肥妇bbwbbw| 99精品福利视频| 国产免费一区二区三区在线观看| 高潮一区二区三区乱码| 国产蜜臀97一区二区三区| 国产一区二区三区播放| 三级成人黄色影院| 欧美成人精品福利| 娇妻被老王脔到高潮失禁视频| 欧美另类视频| 国产精品永久免费观看| 日韩在线观看视频一区| 国产精品久久久久影院亚瑟| 久久亚洲中文字幕无码| 国产精久久久| 亚洲一区二区久久久| 久久免费视频精品| 麻豆专区一区二区三区四区五区| 精品免费日产一区一区三区免费| 老司机精品视频在线观看6| 岛国av在线不卡| 古装做爰无遮挡三级聊斋艳谭| 蜜桃精品wwwmitaows| 欧美激情高清视频| 影音先锋国产资源| 久久婷婷国产综合国色天香| 青青草国产免费| 国产精品一区二区精品视频观看| 亚洲网站视频福利| 日韩黄色一级大片| 成人激情免费网站| 久久天天东北熟女毛茸茸| 国产精品久久乐| 亚洲人成自拍网站| 亚洲男人第一av| 成人中文字幕电影| 8x8x华人在线| 国产不卡精品在线| 久久不射热爱视频精品| 中文字幕在线观看国产| 国产视频一区在线播放| 国产中文字幕在线免费观看| 我要色综合中文字幕| 久久久精品在线观看| 亚洲一区二区天堂| 中文字幕精品—区二区四季| 国产精品乱码久久久久| 深爱激情综合网| 奇米成人av国产一区二区三区| 欧美 日韩 国产 成人 在线 91 | 亚洲91网站| 久久精品中文字幕免费mv| 国产精品嫩草影院精东| 中文字幕在线不卡视频| 姬川优奈av一区二区在线电影| 欧美视频一二三区| 亚洲av综合一区二区| 亚洲女同在线| 久久爱av电影| 国产精品xx| 日韩精品在线观看网站| av大全在线观看| 国产亚洲综合在线| 五月婷婷激情久久| 日韩欧美高清| 91在线视频一区| 97超碰在线公开在线看免费| 日韩欧美色电影| 国产福利久久久| 91麻豆精品一区二区三区| 麻豆传传媒久久久爱| 波多野结衣的一区二区三区 | 亚洲精品视频播放| www.com亚洲| 国产精品三级视频| 日韩欧美色视频| 国产一区二区波多野结衣 | 永久av免费网站| 国产综合久久久久久鬼色| 777久久精品一区二区三区无码| 亚洲一区二区三区日本久久九| 久久久女人电视剧免费播放下载 | heyzo一本久久综合| 国产日韩一区二区在线| av在线不卡网| 久久久7777| 日韩和的一区二在线| 中文字幕亚洲字幕| 国产男男gay网站| 亚洲国产综合色| 欧美做受高潮6| 国产精品资源网| 91视频 -- 69xx| 日本a口亚洲| 国产精品初高中精品久久| 一区二区三区短视频| 中文字幕九色91在线| 亚洲卡一卡二卡三| 欧洲亚洲精品在线| 久一区二区三区| 日本一区二区视频在线观看| 日韩精品在线播放视频| 久久香蕉精品| 996这里只有精品| 日韩在线视屏| 久久久久久久久一区二区| 成人动漫视频在线观看| 国产91在线高潮白浆在线观看| caoporn免费在线| 亚洲欧美中文另类| www男人的天堂| 欧美无砖专区一中文字| 国产一级大片在线观看| 中文字幕中文字幕一区二区| av直播在线观看| 懂色av一区二区三区免费看| 成人性生生活性生交12| 亚洲看片免费| 伊人网在线免费| 久久影院100000精品| 美女三级99| 国产成人精品亚洲线观看| 成人黄色午夜影院| 色婷婷综合久久久中字幕精品久久| 久久99国产综合精品女同| 在线播放日本| 亚洲系列中文字幕| 天堂影院在线| 日韩精品免费综合视频在线播放| www.99视频| 7777精品伊人久久久大香线蕉的 | 国产偷倩在线播放| 久久久精品国产亚洲| 99中文字幕一区| 亚洲欧美视频在线| 日韩资源在线| 亚洲国内精品视频| 天堂网在线资源| 亚洲精品一区二区三区99| 国产日韩欧美一区二区东京热| 精品婷婷伊人一区三区三| 69国产精品视频免费观看| 婷婷开心激情综合| 欧美一区二区激情视频| 亚洲成av人片| 偷偷操不一样的久久| 精品久久久久久久久久久久久久| 国产激情视频网站| 国产精品一区二区99| 国内视频一区二区| 久久99国产精品久久99大师| 97人人干人人| 视频一区中文字幕精品| av资源一区二区| 深夜福利一区| 99在线观看视频| 欧美毛片在线观看| 国产三区在线成人av| 女女互磨互喷水高潮les呻吟| 26uuu精品一区二区在线观看| 国产白嫩美女无套久久| 久久综合999| 性猛交娇小69hd| 国产精品高潮呻吟久久| 小泽玛利亚一区二区免费| 亚洲精品国产精华液| 久久久全国免费视频| 亚洲动漫第一页| 三级视频在线观看| 欧美性猛交xxxx乱大交退制版 | 6080午夜不卡| 国内精品久久久久久久久久| 精品国免费一区二区三区| 天天操天天操天天| 亚洲少妇激情视频| 久久日韩视频| 久久久视频精品| 免费观看亚洲| 国产日韩欧美在线视频观看| 免费一区二区三区在线视频| 国产精品sss| 国内精品久久久久久久久电影网| 一区一区视频| 一本色道精品久久一区二区三区| 国产三级三级三级看三级| 精品午夜一区二区三区在线观看| 中文字幕无码毛片免费看| 99天天综合性| 免费精品在线视频| 性做久久久久久免费观看| 日本熟妇一区二区三区| 欧美一区午夜视频在线观看| 无码精品人妻一区二区三区影院| 国产小视频91| 免费电影视频在线看| 国产91色在线|| 中文字幕一区二区三区日韩精品| 久久综合伊人77777麻豆| 天天插综合网| 青青艹视频在线| 国产综合久久久久久鬼色| 白丝女仆被免费网站| 亚洲欧美日韩精品久久久久| 91国产丝袜播放在线| 欧美区在线观看| 偷拍自拍在线| 久久777国产线看观看精品| 日韩电影免费观看高清完整版| 亚洲综合中文字幕在线观看| 综合干狼人综合首页| 东北少妇不带套对白| 久久精品国产免费看久久精品| 国产三级国产精品| 伊人婷婷欧美激情| 亚洲一级在线播放| 精品在线观看国产| 俺来也官网欧美久久精品| 亚洲精品免费在线视频| 狠狠操综合网| 成年人视频观看| 成人h动漫精品一区二区| 中文字幕电影av| 欧美日韩午夜在线视频| 你懂的免费在线观看视频网站| 欧美激情影音先锋| 国产日韩在线观看视频| 亚洲视频电影| 蜜臀av性久久久久蜜臀aⅴ四虎 | 亚洲影视资源网| 91丨porny丨在线中文 | a级影片在线| 国产精品永久免费视频| 精品久久久亚洲| 日韩av播放器| 99久久久无码国产精品| 免费人成年激情视频在线观看| 8x福利精品第一导航| wwwww在线观看免费视频| 国产99久久精品一区二区永久免费 | 精品久久蜜桃| 亚洲区第一页| 日本不卡视频一区| 亚洲国产综合色| 高清乱码毛片入口| 午夜精品福利在线观看| 99热这里只有精品首页| 男人添女荫道口女人有什么感觉| 国产精品中文字幕一区二区三区| 国产第一页浮力| 9191久久久久久久久久久| av在线看片| 成人免费视频网站| 亚洲国产免费| 国产精品无码一区二区三区免费 | 国产精品一区二区小说| 国产精品狼人久久影院观看方式| 小泽玛利亚一区二区三区视频| 亚洲香蕉成视频在线观看| 人人鲁人人莫人人爱精品| 五月婷婷一区| 久久精品国产精品亚洲红杏 | 亚洲va中文字幕| 欧洲亚洲在线| 国产精品久久久久久久久男| 日本精品三区| 欧美国产日韩在线视频| 亚洲在线观看免费| 日本在线视频1区| 国产精品99久久久久久人| 国产精品videosex性欧美| 欧美日韩久久婷婷| 亚洲国产精品一区二区尤物区| 五月激情婷婷综合| 国产精品高潮粉嫩av| 久久影视一区| 日本一级大毛片a一| 日韩欧美在线国产| 伊人免费在线| 国产精品乱码| 蜜桃视频在线观看一区二区| 欧美三级黄色大片| 亚洲精品电影在线| 国产精品一区二区免费福利视频 | 视频在线观看国产精品| 在线免费看视频| 欧美va亚洲va国产综合| 在线看片福利| 波多野结衣激情| 96av麻豆蜜桃一区二区| 亚洲熟妇无码久久精品| 欧美极品在线播放| 欧洲杯什么时候开赛| 色哟哟免费视频| 一本一道久久a久久精品| 黄色大片在线播放| 久久偷窥视频| 国产福利一区二区三区视频在线| 成人免费区一区二区三区| 中文字幕欧美视频在线| 久久久久97| 亚洲制服中文字幕| 色综合色综合色综合色综合色综合| 麻豆av在线免费看| 欧美日韩在线一区二区三区| 国产高清在线观看免费不卡| 午夜精品免费观看| 国产做受69高潮|