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

如何解決 K8s 在云邊協同下的運維監控挑戰

開發
伴隨著 5G、IoT 等技術的快速發展,邊緣計算被越來越廣泛地應用于電信、媒體、運輸、物流、農業、零售等行業和場景中,成為解決這些領域數據傳輸效率的關鍵方式。與此同時,邊緣計算形態、規模、復雜度的日益增長,邊緣計算領域的運維手段、運維能力對邊緣業務創新速度的支撐日趨乏力。

 [[411526]]

背景

伴隨著 5G、IoT 等技術的快速發展,邊緣計算被越來越廣泛地應用于電信、媒體、運輸、物流、農業、零售等行業和場景中,成為解決這些領域數據傳輸效率的關鍵方式。與此同時,邊緣計算形態、規模、復雜度的日益增長,邊緣計算領域的運維手段、運維能力對邊緣業務創新速度的支撐日趨乏力。于是,Kubernetes 迅速成為邊緣計算的關鍵要素,幫助企業在邊緣更好地運行容器,最大化利用資源、縮短研發周期。

但是,如果將原生 Kubernetes 直接應用到邊緣計算場景下,仍然需要解決諸多問題,比如云與邊一般位于不同網絡平面,同時邊緣節點普遍位于防火墻內部,采用云(中心)邊協同架構,將導致原生 K8s 系統的運維監控能力面臨如下挑戰:

K8s 原生運維能力缺失(如 kubectl logs/exec 等無法執行)
社區主流監控運維組件無法工作(如 Prometheus/metrics-server )
為了幫助企業解決原生 Kubernetes 在邊緣場景下關于應用生命周期管理、云邊網絡連接、云邊端運維協同、異構資源支持等方方面面的挑戰,基于 K8s 實現的邊緣計算云原生開源平臺 OpenYurt 應運而生,其也是 CNCF 在邊緣云原生版圖中的重要組成部分。本文將詳細介紹,作為 OpenYurt 核心組件之一的 Yurt-Tunnel 如何是擴展原生 K8s 系統在邊緣場景下相關能力的。

Yurt-Tunnel 設計思路

由于邊緣可以訪問云端,因此可以考慮在云邊構建可以反向穿透的隧道,從而保證云(中心)可以基于隧道主動訪問邊緣。當時我們也調查了很多開源的隧道方案,從能力以及生態兼容性等方面,最后我們選擇基于 ANP設計并實現了 Yurt-Tunnel 整體解決方案,具備安全,非侵入、可擴展、傳輸高效等優點。

實現方式

在 K8s 云邊一體化架構中構建一個安全、非侵入、可擴展的反向通道解決方案,方案中至少需要包括如下能力。

云邊隧道構建
隧道兩端證書的自管理
云端組件請求被無縫倒流到隧道
Yurt-tunnel 的架構模塊如下圖:

3.1 云邊隧道構建

當邊緣的 yurt-tunnel-agent 啟動時,會根據訪問地址與 yurt-tunnel-server 建立連接并注冊,并周期性檢測連接的健康狀態以及重建連接等。

  1. # https://github.com/openyurtio/apiserver-network-proxy/blob/master/pkg/agent/client.go#L189# yurt-tunnel-agent的注冊信息:"agentID": {nodeName}"agentIdentifiers": ipv4={nodeIP}&host={nodeName}" 

當 yurt-tunnel-server 收到云端組件的請求時,需要把請求轉發給對應的 yurt-tunnel-agent 。因為除了轉發初始請求之外,該請求 session 后續還有數據返回或者數據的持續轉發(如 kubectl exec )。因此需要雙向轉發數據。同時需要支持并發轉發云端組件的請求,意味需要為每個請求生命周期建立一個獨立的標識。所以設計上一般會有兩種方案。

方案 1: 初始云邊連接僅通知轉發請求,tunnel-agent 會和云端建立新連接來處理這個請求。通過新連接可以很好的解決請求獨立標識的問題,同時并發也可以很好的解決。但是為每個請求都需要建立一個連接,將消耗大量的資源。

方案 2: 僅利用初始云邊連接來轉發請求,大量請求為了復用同一條連接,所以需要為每個請求進行封裝,并增加獨立標識,從而解決并發轉發的訴求。同時由于需要復用一條連接,所以需要解耦連接管理和請求生命周期管理,即需要對請求轉發的狀態遷移進行獨立管理。該方案涉及到封包解包,請求處理狀態機等,方案會復雜一些。

OpenYurt 選擇的 ANP 組件,采用的是上述方案2,這個和我們的設計初衷也是一致的。

  1. # https://github.com/openyurtio/apiserver-network-proxy/blob/master/konnectivity-client/proto/client/client.pb.go#L98# 云邊通信的數據格式以及數據類型type Packet struct {  Type PacketType `protobuf:"varint,1,opt,name=type,proto3,enum=PacketType" json:"type,omitempty"`  // Types that are valid to be assigned to Payload:  //  *Packet_DialRequest  //  *Packet_DialResponse  //  *Packet_Data  //  *Packet_CloseRequest  //  *Packet_CloseResponse  Payload              isPacket_Payload `protobuf_oneof:"payload"`} 

請求轉發鏈路構建封裝在 Packet_DialRequest 和 Packet_DialResponse 中,其中 Packet_DialResponse.ConnectID 用于標識 request ,相當于 tunnel 中的 requestID。請求以及關聯數據封裝在 Packet_Data 中。Packet_CloseRequest 和 Packet_CloseResponse 用于轉發鏈路資源回收。具體可以參照下列時序圖:

RequestInterceptor 模塊的作用
從上述分析可以看出,yurt-tunnel-server 轉發請求之前,需要請求端先發起一個Http Connect 請求來構建轉發鏈路。但是為 Prometheus、metrics-server 等開源組件增加相應處理會比較困難,因此在 Yurt-tunnel-server 中增加請求劫持模塊 Interceptor ,用來發起 Http Connect 請求。相關代碼如下:

  1. # https://github.com/openyurtio/openyurt/blob/master/pkg/yurttunnel/server/interceptor.go#L58-82    proxyConn, err := net.Dial("unix", udsSockFile)    if err != nil {      return nil, fmt.Errorf("dialing proxy %q failed: %v", udsSockFile, err)    }    var connectHeaders string    for _, h := range supportedHeaders {      if v := header.Get(h); len(v) != 0 {        connectHeaders = fmt.Sprintf("%s\r\n%s: %s", connectHeaders, h, v)      }    }    fmt.Fprintf(proxyConn, "CONNECT %s HTTP/1.1\r\nHost: %s%s\r\n\r\n", addr, "127.0.0.1", connectHeaders)    br := bufio.NewReader(proxyConn)    res, err := http.ReadResponse(br, nil)    if err != nil {      proxyConn.Close()      return nil, fmt.Errorf("reading HTTP response from CONNECT to %s via proxy %s failed: %v", addr, udsSockFile, err)    }    if res.StatusCode != 200 {      proxyConn.Close()      return nil, fmt.Errorf("proxy error from %s while dialing %s, code %d: %v", udsSockFile, addr, res.StatusCode, res.Status)    } 

3.2 證書管理

為了保證云邊通道的長期安全通信,同時也為了支持 https 請求轉發,yurt-tunnel 需要自行生成證書并且保持證書的自動輪替。具體實現如下:

  1. 1. yurt-tunnel-server證書:# https://github.com/openyurtio/openyurt/blob/master/pkg/yurttunnel/pki/certmanager/certmanager.go#L45-90- 證書存儲位置: /var/lib/yurt-tunnel-server/pki- CommonName: "kube-apiserver-kubelet-client"  // 用于kubelet server的webhook校驗- Organization: {"system:masters", "openyurt:yurttunnel"} // 用于kubelet server的webhook校驗和yurt-tunnel-server證書的auto approve- Subject Alternate Name values: {x-tunnel-server-svc, x-tunnel-server-internal-svc的ips和dns names}- KeyUsage: "any"# 2. yurt-tunnel-agent證書:# https://github.com/openyurtio/openyurt/blob/master/pkg/yurttunnel/pki/certmanager/certmanager.go#L94-112- 證書存儲位置: /var/lib/yurt-tunnel-agent/pki- CommonName: "yurttunnel-agent"- Organization: {"openyurt:yurttunnel"} // 用于yurt-tunnel-agent證書的auto approve- Subject Alternate Name values: {nodeName, nodeIP}- KeyUsage: "any"# 3. yurt-tunnel證書申請(CSR)均由yurt-tunnel-server來approve# https://github.com/openyurtio/openyurt/blob/master/pkg/yurttunnel/pki/certmanager/csrapprover.go#L115- 監聽csr資源- 過濾非yurt-tunnel的csr(Organization中沒有"openyurt:yurttunnel")- approve還未Approved的csr# 4. 證書自動輪替處理# https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/client-go/util/certificate/certificate_manager.go#L224 

3.3 無縫導流云端組件請求到隧道

因為需要無縫把云端組件的請求轉發到 yurt-tunnel-server ,也意味不需要對云端組件進行任何修改。因此需要對云端組件的請求進行分析,目前組件的運維請求主要有以下兩種類型:

類型1: 直接使用 IP 地址訪問,如: http://{nodeIP}:{port}/{path}
類型2: 使用域名訪問, 如: http://{nodeName}:{port}/{path}
針對不同類型請求的導流,需要采用不同方案。

方案1: 使用 iptables dnat rules 來保證類型1的請求無縫轉發到 yurt-tunnel-server

  1. # 相關iptables rules維護代碼: https://github.com/openyurtio/openyurt/blob/master/pkg/yurttunnel/iptables/iptables.go# yurt-tunnel-server維護的iptables dnat rules如下:[root@xxx /]# iptables -nv -t nat -L OUTPUTTUNNEL-PORT  tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            /* edge tunnel server port */[root@xxx /]# iptables -nv -t nat -L TUNNEL-PORTTUNNEL-PORT-10255  tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:10255 /* jump to port 10255 */TUNNEL-PORT-10250  tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:10250 /* jump to port 10250 */[root@xxx /]# iptables -nv -t nat -L TUNNEL-PORT-10255RETURN     tcp  --  *      *       0.0.0.0/0            127.0.0.1            /* return request to access node directly */ tcp dpt:10255RETURN     tcp  --  *      *       0.0.0.0/0            172.16.6.156         /* return request to access node directly */ tcp dpt:10255DNAT       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            /* dnat to tunnel for access node */ tcp dpt:10255 to:172.16.6.156:10264 

方案2: 使用 dns 域名解析 nodeName 為 yurt-tunnel-server 的訪問地址,從而使類型 2 請求無縫轉發到 yurt-tunnel

  1. # x-tunnel-server-svc和x-tunnel-server-internal-svc的不同用途: - x-tunnel-server-svc: 主要expose 10262/10263端口,用于從公網訪問yurt-tunnel-server。如yurt-tunnel-agent - x-tunnel-server-internal-svc: 主要用于云端組件從內部網絡訪問,如prometheus,metrics-server等# dns域名解析原理:1. yurt-tunnel-server向kube-apiserver創建或更新yurt-tunnel-nodes configmap, 其中tunnel-nodes字段格式為: {x-tunnel-server-internal-svc clusterIP}  {nodeName},確保記錄了所有nodeName和yurt-tunnel-server的service的映射關系2. coredns pod中掛載yurt-tunnel-nodes configmap,同時使用host插件使用configmap的dns records3. 同時在x-tunnel-server-internal-svc中配置端口映射,10250映射到1026310255映射到102644. 通過上述的配置,可以實現http://{nodeName}:{port}/{path}請求無縫轉發到yurt-tunnel-servers 

云端請求擴展:

如果用戶需要訪問邊緣的其他端口(10250 和 10255 之外),那么需要在 iptables 中增加相應的 dnat rules 或者 x-tunnel-server-internal-svc 中增加相應的端口映射,如下所示:

  1. # 例如需要訪問邊緣的9051端口# 新增iptables dnat rule:[root@xxx /]# iptables -nv -t nat -L TUNNEL-PORTTUNNEL-PORT-9051  tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:9051 /* jump to port 9051 */[root@xxx /]# iptables -nv -t nat -L TUNNEL-PORT-9051RETURN     tcp  --  *      *       0.0.0.0/0            127.0.0.1            /* return request to access node directly */ tcp dpt:9051RETURN     tcp  --  *      *       0.0.0.0/0            172.16.6.156         /* return request to access node directly */ tcp dpt:9051DNAT       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            /* dnat to tunnel for access node */ tcp dpt:9051 to:172.16.6.156:10264# x-tunnel-server-internal-svc中新增端口映射spec:  ports:  - name: https    port: 10250    protocol: TCP    targetPort: 10263  - name: http    port: 10255    protocol: TCP    targetPort: 10264  - name: dnat-9051 # 新增映射    port: 9051    protocol: TCP    targetPort: 10264 

當然上述的 iptables dnat rules 和 service 端口映射,都是由 yurt-tunnel-server 自動更新。用戶只需要在 yurt-tunnel-server-cfg configmap 中增加端口配置即可。具體如下:

  1. # 注意:由于證書不可控因素,目前新增端口只支持從yurt-tunnel-server的10264轉發apiVersion: v1data:  dnat-ports-pair: 9051=10264 # 新增端口=10264(非10264轉發不支持)kind: ConfigMapmetadata:  name: yurt-tunnel-server-cfg  namespace: kube-system 

近期規劃

支持 kube-apiserver 的 EgressSelector 功能
驗證 yurt-tunnel-server 多實例部署驗證
支持 yurt-tunnel-agent 配置多個 yurt-tunnel-server 地址
支持證書存儲目錄自定義
支持證書 Usage 定義更精細化,保證證書使用范圍可控
支持 yurt-tunnel-server 訪問地址變化后,yurt-tunnel-server 證書可自動更新
支持 yurt-tunnel-agent 對 yurt-tunnel-server 訪問地址的自動刷新
支持非 NodeIP/NodeName 類型的請求轉發(如非主機網絡 Pod 的云訪問邊)
支持通過 Tunnel 由邊緣 Pod 訪問云端 Pod
支持 yurt-tunnel 的獨立部署(非綁定 k8s )
支持更多協議轉發,如 gRPC, websocket, ssh 等

責任編輯:梁菲 來源: 阿里云云棲號
相關推薦

2020-06-30 08:08:25

k8s監控

2025-01-03 08:08:56

2023-07-06 16:36:45

云遷移云計算

2022-05-19 07:01:34

架構

2018-03-18 09:00:28

2023-04-06 08:27:47

SidecarSet容器

2013-05-06 15:10:18

IT運維管理大數據

2024-09-13 10:11:38

2022-04-22 13:32:01

K8s容器引擎架構

2023-11-06 07:16:22

WasmK8s模塊

2020-05-19 08:11:09

AI人工智能數據

2022-07-18 18:48:32

Kubernetes云原生

2021-11-16 13:19:04

數字化

2020-02-17 13:05:37

物聯網IOT物聯網應用

2025-07-03 07:00:00

運維K8s磁盤

2021-08-13 07:00:41

云原生k8sspringboot

2021-08-26 07:20:05

云原生K8sSpringboot

2022-07-04 11:28:14

RancherK8s集群云計算

2012-10-10 09:46:58

云計算服務器運維服務器

2015-09-30 11:45:30

自動化技能運維
點贊
收藏

51CTO技術棧公眾號

亚洲欧美校园春色| 蜜桃在线视频| 国产精品系列在线观看| 久久久免费电影| 精品中文字幕在线播放| 国产成人亚洲一区二区三区| 亚洲日本丝袜连裤袜办公室| 精品九九九九| 136福利视频导航| 欧美日韩国产一区精品一区| 亚洲欧美中文另类| 一级黄色片在线免费观看| 不卡av免费观看| 中文一区在线播放| 国产伦精品一区二区三区四区免费| 黄色片中文字幕| 午夜精品久久| 中文精品99久久国产香蕉| 9191在线视频| 日日夜夜亚洲| 一本色道久久加勒比精品| 强伦女教师2:伦理在线观看| 日韩二区三区| 国产精品一区二区在线看| 国产精品444| 国产在线视频在线观看| 久久亚洲专区| 亚洲欧美日韩精品久久奇米色影视| 午夜激情视频网| 天天免费亚洲黑人免费| 亚洲狠狠爱一区二区三区| 亚洲视频电影| 九色蝌蚪在线| av欧美精品.com| 国产在线日韩在线| 国产真人无遮挡作爱免费视频| 亚洲大黄网站| 欧美成人免费全部| 后入内射无码人妻一区| 嫩草一区二区三区| 亚洲级视频在线观看免费1级| 日本r级电影在线观看| 成人性教育av免费网址| 午夜视频在线观看一区二区三区| 特级黄色录像片| 日韩大片在线永久免费观看网站| 久久女同精品一区二区| 国产精选一区二区| 亚洲乱熟女一区二区| 国产一区视频导航| 国产日韩中文字幕在线| 中文字幕+乱码+中文乱码www| 另类激情亚洲| 国产成人鲁鲁免费视频a| 久久久久久久久久影院| 亚洲免费大片| 97视频在线观看成人| 国产在线综合网| 亚洲免费精品| 91禁外国网站| 国产又黄又猛又粗又爽| 亚洲欧美日韩国产综合精品二区 | 2023国产精品久久久精品双| 中国china体内裑精亚洲片| 中文字幕免费在线看线人动作大片| 亚洲人和日本人hd| 亚洲无亚洲人成网站77777| 中文字幕国产综合| 精品久久久久久久久久久下田| 尤物tv国产一区| 青青青视频在线播放| 999国产精品视频| 久久影院在线观看| av资源吧首页| 免费一区视频| 国产日韩专区在线| 亚洲av无码乱码国产精品久久| 国产成人亚洲精品青草天美 | av中文字幕免费在线观看| 国产一区二区福利| 国产伦精品一区二区三区视频孕妇 | 日韩欧美有码在线| 宅男噜噜噜66国产免费观看| 日本一区二区三区中文字幕| 欧美一区二区三区精品| 黄色国产在线视频| 精品成人影院| 久久久精品在线| 久久在线视频精品| 裸体素人女欧美日韩| 国产精品亚洲视频在线观看| 国产麻豆免费观看| av不卡免费电影| 婷婷亚洲婷婷综合色香五月| 超碰电影在线播放| 亚洲成a人片在线不卡一二三区| 91成人在线观看喷潮教学| 最新日韩一区| 欧美mv日韩mv亚洲| 性猛交ⅹxxx富婆video| 欧美激情日韩| 国产999精品久久久影片官网| 亚洲图片欧美在线| 99麻豆久久久国产精品免费| 亚洲精品日韩精品| 2020日本在线视频中文字幕| 欧美主播一区二区三区美女| 可以看的av网址| 欧美日韩水蜜桃| 国内精品久久久久| 在线观看国产精品入口男同| 9l国产精品久久久久麻豆| 亚洲免费久久| 午夜欧美激情| 日韩欧美一级在线播放| 国产1区2区在线观看| 精品福利av| 国产中文字幕91| 天堂成人在线| 一区二区高清免费观看影视大全 | 国产丝袜视频在线播放| 欧美在线看片a免费观看| 亚洲欧美日韩色| 天天射综合网视频| 国产精品99导航| 无套内谢的新婚少妇国语播放| 亚洲欧美在线aaa| 成人在线免费播放视频| 欧美1区2区3区4区| 欧美激情精品久久久久| 国产精品久久久久久久成人午夜 | 在线观看天堂av| 久久精品卡一| 精品无人区一区二区三区| 菠萝蜜视频国产在线播放| 在线一区二区三区| 麻豆国产精品一区| 亚洲精品极品| 成人资源av| 中文字幕有码在线视频| 欧美久久久久久蜜桃| 一级黄色录像毛片| 日欧美一区二区| 欧美成人第一区| 在线高清av| 亚洲精品乱码久久久久久金桔影视 | 精品久久久久久久免费人妻| 玖玖玖免费嫩草在线影院一区| 久久99热精品| 精品国产亚洲av麻豆| 亚洲色图20p| 奇米777在线| 欧美在线看片| 99在线影院| 少女频道在线观看高清| 精品美女被调教视频大全网站| 免费在线黄色网| 国产精品资源在线看| 成年在线观看视频| jazzjazz国产精品久久| 国产69精品99久久久久久宅男| 亚洲av综合色区无码一区爱av| 亚洲一区二区三区四区五区黄| 久久久久亚洲AV成人网人人小说| 伊人精品成人久久综合软件| 国产一区二区高清视频| 色吧亚洲日本| 夜夜嗨av一区二区三区免费区 | 久久久综合网| 精品国产电影| 香蕉久久免费电影| 在线观看视频亚洲| 国产精品玖玖玖| 亚洲一级不卡视频| 欧美狂猛xxxxx乱大交3| 蜜臀91精品一区二区三区 | 亚洲精品欧美一区二区三区| 婷婷丁香在线| 亚洲精品mp4| 特级西西444www大胆免费看| 中文字幕在线一区| 日韩精品――色哟哟| 亚洲经典在线| 日韩亚洲视频| 欧美中文高清| 欧美一级高清免费播放| www.中文字幕久久久| 日韩一区二区在线观看| 天天综合网入口| 国产精品毛片久久久久久久| 野花视频免费在线观看| 天堂蜜桃91精品| 亚洲免费视频播放| 色哟哟精品丝袜一区二区| 国产精品美女免费看| 四虎影视成人| 国产亚洲人成网站在线观看| av免费观看网址| 91久久线看在观草草青青| 国产色无码精品视频国产| 99国产麻豆精品| 亚洲另类第一页| 亚洲视频1区| 国产欧美综合一区| 亚洲丝袜美腿一区| 亚洲伊人久久综合| 欧美日韩视频免费观看| 欧美日韩国产二区| 岛国在线视频免费看| 亚洲精品在线一区二区| 亚洲视频在线免费播放| 精品国产91久久久久久| av成人免费网站| 久久久精品tv| 97人妻精品一区二区三区免费 | 国产精品视频网站| 2001个疯子在线观看| 久久久国产一区二区| 美女欧美视频在线观看免费 | 欧美69xxxxx| 日韩一区二区三区免费观看 | 欧美www视频| 一道本在线视频| 日本精品一区二区三区四区的功能| 久久精品www| 综合欧美亚洲日本| 国产一二三av| 国产清纯在线一区二区www| 波多野结衣加勒比| 国产成人精品亚洲日本在线桃色| 日本 片 成人 在线| 丝袜美腿亚洲综合| 黄www在线观看| 亚洲国产日本| 老司机激情视频| 在线精品视频在线观看高清| 亚洲国产一区二区三区在线| 精品一区免费| 久久久久久高清| 欧美综合自拍| 激情五月综合色婷婷一区二区| 99re91这里只有精品| 91久久久一线二线三线品牌| 99er精品视频| 91夜夜揉人人捏人人添红杏| 日韩在线电影| 成人激情在线播放| 国产激情一区| 亚洲aⅴ日韩av电影在线观看| 99久久999| 91性高湖久久久久久久久_久久99| 日韩五码电影| 91中文字幕在线观看| 精品成人18| 亚洲影院色无极综合| 日本高清精品| 产国精品偷在线| 好吊妞国产欧美日韩免费观看网站 | 男人天堂成人网| 欧美va亚洲va日韩∨a综合色| 九九久久九九久久| 91久久亚洲| 18岁网站在线观看| 日本亚洲一区二区| 在线视频观看一区二区| 国产精品一区免费视频| 一级黄色电影片| 99久久久无码国产精品| 亚洲av综合一区二区| 欧美极品少妇xxxxⅹ高跟鞋| 国产破处视频在线观看| 亚洲欧美日韩国产综合在线| 久久精品一区二区三| 欧美日韩亚洲国产一区| 免费看日批视频| 欧美日韩精品二区第二页| 国产三级漂亮女教师| 亚洲国产精品人久久电影| 酒色婷婷桃色成人免费av网| 中文字幕亚洲一区二区三区| 国产视频中文字幕在线观看| 久久久久日韩精品久久久男男| 色是在线视频| 成人久久一区二区| 国产精品极品国产中出| 少妇精品久久久久久久久久| 99久久夜色精品国产亚洲96| 国产精品又粗又长| 男人的天堂久久精品| 极品人妻一区二区| 久久久久久夜精品精品免费| 久久久久人妻一区精品色| 亚洲靠逼com| 黄色一级视频免费看| 欧美裸体一区二区三区| 天天操天天干天天爱| 中文国产成人精品| 日本理论片午伦夜理片在线观看| 欧洲日韩成人av| 日韩精品一区二区三区免费视频| 久久99精品久久久久久水蜜桃| 久久影院一区| 水蜜桃色314在线观看| 久久国产精品露脸对白| 亚洲av成人无码一二三在线观看| 国产精品蜜臀av| 国产精品500部| 欧美精品1区2区| 欧洲毛片在线| 欧美大片在线影院| 福利精品一区| 久久青青草综合| 欧美一区二区三区另类| 另类小说色综合| 91在线丨porny丨国产| 国产三级国产精品国产国在线观看| 好吊成人免视频| 精品国产伦一区二区三区| 国产亚洲激情视频在线| 黄毛片在线观看| 99国产超薄肉色丝袜交足的后果| 日本大胆欧美| 成人免费观看视频在线观看| 国产成人午夜高潮毛片| 蜜桃av.com| 欧美三级电影精品| 能在线看的av| 91福利视频网| 免费日韩一区二区三区| av在线免费观看国产| 久久av中文字幕片| www久久久久久久| 一本色道亚洲精品aⅴ| 天堂网av在线播放| 欧美激情视频网| 欧美欧美在线| 欧美 国产 精品| 久久成人免费网| 超碰人人人人人人人| 欧美专区在线观看一区| 都市激情在线视频| 国产精品久久久久久久久久久久久久 | 波多野结衣精品久久| 91精品高清| 亚洲一二三av| 亚洲欧美激情插| 国产视频手机在线观看| 久久夜色精品国产| 精品999日本久久久影院| 91国在线高清视频| 成人小视频免费在线观看| 国产真实的和子乱拍在线观看| 欧美成人一区二区| 丁香花在线电影小说观看| 国产伦精品一区二区三区高清| 亚洲激情国产| 亚洲永久精品ww.7491进入| 色妞www精品视频| 粉嫩av一区| 91欧美精品午夜性色福利在线| 亚洲欧洲日韩| 久久久久久久久久影视| 五月天网站亚洲| 国外av在线| 国产日韩在线一区| 欧美阿v一级看视频| 玖玖爱在线精品视频| 欧美视频免费在线| 最新97超碰在线| 亚洲综合国产精品| 亚洲乱亚洲高清| 制服 丝袜 综合 日韩 欧美| 欧美日韩免费不卡视频一区二区三区 | 免费在线不卡视频| 国产亚洲欧美aaaa| 粉嫩av国产一区二区三区| 欧美日韩视频免费| 91女人视频在线观看| 怡红院成永久免费人全部视频| 久久天天躁狠狠躁夜夜躁| 好吊妞国产欧美日韩免费观看网站| 青青视频在线播放| 国产精品久久久久久亚洲毛片| jlzzjlzz亚洲女人18| 8x拔播拔播x8国产精品| 色偷偷综合网| 亚洲一二三四五| 欧洲亚洲国产日韩| 手机电影在线观看| 日韩av影视| 高清成人在线观看| 性高潮视频在线观看| 欧美激情精品久久久| 成人看的视频| 天天躁日日躁狠狠躁av| 欧美自拍偷拍一区| 黄色aa久久| 久久最新免费视频| 久久伊人蜜桃av一区二区| 国产日韩在线观看一区|