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

解讀Kubernetes常見(jiàn)退出碼

云計(jì)算 云原生
在Linux系統(tǒng)中,進(jìn)程退出碼的使用與Unix系統(tǒng)類似。Linux繼承了Unix的進(jìn)程管理機(jī)制,并在其基礎(chǔ)上進(jìn)行了擴(kuò)展和改進(jìn)。因此,Linux中的進(jìn)程退出碼仍然是一個(gè)重要的概念,用于幫助理解和診斷進(jìn)程的執(zhí)行狀態(tài)。
本文轉(zhuǎn)載自微信公眾號(hào)「DCOS」,作者zouyee。轉(zhuǎn)載本文請(qǐng)聯(lián)系DCOS公眾號(hào)。

一、退出碼歷史

退出碼的歷史可以追溯到Unix操作系統(tǒng)的早期。在Unix系統(tǒng)中,進(jìn)程退出碼是進(jìn)程終止時(shí)向其父進(jìn)程傳遞的一個(gè)整數(shù)值,用于表示進(jìn)程的終止?fàn)顟B(tài)。這個(gè)整數(shù)值通常在0到255之間,其中0表示進(jìn)程成功終止,其他值通常用來(lái)表示不同的錯(cuò)誤或異常情況。

進(jìn)程退出碼最初被設(shè)計(jì)用于提供一種簡(jiǎn)單的機(jī)制,使父進(jìn)程能夠了解子進(jìn)程的執(zhí)行結(jié)果。這使得父進(jìn)程能夠根據(jù)子進(jìn)程的退出碼來(lái)采取適當(dāng)?shù)男袆?dòng),比如處理錯(cuò)誤情況或繼續(xù)執(zhí)行其他操作。

在Unix系統(tǒng)中,特定的退出碼值通常具有特定的含義,例如:

  • 0:表示成功執(zhí)行,沒(méi)有錯(cuò)誤。
  • 1:通常表示通用的錯(cuò)誤。
  • 2:表示命令的語(yǔ)法錯(cuò)誤。
  • 127:表示命令未找到。

隨著時(shí)間的推移,Unix操作系統(tǒng)的發(fā)展和不同的實(shí)現(xiàn),進(jìn)程退出碼的含義可能有所不同,但基本的概念保持不變。

在Linux系統(tǒng)中,進(jìn)程退出碼的使用與Unix系統(tǒng)類似。Linux繼承了Unix的進(jìn)程管理機(jī)制,并在其基礎(chǔ)上進(jìn)行了擴(kuò)展和改進(jìn)。因此,Linux中的進(jìn)程退出碼仍然是一個(gè)重要的概念,用于幫助理解和診斷進(jìn)程的執(zhí)行狀態(tài)。

進(jìn)程退出碼的歷史可以追溯到早期的Unix系統(tǒng),是Unix和Linux操作系統(tǒng)中的一個(gè)重要概念,為進(jìn)程間通信提供了一種簡(jiǎn)單而有效的機(jī)制。當(dāng)應(yīng)用程序或命令因致命錯(cuò)誤而終止或執(zhí)行失敗時(shí),將產(chǎn)生 128 系列退出碼(128+n),其中 n 為信號(hào)編號(hào)。n 包括所有類型的終止代碼,如 SIGTERM、SIGKILL 等。

二、退出碼 127

退出碼 127 不是特定于 Kubernetes 的錯(cuò)誤代碼,而是 Linux 和類 Unix 操作系統(tǒng)中使用的標(biāo)準(zhǔn)退出碼。當(dāng)然,我們?cè)贙ubernetes中經(jīng)常看到它,并且通常表示容器內(nèi)執(zhí)行的命令或二進(jìn)制文件找不到。

一些標(biāo)準(zhǔn)的退出碼包括:

圖片圖片

常見(jiàn)原因

讓我們看一下退出碼 127 的一些常見(jiàn)原因:

  1. 命令或二進(jìn)制文件未安裝Kubernetes 容器的 command 字段中指定的可執(zhí)行文件未安裝在容器的文件系統(tǒng)中。需要確保所需的二進(jìn)制文件或命令可用。
  2. 路徑或命令不正確Pod 定義中指定的命令不正確或在指定的路徑中不存在。這是錯(cuò)誤的最常見(jiàn)原因之一,通常是由于 Dockerfile 或 pod  spec中的entrypoint或command輸入不正確造成的。
  3. 缺少依賴在容器內(nèi)運(yùn)行的應(yīng)用程序或腳本未安裝相關(guān)依賴。需要確保所有必需的依賴項(xiàng)包含在容器映像中。
  4. shell 解釋器如果指定了腳本作為命令,需要確保腳本有效 (例如#!/bin/bash),且在容器中可用。
  5. shell 腳本語(yǔ)法錯(cuò)誤如果 shell 腳本退出碼是127,請(qǐng)檢查腳本是否存有語(yǔ)法錯(cuò)誤或可能阻止其執(zhí)行的問(wèn)題。
  6. 權(quán)限不足在容器內(nèi)運(yùn)行命令的用戶可能沒(méi)有執(zhí)行指定命令所需的必要權(quán)限。確保容器以適當(dāng)?shù)奶貦?quán)運(yùn)行。
  7. 鏡像兼容性問(wèn)題確保使用的容器鏡像與宿主機(jī)架構(gòu)和操作系統(tǒng)兼容。不匹配的映像可能導(dǎo)致命令找不到,比如x86的鏡像運(yùn)行在arm的機(jī)器上
  8. 卷掛載如果命令是卷掛載的文件,請(qǐng)檢查卷掛載是否配置正確,且所需的文件可以被訪問(wèn)到。
  9. 環(huán)境變量一些命令可能依賴于特定的環(huán)境變量。確保必需的環(huán)境變量設(shè)置正確。
  10. Kubernetes RBAC 策略 如果啟用了RBAC,需要確保具有執(zhí)行指定命令所需的權(quán)限。

如何排查

要排除問(wèn)題,可以使用以下命令檢查 Pod 的日志:

kubectl logs -f <pod-name>

還可以檢查 Pod 狀態(tài),該狀態(tài)提供有關(guān) Pod 的詳細(xì)信息,包括其當(dāng)前狀態(tài)、最近事件和任何錯(cuò)誤消息。

kubectl describe pod <pod-name>

還可以為把調(diào)試容器attach到Pod 中,該容器包括一個(gè) shell(例如 BusyBox)。這允許您進(jìn)入容器并手動(dòng)檢查環(huán)境、路徑和命令的可用性。

使用 BusyBox 進(jìn)行調(diào)試的示例:

containers:
  - name: my-container
    image: my-image:latest
    command: ["/bin/sleep", "infinity"]
  - name: debug-container
    image: busybox:latest
    command: ["/bin/sh"]
    tty: true
    stdin: true

如果是高版本K8s,也可以使用Ephemeral Containers,它就是一個(gè)臨時(shí)容器。這是一個(gè)自Kubernetes v1.16中作為alpha引入的新功能,啟用臨時(shí)容器的特性也非常簡(jiǎn)單,在kubernetes v1.16之后的版本中將啟動(dòng)參數(shù)--feature-gates=EphemeralCnotallow=true配置到kube-api和kubelet服務(wù)上重啟即可。

通過(guò)仔細(xì)查看日志并排查上述幾個(gè)方向,應(yīng)該能夠確定退出碼 127 問(wèn)題的原因。

如何修復(fù)

我們知道了退出碼 127 的常見(jiàn)原因以及排查方式,現(xiàn)在讓我們看看如何修復(fù)它們。

  1. 命令或二進(jìn)制文件未安裝

如果所需的命令或二進(jìn)制文件丟失,則可能需要在容器鏡像中安裝。修改 Dockerfile 或構(gòu)建過(guò)程安裝所需軟件。

示例:

FROM alpine:latest 
RUN apk --no-cache add <package-name>
  1. 路徑或命令不正確

在 Pod 定義中指定命令時(shí),考慮使用二進(jìn)制文件的絕對(duì)路徑。這有助于確保不受當(dāng)前工作目錄的影響, runtime可以找到二進(jìn)制文件。

示例:

containers:
  - name: my-container
    image: my-image:latest
    command: ["/usr/local/bin/my-command"]
  1. 缺少依賴項(xiàng)

導(dǎo)致命令無(wú)法運(yùn)行的原因可能是容器鏡像需要安裝額外的軟件。如果命令需要額外的設(shè)置或安裝步驟,可以使用init容器在主容器啟動(dòng)之前執(zhí)行這些任務(wù)。

示例(使用init容器安裝軟件包):

initContainers:
  - name: install-package
    image: alpine:latest
    command: ["apk", "--no-cache", "add", "<package-name>"]
    volumeMounts:
    - name: shared-data
      mountPath: /data
  1. shell解釋器

如果指定了腳本作為命令,需要確保腳本有效 (例如#!/bin/bash),且在容器中可用。

示例:

#!/bin/bash
  1. 卷掛載

檢查Pod的配置,確保卷已正確掛載。驗(yàn)證卷名稱、掛載路徑和 subPaths是否正確。

示例:

volumes:
  - name: my-volume
    emptyDir: {}
containers:
  - name: my-container
    image: my-image:latest
    volumeMounts:
    - name: my-volume
      mountPath: /path/in/container

同時(shí)我們需要確認(rèn)Pod 定義指定的卷存在且可用。如果是持久卷(PV),需要檢查其狀態(tài)。如果是 emptyDir 或其他類型的卷,需要驗(yàn)證其是否正確創(chuàng)建和掛載。如果在卷掛載中使用了 subPaths,需要確保源目錄或文件中存在指定的 subPaths。

示例:

volumeMounts:
  - name: my-volume
    mountPath: /path/in/container
    subPath: my-file.txt

三、退出碼 137

在Kubernetes中,137退出碼表示進(jìn)程被強(qiáng)制終止。在Unix和Linux系統(tǒng)中,當(dāng)進(jìn)程由于信號(hào)而終止時(shí),退出碼由信號(hào)編號(hào)加上128確定。信號(hào)編號(hào)為9,意味著“SIGKILL”,因此將9加上128,得到137退出碼。

當(dāng)Kubernetes集群中容器超出其內(nèi)存限制時(shí),它可能會(huì)被Kubernetes系統(tǒng)終止,并顯示“OOMKilled”錯(cuò)誤,這表示進(jìn)程因內(nèi)存不足而被終止。此錯(cuò)誤的退出碼為137OOM代表“內(nèi)存耗盡(out-of-memory)”。

如果Pod狀態(tài)將顯示為“OOMKilled”,你可以使用以下命令查看:

kubectl describe pod <podname>

OOMKiller

OOMKiller是Linux內(nèi)核中的一種機(jī)制,它負(fù)責(zé)通過(guò)終止消耗過(guò)多內(nèi)存的進(jìn)程來(lái)防止系統(tǒng)耗盡內(nèi)存。當(dāng)系統(tǒng)內(nèi)存耗盡時(shí),內(nèi)核會(huì)調(diào)用OOMKiller來(lái)選擇一個(gè)要終止的進(jìn)程,以釋放內(nèi)存并保持系統(tǒng)運(yùn)行。

內(nèi)核中有兩種不同的OOM Killer;一種是全局的OOM Killer,另一種是基于cgroup內(nèi)存控制器的OOM Killer,可以是cgroup v1或cgroup v2。

簡(jiǎn)單來(lái)說(shuō)是,當(dāng)內(nèi)核在分配物理內(nèi)存頁(yè)面時(shí)遇到問(wèn)題時(shí),全局的OOM Killer 會(huì)觸發(fā)。當(dāng)內(nèi)核嘗試分配內(nèi)存頁(yè)面(無(wú)論是用于內(nèi)核使用還是用于需要頁(yè)面的進(jìn)程),并且最初失敗時(shí),它將嘗試各種方式來(lái)回收和整理內(nèi)存。如果這種嘗試成功或者至少取得了一些進(jìn)展,內(nèi)核將繼續(xù)重試分配;如果無(wú)法釋放頁(yè)面或者取得進(jìn)展,在許多情況下它將觸發(fā)OOM Killer。

一旦OOMKiller選擇要終止的進(jìn)程,它會(huì)向該進(jìn)程發(fā)送信號(hào),要求其優(yōu)雅地終止。如果進(jìn)程不響應(yīng)信號(hào),則內(nèi)核會(huì)強(qiáng)制終止該進(jìn)程并釋放其內(nèi)存。

注意:由于內(nèi)存問(wèn)題而被終止的Pod不一定會(huì)被節(jié)點(diǎn)驅(qū)逐,如果其設(shè)置的重啟策略設(shè)置為“Always”,它將嘗試重新啟動(dòng)Pod。

在系統(tǒng)層面,Linux內(nèi)核為運(yùn)行在主機(jī)上的每個(gè)進(jìn)程維護(hù)一個(gè)oom_score。進(jìn)程被終止的機(jī)率取決于分?jǐn)?shù)有多高。

oom_score_adj值允許用戶自定義OOM進(jìn)程,并定義何時(shí)應(yīng)終止進(jìn)程。Kubernetes在定義Pod的Quality of Service(QoS)時(shí)使用oom_score_adj值。

K8s針對(duì)Pod定義了三種QoS,每個(gè)類型具有對(duì)應(yīng)的oom_score_adj值:

  • Guaranteed: -997
  • BestEffort: 1000
  • Burstable: min(max(2, 1000 — (1000 * memoryRequestBytes) / machineMemoryCapacityBytes), 999)

其中Pod為Guaranteed QoS,則其oom_score_adj的值是-997,因此它們?cè)诠?jié)點(diǎn)內(nèi)存不足時(shí)最后一個(gè)被終止。BestEffort Pod配置的是1000,所以它們第一個(gè)被被終止。

要查看Pod的QoS,可以通過(guò)下述命令:

kubectl get pod -o jsnotallow='{.status.qosClass}'

下面是定義PodGuaranteed QoS 類型的計(jì)算策略:

  • Pod 中的每個(gè)容器必須有內(nèi)存 limit 和內(nèi)存 request。
  • 對(duì)于 Pod 中的每個(gè)容器,內(nèi)存 limit 必須等于內(nèi)存 request。
  • Pod 中的每個(gè)容器必須有 CPU limit 和 CPU request。
  • 對(duì)于 Pod 中的每個(gè)容器,CPU limit 必須等于 CPU request。

退出碼137通常有兩種情況:

1. 最常見(jiàn)的原因是與資源限制相關(guān)。通常情況下,Kubernetes超出了容器的分配內(nèi)存限制。

   2. 另一種情況是手動(dòng)干預(yù) - 用戶或腳本可能會(huì)向容器進(jìn)程發(fā)送“SIGKILL”信號(hào),導(dǎo)致此退出碼。

如何排查

  1. 檢查Pod日志

診斷OOMKilled錯(cuò)誤的第一步是檢查Pod日志,查看是否有任何內(nèi)存相關(guān)的錯(cuò)誤消息。

kubectl describe pod <podname>
State:          Running
       Started:      Fri, 12 May 2023 11:14:13 +0200
       Last State:   Terminated
       Reason:       OOMKilled
       Exit Code:    137
       ...

您還可以查詢Pod日志:

cat /var/log/pods/<podname>

當(dāng)然也可以通過(guò)(標(biāo)準(zhǔn)輸出)

kubectl logs -f <podname>
  1. 監(jiān)視內(nèi)存使用情況

使用監(jiān)視系統(tǒng)(如Prometheus或Grafana)監(jiān)視Pod和容器中的內(nèi)存使用情況。這可以幫助我們排查出哪些容器消耗了過(guò)多的內(nèi)存從而觸發(fā)了OOMKilled錯(cuò)誤,同時(shí)也可以在容器宿主機(jī)使用dmesg查看當(dāng)時(shí)oomkiller的現(xiàn)場(chǎng)

  1. 使用內(nèi)存分析器

使用內(nèi)存分析器(如pprof)來(lái)識(shí)別可能導(dǎo)致過(guò)多內(nèi)存使用的內(nèi)存泄漏或低效代碼。

如何修復(fù)

以下是OOMKilled Kubernetes錯(cuò)誤的常見(jiàn)原因及其解決方法。

  1. 容器內(nèi)存限制已達(dá)到

這可能是由于在容器指定的內(nèi)存限制值設(shè)置不當(dāng)導(dǎo)致的。解決方法是增加內(nèi)存限制的值,或者調(diào)查導(dǎo)致負(fù)載增加的根本原因并進(jìn)行糾正。導(dǎo)致這種情況的常見(jiàn)原因包括大文件上傳,因?yàn)樯蟼鞔笪募赡軙?huì)消耗大量?jī)?nèi)存資源,特別是當(dāng)多個(gè)容器在一個(gè)Pod內(nèi)運(yùn)行時(shí),以及突然增加的流量量。

  1. 因?yàn)閼?yīng)用程序內(nèi)存泄漏,容器內(nèi)存使用達(dá)到上限

需要調(diào)試應(yīng)用程序來(lái)定位內(nèi)存泄漏的原因,

  1. 所有Pod使用的總內(nèi)存大于節(jié)點(diǎn)可用內(nèi)存

通過(guò)增加節(jié)點(diǎn)可用內(nèi)存來(lái)增加節(jié)點(diǎn)內(nèi)存,或者將Pod遷移到內(nèi)存更多的節(jié)點(diǎn)。當(dāng)然也可以調(diào)整運(yùn)行在節(jié)點(diǎn)上的Pod的內(nèi)存限制,使其符合內(nèi)存限制,注意你還應(yīng)該注意內(nèi)存請(qǐng)求設(shè)置,它指定了Pod應(yīng)該使用的最小內(nèi)存量。如果設(shè)置得太高,可能不是有效利用可用內(nèi)存,關(guān)于資源配置相關(guān)的建議,可以參看VPA組件

在調(diào)整內(nèi)存請(qǐng)求和限制時(shí),當(dāng)節(jié)點(diǎn)過(guò)載時(shí),Kubernetes按照以下優(yōu)先級(jí)順序終止Pod:

  • 沒(méi)有請(qǐng)求或限制的Pod。
  • 具有請(qǐng)求但沒(méi)有限制的Pod。
  • 使用超過(guò)其內(nèi)存請(qǐng)求值的內(nèi)存 - 指定的最小內(nèi)存值 - 但低于其內(nèi)存限制的Pod。
  • 使用超過(guò)其內(nèi)存限制的Pod。

如何預(yù)防

有幾種方法可以防止OOMKilled的發(fā)生:

  1. 設(shè)置適當(dāng)?shù)膬?nèi)存限制

通過(guò)壓測(cè)及監(jiān)控來(lái)確定應(yīng)用程序的內(nèi)存使用,通過(guò)上述方式配置容器允許使用的最大內(nèi)存量。過(guò)度保守可能會(huì)導(dǎo)致因資源利用率低效而造成資金的浪費(fèi),同時(shí)低估會(huì)導(dǎo)致頻繁出現(xiàn)OOMKilled現(xiàn)象。

  1. HPA

最佳做法是利用K8s提供的HPA機(jī)制,當(dāng)應(yīng)用程序的內(nèi)存使用升高時(shí)自動(dòng)增加Pod副本數(shù)量。

  1. 節(jié)點(diǎn)資源分配

確保節(jié)點(diǎn)具有足夠的資源來(lái)處理業(yè)務(wù)。

  1. 優(yōu)化應(yīng)用程序內(nèi)存使用

監(jiān)視應(yīng)用程序并進(jìn)行適當(dāng)優(yōu)化,以減少內(nèi)存消耗。

  1. 避免應(yīng)用程序中的內(nèi)存泄漏

從應(yīng)用程序來(lái)看,需要長(zhǎng)期檢查并修復(fù)內(nèi)存泄漏。

由于筆者時(shí)間、視野、認(rèn)知有限,本文難免出現(xiàn)錯(cuò)誤、疏漏等問(wèn)題,期待各位讀者朋友、業(yè)界專家指正交流。

參考文獻(xiàn)

1. https://spacelift.io/blog/oomkilled-exit-code-137

2. https://spacelift.io/blog/exit-code-127

3. https://cloud.tencent.com/developer/news/1152344

4. https://utcc.utoronto.ca/~cks/space/blog/linux/OOMKillerWhen

本文轉(zhuǎn)載自微信公眾號(hào)「 DCOS」,作者「DCOS」,可以通過(guò)以下二維碼關(guān)注。

轉(zhuǎn)載本文請(qǐng)聯(lián)系「DCOS」公眾號(hào)。

責(zé)任編輯:武曉燕 來(lái)源: DCOS
相關(guān)推薦

2022-07-29 10:01:50

Docker退出碼

2022-05-05 11:20:08

KubernetesDocker云計(jì)算

2021-10-26 10:28:41

開(kāi)發(fā)架構(gòu)Kubernetes

2023-08-03 17:08:05

Linux退出碼

2022-01-07 16:24:30

Kubernetes容器平臺(tái)

2019-06-21 15:29:26

Kubernetes網(wǎng)絡(luò)標(biāo)準(zhǔn)容器

2010-03-05 10:47:05

Python futu

2011-05-20 09:40:16

ADSL撥號(hào)錯(cuò)誤代碼

2011-05-20 09:48:56

ADSL撥號(hào)錯(cuò)誤代碼

2019-06-18 07:12:25

驗(yàn)證碼漏洞加密

2020-05-29 14:30:35

Kubernetes開(kāi)發(fā)錯(cuò)誤

2009-12-21 13:37:43

WCF消息交換

2025-02-26 10:49:14

2022-05-24 10:36:45

云原生容器應(yīng)用

2013-06-19 10:19:59

2022-10-19 23:18:27

KubernetesPod錯(cuò)誤

2023-12-22 16:48:00

Kubernetes容器集群

2018-11-18 16:31:14

Kubernetes監(jiān)控容器

2024-01-18 10:27:21

Wi-Fi 6

2022-06-01 12:00:54

HTTP狀態(tài)碼服務(wù)端
點(diǎn)贊
收藏

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

一区二区av| 国产999精品视频| 黄色av电影网站| 在线观看欧美日韩电影| 国产精品三级视频| 成人国产1314www色视频| 五月婷婷开心网| 日本一区二区在线看| 日韩欧美国产综合| 日韩免费毛片视频| 精品孕妇一区二区三区| av毛片久久久久**hd| 国产精品视频导航| 国产一级视频在线| 欧美h版在线| 亚洲国产精彩中文乱码av在线播放| 妓院一钑片免看黄大片| 国产理论电影在线| 中文字幕日本不卡| 久久久久久久久一区| 国产农村妇女毛片精品久久| 一区二区日本视频| 欧美成人在线免费| jizz中文字幕| 日本在线中文字幕一区| 欧美一区二区三区免费| 欧美国产日韩在线播放| √最新版天堂资源网在线| 国产精品国产三级国产a| 玛丽玛丽电影原版免费观看1977 | 国自产拍偷拍福利精品免费一 | 黄色在线观看网站| 国产亚洲综合色| 精品久久久久久亚洲| 精品人妻av一区二区三区| 蜜桃视频第一区免费观看| 国产91精品高潮白浆喷水| 国产一级片久久| 欧美一区二区三区久久精品茉莉花| 在线观看91久久久久久| aaaaa一级片| 里番精品3d一二三区| 日韩欧美成人激情| 午夜免费视频网站| 国产精品777777在线播放| 欧美视频中文字幕| 欧美日韩在线观看不卡| 成人影院网站| 一本久道久久综合中文字幕| 乱妇乱女熟妇熟女网站| 77thz桃花论族在线观看| 亚洲综合成人在线视频| 久久男人资源站| 国产蜜臀一区二区打屁股调教| 亚洲黄色尤物视频| 国产真实老熟女无套内射| 午夜伦理大片视频在线观看| 一区二区三区蜜桃网| 黄色一级片av| 欧美理论片在线播放| 亚洲福利视频三区| av黄色在线网站| 粉嫩一区二区三区| 欧美亚洲自拍偷拍| 国产美女18xxxx免费视频| 色综合久久久| 日韩视频在线你懂得| 欧美人与性动交α欧美精品| 国产一区二区三区亚洲综合| 欧美videos大乳护士334| 免费黄色a级片| 香蕉久久精品日日躁夜夜躁| 亚洲欧美在线磁力| 成年人网站在线观看视频| 欧美.日韩.国产.一区.二区| 欧美黑人性猛交| 国产视频91在线| 天堂午夜影视日韩欧美一区二区| 国产精品小说在线| 亚洲a视频在线观看| 99久久99久久精品免费观看| 欧美中文娱乐网| 男人的天堂在线视频免费观看 | 国产日韩欧美亚洲| 久久免费视频2| mm视频在线视频| 91成人免费在线视频| 免费精品99久久国产综合精品应用| 国产精品久久久久久av公交车| 亚洲国产成人精品女人久久久 | 国产字幕视频一区二区| 日本精品免费一区二区三区| 91国产精品一区| 成人短视频下载| 神马影院一区二区三区| 污视频在线看网站| 日本精品一区二区三区高清| 亚洲精品无码久久久久久久| 日本国产精品| 欧美久久久精品| 精品久久久久久久久久久久久久久久久久 | 日韩在线综合网| 欧洲亚洲精品久久久久| 亚洲国产婷婷香蕉久久久久久 | 日韩欧美精品一区| 午夜免费日韩视频| 国产精品一区二区人人爽| 91麻豆福利精品推荐| 香蕉视频免费版| 精品欧美日韩精品| 精品成a人在线观看| 刘亦菲国产毛片bd| 午夜宅男久久久| 超碰97在线播放| 免费av网站在线观看| 欧美日韩亚洲视频| 日本一区二区免费视频| 91综合在线| 国产成人精品免高潮在线观看| 亚洲精品久久久蜜桃动漫| 国产精品久久久久久久久搜平片 | 91日韩在线专区| 日韩视频 中文字幕| 日本免费成人| 深夜成人在线观看| 精人妻无码一区二区三区| 成人性视频网站| 一区中文字幕在线观看| jizz亚洲女人高潮大叫| 国产视频久久网| 亚洲天堂精品一区| 国产视频一区二区| 色88888久久久久久影院按摩 | 亚洲毛片在线看| 激情综合网五月天| 国产剧情一区在线| 亚洲一区二区三区精品在线观看| 欧美大片免费| 日韩精品有码在线观看| 国产精品999久久久| 国产呦萝稀缺另类资源| 香蕉精品视频在线| 伊人久久大香| 久久久精品视频成人| 一级片视频网站| 国产精品久久久久久久久图文区| 在线观看免费黄网站| 波多野结衣一区| 国产精品男人的天堂| 99视频在线观看地址| 在线观看www91| 男人天堂资源网| 久久国产人妖系列| 欧美日韩亚洲国产成人| 国产精品一区二区三区www| 久久影视电视剧免费网站| 国产农村妇女毛片精品久久| 一区二区三区在线免费视频| 波多野结衣免费观看| 女同性一区二区三区人了人一| 99re视频在线| 99热99re6国产在线播放| 日韩av在线网| 国产免费a视频| 国产精品国产精品国产专区不蜜 | 中文字幕成人| 久青草国产97香蕉在线视频| www.五月激情| 午夜日韩在线电影| 国产av自拍一区| 久久er精品视频| 日本天堂免费a| 欧美黑人巨大videos精品| 国产999在线观看| 免费黄色网页在线观看| 欧美一区二区精品在线| 天天操天天爽天天干| 久久精品一区四区| 午夜精品免费看| 伊人精品视频| 亚洲 日韩 国产第一区| 精品视频一区二区三区在线观看| 欧美激情精品久久久久久大尺度| 亚洲人午夜射精精品日韩| 欧美视频在线一区| 亚洲av无码一区二区三区在线| 成人毛片在线观看| 日韩精品免费播放| 欧美激情一级片一区二区| 精品一区日韩成人| av在线国产精品| 91精品国产色综合| 欧美69xxxx| 日韩成人在线观看| 国产又粗又猛又爽又黄的视频一| 亚洲电影在线播放| 91动漫免费网站| 97精品久久久午夜一区二区三区| 欧美男女交配视频| 夜夜精品视频| 老司机av福利| 国产精品一在线观看| 亚洲一区二区在线| 日韩av免费| 91精品国产成人www| 麻豆传媒视频在线观看免费| 国产视频久久久| 国产成人无码www免费视频播放| 色婷婷国产精品综合在线观看| 欧美日韩在线观看成人| 国产精品乱人伦| 少妇毛片一区二区三区| 国产电影一区在线| 欧美成人三级在线播放| 亚洲综合日韩| 91成人综合网| 日韩精品不卡一区二区| 久久综合福利| 粉嫩久久久久久久极品| 91在线播放国产| 成人看片网页| 欧美一级大胆视频| 97蜜桃久久| 欧美激情亚洲国产| 成人av免费| 日韩中文视频免费在线观看| 国产精品一区二区婷婷| 亚洲精品视频二区| 天天操天天操天天干| 欧美不卡视频一区| 国产美女免费看| 欧美猛男男办公室激情| 瑟瑟视频在线免费观看| 欧洲精品一区二区| 中文字幕xxxx| 欧美伊人精品成人久久综合97| 欧美日韩一级黄色片| 狠狠躁18三区二区一区| 国产情侣在线视频| 亚洲成年人网站在线观看| 久久国产在线观看| 依依成人精品视频| 免费麻豆国产一区二区三区四区| 1000精品久久久久久久久| 一级免费黄色录像| **网站欧美大片在线观看| 久久成人小视频| ...xxx性欧美| 久久久久久福利| 亚洲一区二区av电影| 麻豆91精品91久久久| 亚洲一区二区三区四区在线免费观看| 欧美性猛交xxxxx少妇| 亚洲综合视频在线| 国产性xxxx高清| 一本一道久久a久久精品综合蜜臀| 亚洲另类欧美日韩| 色狠狠av一区二区三区| 国产三级理论片| 91精品国产手机| 亚洲高清视频在线播放| 亚洲国产天堂久久综合网| 日韩成人黄色| 中文字幕v亚洲ⅴv天堂| 巨大荫蒂视频欧美另类大| 九九视频这里只有精品| 91丝袜在线| 日韩美女在线看| 色999韩欧美国产综合俺来也| 亚洲精品欧美极品| 黄色免费大全亚洲| 日韩电影免费观看高清完整| 国产精品久久久久9999赢消| av动漫在线免费观看| 亚洲深夜av| 三级在线免费看| 国产一区欧美二区| 日韩www视频| 国产精品婷婷午夜在线观看| 黄色一级视频免费观看| 精品久久中文字幕久久av| 波多野结衣电车痴汉| 欧美一区二区黄| 日夜干在线视频| 日韩在线资源网| 少妇淫片在线影院| 成人观看高清在线观看免费| 高清一区二区三区| 亚洲精品成人a8198a| 一区视频在线看| 一区二区三区 欧美| 成人午夜精品一区二区三区| 国产jk精品白丝av在线观看| 亚洲免费在线观看视频| 少妇太紧太爽又黄又硬又爽| 69精品人人人人| 日韩精品视频无播放器在线看 | 日韩av免费| 国产精品二区在线| 日韩免费久久| 久久美女福利视频| 国产精品88av| 亚洲色图第四色| 精品免费在线观看| 国产又黄又粗又长| 亚洲女同性videos| 女人天堂av在线播放| 国产精品伦子伦免费视频| 嗯用力啊快一点好舒服小柔久久| 亚洲精品视频一区二区三区| 日韩午夜免费视频| 亚洲综合中文网| 国产精品福利一区二区| 99re国产在线| 精品一区电影国产| hd国产人妖ts另类视频| 91牛牛免费视频| 第一sis亚洲原创| 久久久久久久久久久免费视频| 粉嫩aⅴ一区二区三区四区五区| 国产3级在线观看| 在线亚洲欧美专区二区| 手机看片福利永久| 欧美激情网站在线观看| 麻豆国产一区| 国产麻豆电影在线观看| 青青草成人在线观看| 男生草女生视频| 欧美午夜精品久久久久久浪潮| 高清毛片aaaaaaaaa片| 欧美成aaa人片免费看| 四虎精品永久免费| 亚洲一二三区精品| 男女男精品视频| 免费观看a级片| 欧美性受xxxx黑人xyx性爽| 久草在线免费福利资源| 欧美一级片久久久久久久| 网友自拍一区| 欧美女人性生活视频| 97精品国产97久久久久久久久久久久 | 久久99青青| www.超碰com| 国产欧美精品国产国产专区| 波多野结衣影片| 在线视频国产日韩| 99精品国自产在线| 亚洲精品国产一区| 九一九一国产精品| 国产精品国产三级国产传播| 欧美一级黄色大片| www.综合网.com| 韩国成人av| 欧美亚洲一区| 亚洲最大成人综合网| 欧美日韩一区二区三区免费看| 日本在线看片免费人成视1000| 国产在线播放91| 欧美精品三区| 制服丝袜第二页| 在线看不卡av| 美女隐私在线观看| 91网免费观看| 夜夜嗨一区二区三区| 久久亚洲无码视频| 欧美福利视频导航| 啦啦啦中文在线观看日本| 九九九九久久久久| 日韩av中文在线观看| 尤物在线免费视频| 精品成人免费观看| 91精品xxx在线观看| 中文字幕免费高| yourporn久久国产精品| 亚洲国产av一区二区三区| 色偷偷9999www| av不卡一区| 免费一级特黄录像| 亚洲六月丁香色婷婷综合久久 | 在线观看国产成人| 成年无码av片在线| 四虎5151久久欧美毛片| 国产又粗又长又大的视频| 亚洲另类中文字| 久久国产精品高清一区二区三区| 91精品美女在线| 国产深夜精品| 小泽玛利亚一区二区免费| 日韩成人网免费视频| 中文字幕综合| av天堂永久资源网| 亚洲欧洲综合另类在线| 偷拍25位美女撒尿视频在线观看| 国产精品丝袜一区二区三区| 韩国一区二区三区在线观看| 91l九色lporny| 亚洲第一区中文字幕| 色综合视频一区二区三区44| 日韩在线一级片| 有坂深雪av一区二区精品|