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

K8S實戰:基于k6 + Blackbox Exporter搭建純開源自建Synthetic Monitoring平臺

云計算 云原生
調研后我基于 Blackbox Exporter + Prometheus + k6 + Grafana 構建了一套“主動探測 + 事務腳本 + 性能基線”體系。本文系統記錄設計思路、技術選型、部署清單、指標與告警公式、Dashboard 以及迭代建議,供團隊落地參考。

最近被分配到新的任務,需要做個自建 Synthetic Monitoring,可以在公司現有 Kubernetes 集群內部署、可量化核心互聯網服務的可用性 / 性能 / 證書健康,并支撐 SLO 與誤差預算(Error Budget)管理。調研后我基于 Blackbox Exporter + Prometheus + k6 + Grafana 構建了一套“主動探測 + 事務腳本 + 性能基線”體系。本文系統記錄設計思路、技術選型、部署清單、指標與告警公式、Dashboard 以及迭代建議,供團隊落地參考。

為什么要自建 Synthetic Monitoring

傳統監控(主機指標 / APM / 日志)多是“被動”觀察;Synthetic Monitoring 主動從“用戶視角”定期模擬訪問與事務,以便:

  • ? 及早發現外部依賴或網絡路徑問題
  • ? 驗證上線后關鍵路徑真實可達性與性能基線
  • ? 覆蓋證書、DNS、鏈路抖動、超時等非業務代碼層面的風險
  • ? 將性能與可用性與 SLO/SLA 對齊,量化誤差預算消耗

核心能力拆分:

1. 基礎可達性:HTTP / HTTPS / DNS / TCP / ICMP

2. 復雜事務:登錄、下單、支付、查詢、多接口編排

3. 性能基準:p95 / p99 / 吞吐 / 錯誤率

4. 證書剩余天數、TLS 版本、重定向鏈

5. 全局可觀測:統一指標 → 規則 → 告警 → Dashboard

總體架構

圖片

組件選型

組件

職責

關鍵輸出

Blackbox Exporter

協議級探測 (HTTP/HTTPS/TCP/DNS/ICMP)

probe_* 指標

k6

復雜事務場景 / 負載基準 / 合成事務

http_req_* / checks / 自定義指標

StatsD Exporter (可選)

聚合 k6 指標供 Prometheus 抓取

statsd_metric_*

Prometheus

抓取、記錄、聚合、規則計算

原始 & 錄制指標

Recording Rules

計算可用率、p95 延遲、證書剩余天數等

instance:* 系列

Alert Rules

閾值 & SLO 偏差告警

告警事件

Grafana

可視化與 SLO 看板

圖表 / 單值

Pushgateway (可選)

臨時/批處理腳本上報

自定義 probe 指標

項目搭建(純開源實現)

1.Namespace

apiVersion: v1
kind: Namespace
metadata:
  name: monitoring

2.Blackbox Exporter

apiVersion: v1
kind:ConfigMap
metadata:
name:blackbox-exporter-config
namespace:monitoring
data:
blackbox.yml:|
    modules:
      http_2xx:
        prober: http
        timeout: 5s
        http:
          method: GET
          preferred_ip_protocol: "ip4"
      http_tls:
        prober: http
        timeout: 5s
        http:
          method: GET
          tls_config:
            insecure_skip_verify: false
      tcp_connect:
        prober: tcp
        timeout: 5s
      icmp:
        prober: icmp
        timeout: 3s
      dns_udp:
        prober: dns
        dns:
          query_name: "example.com."
          query_type: "A"
          transport_protocol: "udp"
---
apiVersion:apps/v1
kind:Deployment
metadata:
name:blackbox-exporter
namespace:monitoring
spec:
replicas:1
selector:
    matchLabels:
      app:blackbox-exporter
template:
    metadata:
      labels:
        app:blackbox-exporter
    spec:
      containers:
        -name:blackbox-exporter
          image:prom/blackbox-exporter:v0.25.0
          args:
            ---config.file=/config/blackbox.yml
          ports:
            -containerPort:9115
          resources:
            requests:
              cpu:50m
              memory:64Mi
            limits:
              cpu:200m
              memory:256Mi
          volumeMounts:
            -name:cfg
              mountPath:/config
      volumes:
        -name:cfg
          configMap:
            name:blackbox-exporter-config
---
apiVersion:v1
kind:Service
metadata:
name:blackbox-exporter
namespace:monitoring
spec:
selector:
    app:blackbox-exporter
ports:
    -port:9115
      targetPort: 9115

3.Prometheus(原生部署方式)

apiVersion: v1
kind:ConfigMap
metadata:
name:prometheus-config
namespace:monitoring
data:
prometheus.yml:|
    global:
      scrape_interval: 15s
      evaluation_interval: 30s
    rule_files:
      - /etc/prometheus/rules/*.yml

    scrape_configs:
      -job_name:blackbox_http
        metrics_path:/probe
        params:
          module: [http_2xx]
        static_configs:
          -targets:
            -https://example.com
            -https://grafana.com
        relabel_configs:
          -source_labels: [__address__]
            target_label:__param_target
          -source_labels: [__param_target]
            target_label:instance
          -target_label:__address__
            replacement:blackbox-exporter.monitoring.svc.cluster.local:9115

      -job_name:blackbox_tls
        metrics_path:/probe
        params:
          module: [http_tls]
        static_configs:
          -targets:
            -https://example.com
            -https://k6.io
        relabel_configs:
          -source_labels: [__address__]
            target_label:__param_target
          -source_labels: [__param_target]
            target_label:instance
          -target_label:__address__
            replacement:blackbox-exporter.monitoring.svc.cluster.local:9115

      -job_name:blackbox_icmp
        metrics_path:/probe
        params:
          module: [icmp]
        static_configs:
          -targets:
            -1.1.1.1
            -8.8.8.8
        relabel_configs:
          -source_labels: [__address__]
            target_label:__param_target
          -source_labels: [__param_target]
            target_label:instance
          -target_label:__address__
            replacement:blackbox-exporter.monitoring.svc.cluster.local:9115

      -job_name:k6_statsd
        static_configs:
          -targets: ['statsd-exporter.monitoring.svc.cluster.local:9102']

rules.yml:|
    groups:
      - name: recording_service
        rules:
          - record: instance:probe_availability:ratio
            expr: avg_over_time(probe_success[5m])
          - record: instance:probe_latency_p95:seconds
            expr: histogram_quantile(0.95, sum(rate(probe_duration_seconds_bucket[5m])) by (le, instance))
          - record: instance:probe_tls_cert_days_left
            expr: (probe_ssl_earliest_cert_expiry - time()) / 86400
          - record: job:k6_http_req_p95:seconds
            expr: histogram_quantile(0.95, sum(rate(http_req_duration_bucket[5m])) by (le, test_name))
      - name: alerts_service
        rules:
          - alert: SyntheticHighLatency
            expr: instance:probe_latency_p95:seconds > 0.8
            for: 2m
            labels:
              severity: warning
            annotations:
              summary: "High latency (p95>800ms) {{ $labels.instance }}"
          - alert: SyntheticDown
            expr: instance:probe_availability:ratio < 0.95
            for: 3m
            labels:
              severity: critical
            annotations:
              summary: "Availability <95% {{ $labels.instance }}"
          - alert: CertExpiringSoon
            expr: instance:probe_tls_cert_days_left < 30
            for: 10m
            labels:
              severity: warning
            annotations:
              summary: "TLS cert expires in <30 days {{ $labels.instance }}"
          - alert: CertExpiringCritical
            expr: instance:probe_tls_cert_days_left < 7
            for: 5m
            labels:
              severity: critical
            annotations:
              summary: "TLS cert expires in <7 days {{ $labels.instance }}"
---
apiVersion:apps/v1
kind:Deployment
metadata:
name:prometheus
namespace:monitoring
spec:
replicas:1
selector:
    matchLabels:
      app:prometheus
template:
    metadata:
      labels:
        app:prometheus
    spec:
      containers:
        -name:prometheus
          image:prom/prometheus:v2.53.0
          args:
            ---config.file=/etc/prometheus/prometheus.yml
            ---storage.tsdb.retention.time=15d
            ---storage.tsdb.path=/prometheus
            ---web.enable-lifecycle
          ports:
            -containerPort:9090
          volumeMounts:
            -name:cfg
              mountPath:/etc/prometheus
            -name:data
              mountPath:/prometheus
          resources:
            requests:
              cpu:200m
              memory:512Mi
            limits:
              cpu:1
              memory:2Gi
      volumes:
        -name:cfg
          configMap:
            name:prometheus-config
        -name:data
          emptyDir: {}
---
apiVersion:v1
kind:Service
metadata:
name:prometheus
namespace:monitoring
spec:
ports:
    -port:9090
      targetPort:9090
selector:
    app: prometheus

4.StatsD Exporter(接收 k6 指標)

apiVersion: apps/v1
kind:Deployment
metadata:
name:statsd-exporter
namespace:monitoring
spec:
replicas:1
selector:
    matchLabels:
      app:statsd-exporter
template:
    metadata:
      labels:
        app:statsd-exporter
    spec:
      containers:
        -name:statsd-exporter
          image:prom/statsd-exporter:v0.26.0
          args:
            ---statsd.listen-udp=:9125
            ---web.listen-address=:9102
          ports:
            -name:statsd-udp
              containerPort:9125
              protocol:UDP
            -name:metrics
              containerPort:9102
---
apiVersion:v1
kind:Service
metadata:
name:statsd-exporter
namespace:monitoring
spec:
selector:
    app:statsd-exporter
ports:
    -name:metrics
      port:9102
      targetPort:9102
    -name:statsd-udp
      port:9125
      protocol:UDP
      targetPort: 9125

5.構建支持 StatsD 輸出的 k6(可用官方鏡像)

k6 原生支持 --out statsd。若需 Prometheus Remote Write 可構建擴展(xk6)。這里示例使用 StatsD。

CronJob(周期性事務 + 輕量負載)
apiVersion: batch/v1
kind:CronJob
metadata:
name:k6-synthetic-cron
namespace:monitoring
spec:
schedule:"*/5 * * * *"# 每 5 分鐘運行一次
successfulJobsHistoryLimit:1
failedJobsHistoryLimit:2
jobTemplate:
    spec:
      backoffLimit:0
      template:
        spec:
          restartPolicy:Never
          containers:
            -name:k6
              image:grafana/k6:0.49.0
              args:
                -run
                ---vus
                -"5"
                ---duration
                -"1m"
                ---out
                -statsd=statsd-exporter.monitoring.svc.cluster.local:9125
                -/scripts/synthetic.js
              volumeMounts:
                -name:scripts
                  mountPath:/scripts
          volumes:
            -name:scripts
              configMap:
                name:k6-scripts
---
apiVersion:v1
kind:ConfigMap
metadata:
name:k6-scripts
namespace:monitoring
data:
synthetic.js:|
    import http from 'k6/http';
    import { check, sleep, Trend } from 'k6';

    constloginTrend=newTrend('business_login_duration');
    exportconstoptions= {
      thresholds: {
        http_req_duration: ['p(95)<800'],
        http_req_failed: ['rate<0.02'],
        business_login_duration: ['p(95)<400'],
      },
    };

    exportdefaultfunction() {
      constres=http.get('https://example.com/');
      check(res, {
        'status 200':r=>r.status===200,
        'body non-empty':r=>r.body&&r.body.length>0
      });
      constt0=Date.now();
      //偽造業務邏輯
      sleep(Math.random()*0.2);
      loginTrend.add(Date.now()-t0);
      sleep(1);
    }

6.Grafana

apiVersion: apps/v1
kind:Deployment
metadata:
name:grafana
namespace:monitoring
spec:
replicas:1
selector:
    matchLabels:
      app:grafana
template:
    metadata:
      labels:
        app:grafana
    spec:
      containers:
        -name:grafana
          image:grafana/grafana:10.4.5
          ports:
            -containerPort:3000
          env:
            -name:GF_SECURITY_ADMIN_PASSWORD
              value:"admin123"
---
apiVersion:v1
kind:Service
metadata:
name:grafana
namespace:monitoring
spec:
selector:
    app:grafana
ports:
    -port:3000
      targetPort: 3000

端口轉發調試:

kubectl -n monitoring port-forward svc/grafana 3000:3000

7.Alertmanager(可選最小示例)

apiVersion: v1
kind:ConfigMap
metadata:
name:alertmanager-config
namespace:monitoring
data:
alertmanager.yml:|
    route:
      receiver: default
    receivers:
      - name: default
        webhook_configs:
          - url: http://example-webhook.local/alert
---
apiVersion:apps/v1
kind:Deployment
metadata:
name:alertmanager
namespace:monitoring
spec:
replicas:1
selector:
    matchLabels:
      app:alertmanager
template:
    metadata:
      labels:
        app:alertmanager
    spec:
      containers:
        -name:alertmanager
          image:prom/alertmanager:v0.27.0
          args:
            ---config.file=/etc/alertmanager/alertmanager.yml
          ports:
            -containerPort:9093
          volumeMounts:
            -name:cfg
              mountPath:/etc/alertmanager
      volumes:
        -name:cfg
          configMap:
            name:alertmanager-config
---
apiVersion:v1
kind:Service
metadata:
name:alertmanager
namespace:monitoring
spec:
selector:
    app:alertmanager
ports:
    -port:9093
      targetPort: 9093

Prometheus 添加 Alertmanager(在 prometheus.yml global 下方):

alerting:
  alertmanagers:
    - static_configs:
        - targets: ["alertmanager.monitoring.svc.cluster.local:9093"]

指標設計與公式

1. 可用率(某目標近 5m):[availability_ratio = avg_over_time(probe_success[5m])]

2. p95 探測延遲(Blackbox HTTP):[p95_latency = histogram_quantile(0.95,\ sum(rate(probe_duration_seconds_bucket[5m])) by (le, instance))]

3. 證書剩余天數:[cert_days_left = (probe_ssl_earliest_cert_expiry - time()) / 86400]

4. k6 場景 p95:[k6_http_p95 = histogram_quantile(0.95,\ sum(rate(http_req_duration_bucket[5m])) by (le, test_name))]

5. SLO 剩余誤差預算消耗速率(示例 SLO 99% 可用):[error_rate = 1 - availability_ratio][budget_consumption_rate = error_rate / (1 - 0.99)]

Grafana 儀表盤建議

關鍵面板:

1. 綜合拓撲狀態(Stat + Traffic Light)

2. 可用率單值 + 誤差預算燃盡圖:Query: 1 - instance:probe_availability:ratio

3. HTTP 探測 p95:instance:probe_latency_p95:seconds

4. 證書剩余天數:instance:probe_tls_cert_days_left

5. k6 事務 p95:job:k6_http_req_p95:seconds

6. k6 錯誤率:sum(rate(http_req_failed{test_name!="",} [5m])) / sum(rate(http_reqs[5m]))

7. DNS / TCP 失敗次數:sum(increase(probe_failed_due_to_dns_lookup[15m])) by (instance)

(可將 Dashboard JSON 導出歸檔至 Git 做版本控制)

運維與排障

場景

排查方向

探測全部失敗

Blackbox Exporter Pod / Service / DNS / 網絡策略

延遲突增

Upstream 服務響應、網絡丟包、出口帶寬、限流

證書指標缺失

目標非 TLS、未走 http_tls 模塊

k6 指標缺失

StatsD UDP 丟包(集群間跨節點),可改用 DaemonSet + 本地 NodeLocal

Prometheus OOM

增加 retention 策略,分拆實例或加入 remote_write

告警風暴

增加 for、使用 group_by 聚合、引入 SLO 多窗口或抑制(Alertmanager routes)

成本與優化

? 指標基數控制:采集目標拆分成獨立 job,避免 labels 組合爆炸

? k6 事務腳本合并:減少 CronJob Pod 啟停成本

? 降低 scrape 頻率:對低變動目標 30s~60s

? p95 計算窗口:5m 與 30m 雙 recording,短期波動不直報警

與“被動”監控協同

層次

主動 (Synthetic)

被動 (Metrics/APM/Logs)

入口檢測

外部路徑真實可達

內部組件細粒度指標

證書/DNS

主動提前預警

通常缺失

事務組合

統一腳本

APM Trace 鏈路還原

回滾決策

快速驗證效果

確認內部資源使用健康

最佳實踐:告警分層 —— 外部可用性為頂層觸發,內部指標輔助定位。

最終效果

1. 總覽儀表盤:所有目標可用性狀態(綠/黃/紅)

2. 延遲分布:p50 / p95 / p99 疊加趨勢

3. 事務響應時間階梯圖(k6 Trend)

4. 證書剩余天數 Top 面板 + 低于閾值高亮

5. Error Budget 燃盡曲線

圖片圖片

總結

通過上述方案,你已在 Kubernetes 上構建了:

? 多協議主動可用性探測

? 事務級 & 性能模擬(k6)

? 統一指標采集 / 錄制 / 告警

? 證書、延遲、可用率全鏈路可視化

? 易擴展(多區域、動態目標、SLO 驅動)

如果你也在推進類似體系,歡迎一起交流實踐經驗與 SLO 設計思路。希望本文對你落地自建 Synthetic Monitoring 有幫助。

責任編輯:武曉燕 來源: 云原生SRE
相關推薦

2024-02-01 09:48:17

2023-09-06 08:12:04

k8s云原生

2022-04-22 13:32:01

K8s容器引擎架構

2022-10-10 12:54:00

Flink運維

2023-11-06 01:17:25

主機容器選項

2022-07-18 18:48:32

Kubernetes云原生

2022-05-26 10:19:59

k6性能測試

2023-11-06 07:16:22

WasmK8s模塊

2025-04-17 06:00:00

2023-09-08 08:09:12

k8sservice服務

2023-02-27 07:40:00

2020-08-27 14:59:08

K8sDevOps平臺

2021-11-04 07:49:58

K8SStatefulSetMySQL

2024-03-01 19:59:17

2023-06-08 09:05:55

2023-11-15 13:44:00

k8s-域名日志

2023-03-06 07:19:50

2023-11-27 13:54:00

kubernetes高可用

2023-09-15 08:00:20

Ingress網關Istio

2021-05-07 09:31:33

KindK8s Operator
點贊
收藏

51CTO技術棧公眾號

老司机午夜精品| 中国av一区| 亚洲综合无码一区二区| 国产精品美女久久久久av福利| 久久精品欧美一区二区| 免费av一区二区三区四区| 欧美区视频在线观看| 久久韩剧网电视剧| 亚洲三级在线视频| 亚洲淫成人影院| 亚洲视频小说图片| 久久99精品久久久久久秒播放器| 黄色网址中文字幕| 午夜欧美视频| 中文字幕欧美日韩精品| 亚洲一区和二区| 色成人免费网站| 亚洲最大成人综合| 亚洲精品一区国产精品| 欧美亚洲精品在线观看| 亚洲蜜桃视频| 日韩精品在线视频美女| 日韩欧美亚洲另类| 中国色在线日|韩| 亚洲美女免费视频| 日韩精品国内| 无码国产精品一区二区色情男同| 一本精品一区二区三区| 亚洲乱码一区av黑人高潮| 婷婷激情小说网| 深夜视频一区二区| 五月天丁香久久| 300部国产真实乱| 69久久久久| 99精品国产一区二区三区不卡| 成人免费自拍视频| 青青国产在线视频| 国产日韩欧美一区| 精品小视频在线| 久久久久中文字幕亚洲精品 | 亚洲精品77777| 亚洲精品国产首次亮相| 一区二区在线视频| 中文字幕一区二区三区人妻电影| av日韩精品| 日韩精品一区二区三区swag| 午夜免费一级片| 成人一级视频| 欧洲视频一区二区| 欧美精品第三页| 性欧美1819sex性高清| 欧美日韩免费在线观看| 国产 日韩 亚洲 欧美| 激情在线视频播放| 亚洲一区二区中文在线| 青春草国产视频| 黄色在线播放网站| 亚洲三级电影网站| 日本不卡一区| 91涩漫在线观看| 久久久久综合网| 奇米视频888战线精品播放| 韩国福利在线| 欧美国产日韩在线观看| 日韩黄色影视| 午夜看片在线免费| 中文字幕在线观看一区二区| 一本色道久久综合亚洲精品婷婷 | 国产综合动作在线观看| 亚洲第一免费视频| zzijzzij亚洲日本少妇熟睡| 国产一区二区高清视频| 人妻少妇精品无码专区久久| 成人福利视频在线| 久久本道综合色狠狠五月| 欧美成人综合在线| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 美女免费久久| 亚洲精品视频在线| 日本xxxxxxxxxx75| 日韩中文在线播放| 欧美男同性恋视频网站| 国产美女18xxxx免费视频| 日本国产一区| 亚洲电影在线免费观看| 国产二区视频在线| 吞精囗交69激情欧美| 欧美日韩一区二区欧美激情| 佐山爱在线视频| 色婷婷av一区二区三区丝袜美腿| 欧美美女网站色| 老司机av网站| 亚洲va久久| 久久精品成人欧美大片古装| 久久影院一区二区| 日本成人在线一区| wwwxx欧美| 岛国大片在线观看| 亚洲一区二区三区四区在线| 精品免费国产一区二区| 精品视频91| 欧美精品久久久久久久多人混战 | 亚洲一区二区人妻| 成人午夜精品在线| 亚洲精品高清国产一线久久| 七七久久电影网| 欧美午夜不卡在线观看免费| 大尺度在线观看| 日韩免费av| 91精品国产91久久久久久最新| 影音先锋国产在线| www.视频一区| 成年人视频大全| 99热播精品免费| 日韩精品高清在线| 强行糟蹋人妻hd中文| 日韩国产欧美一区二区三区| 国产精品久久久久免费| 在线观看免费版| 狠狠久久五月精品中文字幕| 三上悠亚 电影| 成人在线电影在线观看视频| 青青久久aⅴ北条麻妃| 久久久久久久国产精品毛片| 免费观看在线综合| 国产精品视频区1| 精品国产青草久久久久96| 粉嫩蜜臀av国产精品网站| 亚洲精品一卡二卡三卡四卡| 少妇视频一区| 精品国产第一区二区三区观看体验| 永久免费观看片现看| 久久久精品日韩| 国产成人欧美在线观看| 成人小说亚洲一区二区三区| 亚洲视频一区二区免费在线观看| 搡女人真爽免费午夜网站| 女一区二区三区| 欧美黑人性视频| 国产av无码专区亚洲av| 亚洲日本护士毛茸茸| 日韩欧美国产片| 日韩成人精品一区二区| 国产精品久久久久久久久久久久| 你懂的视频在线| 黑人欧美xxxx| 在线免费观看日韩av| 午夜精品影院| www.成人av.com| 18video性欧美19sex高清| 日韩欧美区一区二| 免费毛片在线播放免费| 国产91丝袜在线观看| 777久久精品一区二区三区无码| 国产精品久久久久久av公交车| 日韩免费一区二区三区在线播放| 夫妻性生活毛片| 国产麻豆精品久久一二三| 天天综合中文字幕| 国产激情小视频在线| 欧美浪妇xxxx高跟鞋交| 99成人在线观看| 国产精品原创巨作av| 97超碰在线视| 国产精品xxxav免费视频| 国语对白做受69| 男生女生差差差的视频在线观看| 欧美小视频在线| www.桃色.com| 午夜久久福利| 精品国产一区二区三区麻豆小说| 成人欧美大片| 中文字幕视频在线免费欧美日韩综合在线看 | 成人精品一区二区三区免费| 欧美日韩在线播放三区| 四虎永久免费在线| 久久久久国产精品一区二区| 亚洲va韩国va欧美va精四季| 中文字幕资源网在线观看| 色综合亚洲欧洲| 青青草华人在线视频| 国产精品影视在线| 欧美牲交a欧美牲交| 欧美最新另类人妖| 91成人免费看| gogo亚洲高清大胆美女人体| 久久精品电影一区二区| 人妻无码中文字幕免费视频蜜桃| 色天天综合色天天久久| 午夜精品一区二区三区视频| 9l国产精品久久久久麻豆| 欧美精品一区二区三区免费播放| 91精品久久久久久久蜜月| 国产一区二区久久久| 99只有精品| 性欧美xxxx视频在线观看| 都市激情在线视频| 亚洲第一精品自拍| 91theporn国产在线观看| 国产麻豆视频一区二区| 蜜臀av国产精品久久久久| 麻豆成人综合网| 久久亚洲精品中文字幕冲田杏梨| 亚洲乱码精品久久久久..| 亚洲一级一区| 成人动漫在线观看视频| 九九九伊在线综合永久| 久久久视频精品| 快射视频在线观看| 亚洲毛片在线看| av网站免费大全| 欧美日韩在线观看一区二区 | 亚洲精品97久久中文字幕无码| 在线观看av不卡| 午夜影院在线看| 曰韩精品一区二区| 国产3p露脸普通话对白| 天天射综合网视频| 日本在线成人一区二区| 久久aimee| 91国产在线播放| 亚州精品国产| 国产精品18久久久久久麻辣| 国产乱码午夜在线视频| 欧美成人高清视频| 青青青青在线| 在线性视频日韩欧美| 国产美女视频一区二区三区| 日韩电视剧在线观看免费网站| 国内毛片毛片毛片毛片| 在线观看91视频| 国产乱码77777777| 色欧美片视频在线观看| 免费观看成人毛片| 亚洲成人动漫精品| 精品少妇一二三区| 亚洲在线免费播放| 九九热最新地址| 亚洲欧美另类图片小说| 美女av免费看| 国产精品家庭影院| 亚洲毛片亚洲毛片亚洲毛片| 日本一区二区三区免费乱视频 | 国产精品蜜臀在线观看| 久操视频在线观看免费| 久久久久久9999| av女人的天堂| 欧美激情一区二区三区不卡| www成人啪啪18软件| 国产精品国产三级国产普通话蜜臀| 国产毛片欧美毛片久久久| 国产拍欧美日韩视频二区| 欧美午夜激情影院| 国产一区二区三区日韩| 日韩成人av免费| 亚洲精品一级| 久久精品视频16| 香蕉国产精品偷在线观看不卡| 久久综合九色综合88i| 99视频一区| 国产偷人视频免费| 日韩中文字幕av电影| 天天干在线影院| 麻豆成人久久精品二区三区小说| 国内外成人免费在线视频| 久久狠狠亚洲综合| 色黄视频免费看| 不卡视频一二三| 国产亚洲无码精品| 中文幕一区二区三区久久蜜桃| www.xx日本| 夜夜精品浪潮av一区二区三区| 日韩av女优在线观看| 日韩欧美在线视频| 自拍偷拍精品视频| 欧美一级日韩免费不卡| 欧美brazzers| 欧美日韩精品一区二区三区四区 | 久久亚洲春色中文字幕| 欧美家庭影院| 啪一啪鲁一鲁2019在线视频| 日本在线中文字幕一区二区三区| 成人亲热视频网站| 精品无人区一区二区| 水蜜桃一区二区三区| 欧美成人嫩草网站| 精品视频无码一区二区三区| 国模大尺度一区二区三区| 无码任你躁久久久久久老妇| 国产日韩亚洲欧美综合| 强行糟蹋人妻hd中文| 欧美日韩在线第一页| 一区二区日韩视频| 亚洲精品久久久久| 亚洲s色大片| 性色av一区二区三区在线观看| 亚洲日本在线观看视频| a级国产乱理论片在线观看99| 久久93精品国产91久久综合| 中文字幕中文字幕在线中心一区| 亚洲精品三级| 日韩av影视大全| 国产欧美综合在线| 久久久久人妻一区精品色欧美| 欧美主播一区二区三区| 亚洲AV无码一区二区三区性| 一区二区欧美激情| 成av人片在线观看www| 成人av在线亚洲| 国产精品嫩草影院在线看| 少妇一晚三次一区二区三区| 日本女人一区二区三区| 91精品啪在线观看国产| 国产精品美女视频| 天堂av免费在线观看| 精品福利一二区| 99久久精品免费观看国产| 日韩美女免费观看| 欧美黑人巨大videos精品| 水蜜桃在线免费观看| 日本不卡视频在线观看| a视频免费观看| 亚洲成人免费看| 精品久久久无码中文字幕| 色阁综合伊人av| 韩国成人在线| 日本一区视频在线观看免费| 亚洲综合三区| 一区二区三区少妇| 亚洲国产日韩精品| 亚洲精品成人区在线观看| 久久精品国产一区二区三区| 欧美天堂一区| 天天久久人人| 日韩有码一区二区三区| 在线观看福利片| 色综合中文字幕| 女人天堂在线| 国产精品国产福利国产秒拍| 国产精品亚洲二区| 久久人妻精品白浆国产| 久久一区二区三区国产精品| 自拍偷拍亚洲天堂| 精品成人国产在线观看男人呻吟| 国产小视频一区| 久久久亚洲成人| 黄色欧美在线| 人人妻人人添人人爽欧美一区| av在线综合网| 久久久久久久久影院| 精品中文字幕久久久久久| 午夜影院在线播放| 欧美亚洲国产免费| 日韩av不卡在线观看| 亚洲av熟女国产一区二区性色| 欧美日韩在线三区| 国产美女在线观看| 99久久精品无码一区二区毛片| 欧美日韩一视频区二区| 蜜臀av粉嫩av懂色av| 岛国av一区二区| 国产三区四区在线观看| 国产日韩换脸av一区在线观看| 91一区二区三区四区| 欧美色图校园春色| 亚洲一区成人在线| 三级视频在线播放| 伦伦影院午夜日韩欧美限制| 美女精品久久| 免费不卡av在线| 日本一区二区免费在线| 91亚洲视频在线观看| 欧美另类高清videos| 美女福利一区| 亚洲精品一二三四五区| 成人欧美一区二区三区| 午夜久久久久久噜噜噜噜| 午夜精品一区二区三区在线视| 国产不卡av一区二区| 日韩中文字幕a| 亚洲国产日韩在线一区模特| 国产午夜精品一区理论片| 成人黄色av网站| 一本色道久久综合亚洲精品高清| 国产传媒国产传媒| 日韩精品综合一本久道在线视频| 国产精品原创| 国产成人精品免费看在线播放 | 中中文字幕av在线| 欧美人xxxxx| 国产在线一区二区| 国产精品久久久久久99| 久久久av免费| 免费成人高清在线视频theav| 999久久久精品视频| 欧美日韩在线视频一区| 黄色在线免费网站| 日本视频精品一区| 国产成人精品免费在线| 性高潮视频在线观看|