久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

Kubernetes監(jiān)控實(shí)戰(zhàn):Metrics Server與Dashboard部署全解析

Kubernetes監(jiān)控實(shí)戰(zhàn):Metrics Server與Dashboard部署全解析 搞Kubernetes運(yùn)維的朋友應(yīng)該都有這種經(jīng)歷集群跑起來了Pod也在轉(zhuǎn)但是你想看看每個(gè)節(jié)點(diǎn)還剩多少內(nèi)存、某個(gè)應(yīng)用最近半小時(shí)CPU是不是飆了卻發(fā)現(xiàn)無從下手。直接kubectl top node敲下去報(bào)錯(cuò)說metrics API不可用因?yàn)闆]有部署采集組件。這時(shí)候最經(jīng)典也最實(shí)用的一套組合拳就是Kubernetes監(jiān)控里最常見的搭配Metrics Server負(fù)責(zé)采集節(jié)點(diǎn)和Pod的CPU、內(nèi)存數(shù)據(jù)Dashboard負(fù)責(zé)把數(shù)據(jù)變成可視化的界面。今天這篇就把這套監(jiān)控組合從部署到排查完整走一遍講清楚每一步的原理、選擇和避坑點(diǎn)。這套方案適合誰適合剛把集群跑起來、需要基礎(chǔ)資源監(jiān)控看板的運(yùn)維和開發(fā)也適合準(zhǔn)備自己搭一套輕量監(jiān)控體系、但暫時(shí)不想上Prometheus那套重型方案的人。它能解決的核心問題很直接在Dashboard里直接看節(jié)點(diǎn)和Pod的歷史與實(shí)時(shí)資源占用曲線執(zhí)行kubectl top不再報(bào)錯(cuò)HPA也能正常拿到指標(biāo)。1. 基礎(chǔ)認(rèn)知為什么是Metrics Server加Dashboard1.1 先搞清楚Kubernetes監(jiān)控體系的分層Kubernetes監(jiān)控不是一個(gè)單一的東西而是分了好幾層。從下往上大致是物理資源層節(jié)點(diǎn)CPU、內(nèi)存、磁盤、系統(tǒng)組件層kubelet、API Server、調(diào)度器自己的狀態(tài)、應(yīng)用層容器內(nèi)的業(yè)務(wù)指標(biāo)比如請求量、延遲和事件層Pod調(diào)度失敗、驅(qū)逐等。我們平時(shí)聊的先搭個(gè)監(jiān)控看看絕大多數(shù)場景指的都是第一層也就是資源指標(biāo)。這批數(shù)據(jù)的來源是每臺(tái)節(jié)點(diǎn)上的kubelet它內(nèi)置了一個(gè)叫cAdvisor的組件負(fù)責(zé)采集容器和節(jié)點(diǎn)的CPU、內(nèi)存、網(wǎng)絡(luò)、磁盤等原始數(shù)據(jù)。難點(diǎn)在于kubelet把數(shù)據(jù)采上來之后是通過一個(gè)本地接口暴露的你不可能每次都跑到每臺(tái)機(jī)器上去看。所以需要一個(gè)集群層面的組件把這些數(shù)據(jù)匯總并且按照標(biāo)準(zhǔn)的Kubernetes API方式暴露出來。這就是Metrics Server的核心價(jià)值。它把kubelet采集到的數(shù)據(jù)聚合然后注冊成metrics.k8s.io這個(gè)API之后你用kubectl top也好Dashboard也好HPA也好都從這個(gè)API拿數(shù)據(jù)。1.2 為什么第一套監(jiān)控推薦這兩個(gè)而不是直接上Prometheus很多人會(huì)覺得既然要做監(jiān)控為什么不一步到位直接上Prometheus加Grafana我的看法是分階段。Prometheus體系功能強(qiáng)大但學(xué)習(xí)曲線和組件數(shù)量都不是零成本的你需要部署Prometheus自身、node-exporter、kube-state-metrics還要學(xué)PromQL寫查詢這對(duì)剛接觸Kubernetes監(jiān)控的人來說是個(gè)不小的臺(tái)階。Metrics Server配合Dashboard這套組合的優(yōu)勢在于輕量、官方維護(hù)、零查詢語言負(fù)擔(dān)。Metrics Server本身就是Kubernetes官方的插件部署起來就是一組鏡像加幾個(gè)YAML。Dashboard同樣是官方項(xiàng)目提供了Web界面點(diǎn)幾下就能看到集群資源水位。它不追求深度分析但能把節(jié)點(diǎn)是不是快滿了哪個(gè)Pod在持續(xù)占內(nèi)存這類最要命的問題用曲線直觀呈現(xiàn)出來。等這套基礎(chǔ)監(jiān)控跑明白了再上Prometheus做更細(xì)粒度的告警和歷史數(shù)據(jù)持久化是更平滑的路徑。1.3 這套組合的數(shù)據(jù)通路到底是怎么走的先說清一條完整的數(shù)據(jù)鏈路后面排查問題全靠它。Pod在節(jié)點(diǎn)上跑節(jié)點(diǎn)上的kubelet通過cAdvisor采集容器CPU和內(nèi)存的使用數(shù)據(jù)。Metrics Server通過kubelet的10250端口的只讀接口把每個(gè)Pod的指標(biāo)樣本抓取下來聚合后緩存在自己的內(nèi)存里并且通過Kubernetes的聚合API層注冊成metrics.k8s.io。Dashboard在展示資源圖表時(shí)向后端API Server發(fā)起查詢API Server把請求代理給Metrics ServerMetrics Server返回內(nèi)存里的緩存數(shù)據(jù)Dashboard再繪制成曲線圖。這條鏈路里有三個(gè)關(guān)鍵點(diǎn)值得圈出來Metrics Server本身不落庫數(shù)據(jù)是內(nèi)存中的臨時(shí)快照所以你看不到很久以前的歷史數(shù)據(jù)默認(rèn)只保留最近幾分鐘的窗口。metrics.k8s.io這個(gè)API是聚合API由APIService對(duì)象注冊檢查這個(gè)對(duì)象的健康狀態(tài)是排查kubectl top沒數(shù)據(jù)的第一步。Dashboard查詢的是實(shí)時(shí)指標(biāo)它本身不直接和kubelet通信所有數(shù)據(jù)都經(jīng)過API Server代理所以權(quán)限模型走的是RBAC那一套Dashboard需要配置ServiceAccount和對(duì)應(yīng)的ClusterRole。理解這條鏈路之后你就會(huì)發(fā)現(xiàn)很多所謂奇怪的問題其實(shí)一點(diǎn)都不奇怪只是鏈路里某個(gè)環(huán)節(jié)沒就位。2. 部署前準(zhǔn)備版本適配與工具選型2.1 版本適配是第一個(gè)隱形坑我見過太多人部署失敗第一反應(yīng)是網(wǎng)絡(luò)問題或者YAML寫錯(cuò)了其實(shí)往往是被版本適配坑的。Metrics Server和Kubernetes主版本之間是有對(duì)應(yīng)關(guān)系的不匹配的時(shí)候會(huì)出現(xiàn)證書校驗(yàn)失敗、API無法注冊這類莫名其妙的問題。以當(dāng)前主流版本為例Kubernetes 1.19到1.25對(duì)應(yīng)Metrics Server v0.6.x鏡像是registry.k8s.io/metrics-server/metrics-server:v0.6.4。Kubernetes 1.26及以上推薦Metrics Server v0.7.x或者更新的v1.x版本因?yàn)閗ubelet的TLS證書行為有變化舊版本會(huì)握手失敗。還需要留意容器運(yùn)行時(shí)。如果節(jié)點(diǎn)用的containerd而不用DockerMetrics Server本身沒影響但Dashboard的鏡像拉取策略和網(wǎng)絡(luò)設(shè)置有時(shí)會(huì)有小坑這個(gè)后面會(huì)單獨(dú)說。判斷版本匹配的一個(gè)笨但有效的辦法去Metrics Server官方GitHub的README里找到Compatibility表格對(duì)著看。不要憑感覺選最新版本最新版本不一定兼容你的集群。2.2 我用的環(huán)境與工具清單我這次演示的標(biāo)準(zhǔn)環(huán)境是某公司內(nèi)部測試集群用kubeadm方式安裝的Kubernetes v1.28版節(jié)點(diǎn)上容器運(yùn)行時(shí)為containerd網(wǎng)絡(luò)插件用的是Calico。這樣的環(huán)境應(yīng)該能覆蓋大部分生產(chǎn)或測試場景的共性。需要用到的工具有kubectl本地操作集群的客戶端版本最好和集群小版本差異不超過一個(gè)版本。helm雖然這篇主要以純YAML部署為主但我會(huì)提到用helm做Dashboard部署的替代方式官方chart維護(hù)起來會(huì)方便一些。瀏覽器加一個(gè)SSH端口轉(zhuǎn)發(fā)工具因?yàn)镈ashboard大多數(shù)時(shí)候不會(huì)暴露成LoadBalancer服務(wù)而是通過kubectl port-forward訪問。強(qiáng)調(diào)一下雖然我用的是RHEL類的Linux發(fā)行版做跳板機(jī)但kubectl port-forward的用法在所有平臺(tái)上都一樣。2.3 為什么建議用官方Y(jié)AML而不是自己寫Metrics Server和Dashboard官方都提供了標(biāo)準(zhǔn)的部署YAML分別是components.yaml和recommended.yaml。直接用的理由有三個(gè)第一這兩份文件里的鏡像地址、權(quán)限綁定、啟動(dòng)參數(shù)都是經(jīng)過大量生產(chǎn)環(huán)境驗(yàn)證的自己拍腦袋寫的配置很容易漏掉必需的參數(shù)比如--kubelet-preferred-address-typesInternalIP這類細(xì)節(jié)。第二官方文件里有配套的RBAC對(duì)象ServiceAccount、ClusterRole、ClusterRoleBinding都是齊的少一個(gè)Dashboard就登錄不進(jìn)去。第三升級(jí)的時(shí)候直接替換文件就能平滑跟進(jìn)不用手工比對(duì)差異。當(dāng)然直接用不意味著閉眼用。內(nèi)網(wǎng)環(huán)境拉不了外部鏡像的情況很常見你需要提前把鏡像docker pull或者ctr pull下來打上tag推到自己的私有倉庫然后修改YAML里的image字段。這是標(biāo)準(zhǔn)的離線部署操作后面排查章節(jié)會(huì)再提到和鏡像拉取相關(guān)的坑。2.4 端口和網(wǎng)絡(luò)層面的預(yù)期Metrics Server跑起來后默認(rèn)監(jiān)聽443端口它需要訪問每個(gè)節(jié)點(diǎn)的kubelet 10250端口。這一步在使用網(wǎng)絡(luò)安全策略NetworkPolicy的集群里尤其要留意如果那個(gè)命名空間默認(rèn)禁止進(jìn)站流量Metrics Server到節(jié)點(diǎn)的抓取會(huì)失敗表現(xiàn)就是Pod起來了但所有指標(biāo)都拉不到甚至API注冊不成功。Dashboard主容器默認(rèn)監(jiān)聽8443端口通過kubectl port-forward直接轉(zhuǎn)發(fā)到本地的某個(gè)端口訪問。如果集群里的Ingress已經(jīng)配置好也可以選擇用Ingress暴露但需要額外處理TLS證書和Dashboard自身的認(rèn)證方式我建議你在第一次部署時(shí)就用端口轉(zhuǎn)發(fā)簡單直接。3. Metrics Server部署與深度解析3.1 部署Metrics Server的標(biāo)準(zhǔn)步驟部署的第一步是拉取官方清單文件。wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml然后直接應(yīng)用kubectl apply -f components.yaml等一兩分鐘檢查Pod狀態(tài)kubectl get pods -n kube-system -l app.kubernetes.io/namemetrics-server正常情況下應(yīng)該看到類似這樣的輸出NAME READY STATUS RESTARTS AGE metrics-server-7d5b6d9c9b-x4k2m 1/1 Running 0 96s接著驗(yàn)證API是否注冊成功kubectl get apiservice v1beta1.metrics.k8s.io輸出中的AVAILABLE列應(yīng)該是True。這一步是我在所有集群上的必查項(xiàng)因?yàn)镻od處于Running狀態(tài)并不能說明API一定可用。再驗(yàn)證數(shù)據(jù)采集是否正常kubectl top node kubectl top pod -A如果你看到類似error: metrics not available yet的提示先別慌多數(shù)情況下只是因?yàn)镸etrics Server才啟動(dòng)第一輪采集還沒完成。等一分鐘再敲一次。如果反復(fù)都是這個(gè)錯(cuò)誤就需要按第五章的排查思路去查了。3.2 核心原理聚合API與參數(shù)選擇Metrics Server能讓你用kubectl top這種原生命令查指標(biāo)是因?yàn)镵ubernetes提供了一套聚合API機(jī)制。簡單說你可以自己寫一個(gè)后端服務(wù)提供一組特定格式的API然后通過創(chuàng)建APIService對(duì)象告訴API Server這個(gè)路徑的請求代理給那個(gè)服務(wù)處理。Metrics Server正是這么做的它把自己注冊成了metrics.k8s.io這個(gè)API組。在components.yaml里你可能會(huì)注意到Metrics Server Deployment里有一堆啟動(dòng)參數(shù)這些參數(shù)是部署后能不能成功采數(shù)據(jù)的關(guān)鍵。拿最常見的幾個(gè)來說--kubelet-preferred-address-typesInternalIP告訴Metrics Server優(yōu)先使用節(jié)點(diǎn)的內(nèi)網(wǎng)IP去訪問kubelet而不是主機(jī)名。如果你的集群DNS解析有問題不加這個(gè)參數(shù)會(huì)解析到錯(cuò)誤地址導(dǎo)致抓取失敗。--cert-dir/tmpMetrics Server自己也需要TLS證書默認(rèn)會(huì)掛載一個(gè)臨時(shí)目錄存放自簽證書。如果你看到日志里報(bào)找不到證書多半是CERT_DIR沒有指向Deployment里指定的volume路徑。--kubelet-use-node-status-port新版本默認(rèn)行為是使用節(jié)點(diǎn)狀態(tài)里上報(bào)的端口適用面更廣。另一個(gè)需要理解的點(diǎn)是cAdvisor數(shù)據(jù)源。Metrics Server本身不采集數(shù)據(jù)它是向每個(gè)節(jié)點(diǎn)上的kubelet發(fā)請求kubelet再從cAdvisor拿數(shù)據(jù)返回。所以如果你單獨(dú)啟用了某種運(yùn)行時(shí)隔離策略或者kubelet配置了自定義的cgroup驅(qū)動(dòng)Metrics Server得到的數(shù)值可能會(huì)和你在宿主機(jī)上用free看到的有偏差這在容器化資源統(tǒng)計(jì)里是正常的不用糾結(jié)。3.3 鏡像拉取問題的常見解法國內(nèi)網(wǎng)絡(luò)環(huán)境拉registry.k8s.io的鏡像經(jīng)常失敗這是部署Metrics Server時(shí)最普遍的障礙。解決方案很直接用鏡像代理或者先拉到本地再推私有倉庫。以containerd運(yùn)行時(shí)為例可以這樣操作ctr -n k8s.io images pull registry.k8s.io/metrics-server/metrics-server:v0.6.4如果這個(gè)地址也超時(shí)可以用一些公共鏡像倉庫的代理地址先拉取然后重新打tagctr -n k8s.io images pull docker.io/mirrorgooglecontainers/metrics-server:v0.6.4 ctr -n k8s.io images tag docker.io/mirrorgooglecontainers/metrics-server:v0.6.4 registry.k8s.io/metrics-server/metrics-server:v0.6.4然后修改components.yaml里的image字段指向你自己的私有倉庫地址再apply即可。需要注意改鏡像地址的同時(shí)imagePullPolicy最好設(shè)置成IfNotPresent避免節(jié)點(diǎn)在鏡像已經(jīng)存在的情況下還要去遠(yuǎn)程倉庫校驗(yàn)。3.4 高可用與多副本部署生產(chǎn)環(huán)境如果只有單副本Metrics Server一旦Pod被重新調(diào)度監(jiān)控會(huì)短暫中斷。用Deployment默認(rèn)的replicas: 1在測試環(huán)境沒問題但如果有條件建議調(diào)整為兩個(gè)副本spec: replicas: 2 strategy: type: RollingUpdate rollingUpdate: maxUnavailable: 0 maxSurge: 1配兩個(gè)副本之后還需要在spec.template.spec里加上調(diào)度分散的配置比如podAntiAffinity讓兩個(gè)Pod盡量不落在同一節(jié)點(diǎn)上。另外多副本模式有個(gè)細(xì)節(jié)Metrics Server的啟動(dòng)參數(shù)里不要加--metric-resolution這種會(huì)導(dǎo)致數(shù)據(jù)不一致的參數(shù)保持默認(rèn)即可因?yàn)槊總€(gè)副本都是獨(dú)立從kubelet抓取數(shù)據(jù)是同一份快照副本之間不需要同步。3.5 安全加固限制Metrics Server的訪問范圍Metrics Server作為集群內(nèi)的一個(gè)高權(quán)限組件它默認(rèn)可以獲取所有命名空間的資源指標(biāo)。如果集群安全要求嚴(yán)可以通過RBAC對(duì)它做約束。components.yaml里有個(gè)ClusterRole叫system:metrics-server它的規(guī)則列表指定了可以讀取nodes/metrics、pods等資源。盡量不要去擴(kuò)大它的權(quán)限范圍如果業(yè)務(wù)上有隔離需求可以考慮用--metric-resolution和--kubelet-only組合限制它只從kubelet拿數(shù)據(jù)不讓它直接訪問Pod的Exec接口之類的。另外Metrics Server的ServiceAccount在kube-system命名空間平時(shí)很少被單獨(dú)審計(jì)建議在部署后第一時(shí)間給這個(gè)ServiceAccount打上標(biāo)簽方便后續(xù)結(jié)合策略引擎做異常檢測。4. Dashboard部署與登錄配置4.1 部署Dashboard主體Metrics Server是數(shù)據(jù)采集層Dashboard是展示層兩者配合起來才能看到曲線。Dashboard官方提供的部署文件叫recommended.yaml里面包含了所有必要資源對(duì)象。kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml這個(gè)清單會(huì)創(chuàng)建kubernetes-dashboard命名空間部署Deployment、Service、ServiceAccount還有一系列RBAC規(guī)則。默認(rèn)情況下Dashboard的Service類型是ClusterIP端口443這意味著只有集群內(nèi)部可以訪問。這也是我們接下來需要用端口轉(zhuǎn)發(fā)訪問的原因。查看Dashboard Pod狀態(tài)kubectl get pods -n kubernetes-dashboard因?yàn)镈ashboard鏡像比較大加上有時(shí)候解析慢Pod在ContainerCreating階段多停一會(huì)兒是正常的。遇到ImagePullBackOff就按鏡像拉取問題處理思路和前面Metrics Server一樣。4.2 Dashboard的認(rèn)證方式Token登錄Dashboard默認(rèn)不支持賬號(hào)密碼登錄可以用兩種方式認(rèn)證一種是Kubeconfig一種是Token。實(shí)際運(yùn)維里Token方式最常用因?yàn)樗灰蕾嘖ubernetes自身的ServiceAccount機(jī)制不需要額外配置。創(chuàng)建一個(gè)專門給Dashboard用的管理員ServiceAccountapiVersion: v1 kind: ServiceAccount metadata: name: admin-user namespace: kubernetes-dashboard再創(chuàng)建一個(gè)ClusterRoleBinding把它綁到集群管理員角色上apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: admin-user roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: admin-user namespace: kubernetes-dashboard然后取得這個(gè)ServiceAccount的Token。新版本Kubernetes里ServiceAccount會(huì)自動(dòng)創(chuàng)建對(duì)應(yīng)的Secret名稱一般是admin-user-token-xxxxx。獲取令牌的命令是kubectl -n kubernetes-dashboard create token admin-user這條命令會(huì)生成一個(gè)有時(shí)效的Token默認(rèn)有效期為1小時(shí)適合臨時(shí)登錄。如果你希望Token長期有效傳統(tǒng)做法是直接讀取Secret里的token字段kubectl get secret -n kubernetes-dashboard $(kubectl get secret -n kubernetes-dashboard -lapp.kubernetes.io/componentkubernetes-dashboard -o jsonpath{.items[0].metadata.name}) -o jsonpath{.data.token} | base64 -d不過提醒一句長期Token增加了泄露風(fēng)險(xiǎn)。如果是臨時(shí)演示或排查用create token就好如果需要長期用建議通過外部密鑰管理系統(tǒng)來簽發(fā)和輪換而不是把Token硬編碼到腳本里。4.3 訪問Dashboard端口轉(zhuǎn)發(fā)與Ingress選型登錄和訪問是很多人第一次卡住的地方。端口轉(zhuǎn)發(fā)的方式很簡單在一臺(tái)能連通Kubernetes API Server的機(jī)器上執(zhí)行kubectl port-forward -n kubernetes-dashboard service/kubernetes-dashboard 8080:443然后本地瀏覽器訪問https://localhost:8080瀏覽器會(huì)提示證書不受信任這是正常的因?yàn)镈ashboard用的是自簽證書選擇繼續(xù)訪問即可。需要注意端口轉(zhuǎn)發(fā)只適合臨時(shí)使用或者你本機(jī)直連的情況。如果集群有多個(gè)節(jié)點(diǎn)其他同事也要訪問Dashboard每次都讓人家自己轉(zhuǎn)發(fā)就很麻煩。這時(shí)候可以配置Ingress。Dashboard的Service是HTTPS的所以Ingress需要配置TLS后端協(xié)議也要設(shè)為HTTPS。具體的注解取決于你用的Ingress Controller以常見的Nginx Ingress為例apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: dashboard namespace: kubernetes-dashboard annotations: nginx.ingress.kubernetes.io/backend-protocol: HTTPS nginx.ingress.kubernetes.io/ssl-passthrough: true spec: ingressClassName: nginx tls: - hosts: - dashboard.example.com secretName: kubernetes-dashboard-tls rules: - host: dashboard.example.com http: paths: - path: / pathType: Prefix backend: service: name: kubernetes-dashboard port: number: 443這里用了ssl-passthrough因?yàn)镈ashboard是自簽HTTPS證書如果Ingress再終止TLS會(huì)多一層證書問題。生產(chǎn)環(huán)境建議把Dashboard置于內(nèi)部域名下不要暴露到公網(wǎng)畢竟Dashboard有集群管理權(quán)限暴露公網(wǎng)等于把鑰匙掛在門上。4.4 登錄后的界面布局與核心功能用Token登錄后你會(huì)進(jìn)入Dashboard主界面。左側(cè)導(dǎo)航有幾個(gè)核心區(qū)域先說最常用的。集群概覽頂部直接展示節(jié)點(diǎn)數(shù)、命名空間數(shù)、內(nèi)存請求總量等摘要數(shù)字下方是按節(jié)點(diǎn)排列的資源使用量條形圖。節(jié)點(diǎn)列表點(diǎn)開某個(gè)節(jié)點(diǎn)可以看到該節(jié)點(diǎn)上所有Pod的列表以及每個(gè)Pod的實(shí)時(shí)CPU、內(nèi)存占用還有節(jié)點(diǎn)的壓力狀態(tài)。工作負(fù)載按Deployment、StatefulSet、DaemonSet等分類查看點(diǎn)進(jìn)去能看到每個(gè)工作負(fù)載的Pod列表、重啟次數(shù)、調(diào)度事件以及日志入口。服務(wù)和Ingress查看服務(wù)暴露方式調(diào)試端口映射很方便。垂直Pod自動(dòng)擴(kuò)縮容和水平Pod自動(dòng)擴(kuò)縮容如果你配置了HPADashboard里可以直接看到當(dāng)前目標(biāo)指標(biāo)和實(shí)際指標(biāo)值。Dashboard里最讓我受用的一個(gè)功能是查看某個(gè)Pod的日志不再需要kubectl logs -f一條條敲。有一個(gè)點(diǎn)必須提醒Dashboard默認(rèn)顯示的CPU指標(biāo)是Core數(shù)量內(nèi)存是字節(jié)數(shù)如果你在圖表里看到數(shù)值變化規(guī)律詭異先確認(rèn)單位再下結(jié)論。4.5 自定義Dashboard資源配額與隔離如果團(tuán)隊(duì)里有多個(gè)人共同使用Dashboard通常不希望所有人都拿到cluster-admin權(quán)限。更合理的做法是按角色拆分查看類權(quán)限綁定到view這個(gè)ClusterRole需要重啟Pod的再給一個(gè)包含delete權(quán)限的自定義Role。Dashboard自帶的RBAC模型和Kubernetes原生的RBAC是一致的所以控制好ServiceAccount的權(quán)限就控制了Dashboard的權(quán)限。如果你在Dashboard里創(chuàng)建了自定義資源比如某個(gè)命名空間下的DeploymentDashboard會(huì)直接用你的ServiceAccount身份去調(diào)用API Server權(quán)限校驗(yàn)是實(shí)時(shí)的。這個(gè)設(shè)計(jì)既方便又危險(xiǎn)有時(shí)候你在Dashboard里刪東西刪不掉是因?yàn)楫?dāng)前Token對(duì)應(yīng)的角色沒有對(duì)應(yīng)命名空間的刪除權(quán)限這恰恰說明權(quán)限隔離生效了是好事。5. 實(shí)操過程從零到有一次完整走通5.1 完整命令時(shí)間線為了讓你對(duì)這個(gè)過程有整體把握我把從零部署到成功看到Pod曲線的完整命令時(shí)間線放在這里。這部分每一行我都實(shí)際跑過你可以照抄。第一段部署Metrics Serverkubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml等Pod起來之后驗(yàn)證kubectl get pods -n kube-system -l app.kubernetes.io/namemetrics-server kubectl get apiservice v1beta1.metrics.k8s.io kubectl top node第二段部署Dashboardkubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml kubectl get pods -n kubernetes-dashboard -w第三段創(chuàng)建登錄賬號(hào)和獲取Tokenkubectl create -f dashboard-adminuser.yaml kubectl -n kubernetes-dashboard create token admin-user第四段訪問Dashboardkubectl port-forward -n kubernetes-dashboard service/kubernetes-dashboard 8080:443瀏覽器打開https://localhost:8080粘貼Token登錄。進(jìn)到界面以后點(diǎn)節(jié)點(diǎn)列表找到某個(gè)節(jié)點(diǎn)點(diǎn)擊進(jìn)去在Dashboards那個(gè)區(qū)域就能看到CPU和內(nèi)存的曲線圖。5.2 理解你看到的指標(biāo)CPU與內(nèi)存曲線怎么讀登錄Dashboard之后很多人第一反應(yīng)是這曲線怎么看著不對(duì)。這里把讀圖的邏輯講清楚。Dashboard里節(jié)點(diǎn)的CPU使用率是Metrics Server返回的實(shí)時(shí)樣本它代表的是節(jié)點(diǎn)上所有容器進(jìn)程CPU使用量的總和除以節(jié)點(diǎn)可分配的CPU核數(shù)。注意它不包含系統(tǒng)進(jìn)程和內(nèi)核本身的開銷所以你會(huì)看到節(jié)點(diǎn)CPU使用率即使業(yè)務(wù)很忙也很難沖到100%因?yàn)橛幸徊糠諧PU被kubelet、系統(tǒng)守護(hù)進(jìn)程等占用但Metrics Server沒有統(tǒng)計(jì)進(jìn)去。內(nèi)存同理節(jié)點(diǎn)內(nèi)存使用率是Pod實(shí)際占用的量不包含Page Cache因此和free命令看到的used差別很大是正常的。某個(gè)Pod的CPU曲線出現(xiàn)尖峰不代表就是應(yīng)用故障有可能是初始化容器在跑數(shù)據(jù)遷移或者Java應(yīng)用的JIT編譯瞬間占滿核。要結(jié)合重啟次數(shù)和調(diào)度事件一起判斷才不容易誤判故障。我自己踩過這樣的坑一個(gè)Pod因?yàn)镺OMKilled反復(fù)重啟但CPU曲線看起來一點(diǎn)都不忙后來發(fā)現(xiàn)是內(nèi)存配額設(shè)置得太低OOM發(fā)生在內(nèi)存維度跟CPU沒關(guān)系。5.3 讓Dashboard顯示HPA目標(biāo)指標(biāo)Dashboard支持查看HPA狀態(tài)前提是你的集群里已經(jīng)安裝了Metrics Server。在Dashboard左側(cè)導(dǎo)航找Horizontal Pod Autoscalers打開某個(gè)HPA的詳情頁能看到目標(biāo)指標(biāo)比如CPU利用率的當(dāng)前值和目標(biāo)值。如果當(dāng)前值一直顯示unknown基本可以斷定Metrics Server沒有就緒回到第3章去查。這里有一個(gè)配置細(xì)節(jié)值得單獨(dú)說HPA如果想按Pod的平均CPU利用率擴(kuò)縮容需要在Deployment上設(shè)置正確的resources.requests.cpu因?yàn)镠PA的利用率是當(dāng)前使用量除以請求量沒有requestsHPA就沒有計(jì)算基礎(chǔ)Dashboard上也沒法顯示百分比。很多人部署了HPA但一直不生效問題往往出在資源請求沒有設(shè)置。5.4 實(shí)操中我建議你補(bǔ)充的三個(gè)小工具M(jìn)etrics Server和Dashboard不是萬能的它們在歷史趨勢、告警方面很弱所以我在實(shí)踐里會(huì)給這套組合補(bǔ)充三個(gè)輕量工具kube-state-metrics它把集群里各種對(duì)象的狀態(tài)變成Prometheus格式的指標(biāo)比如Deployment的期望副本數(shù)和實(shí)際副本數(shù)。Metrics Server只關(guān)心運(yùn)行中的Pod資源使用而kube-state-metrics能反映配置層面的漂移。node-problem-detector檢測節(jié)點(diǎn)層面的異常比如內(nèi)核死鎖、容器運(yùn)行時(shí)無響應(yīng)。這個(gè)東西是DaemonSet部署成本很低但能補(bǔ)齊Dashboard看不到的底層故障。sloop開源的小工具可以按時(shí)間線展示Pod的調(diào)度歷史和狀態(tài)變化對(duì)排查某個(gè)Pod為什么被驅(qū)逐特別有用。這些工具不是必選項(xiàng)但加上了之后你會(huì)發(fā)現(xiàn)這套監(jiān)控從能看變成了能查。5.5 從演示走向生產(chǎn)參數(shù)調(diào)整與資源配額演示環(huán)境里使用默認(rèn)參數(shù)沒問題但生產(chǎn)環(huán)境有幾個(gè)硬性要求建議提前調(diào)好。Metrics Server的Deployment需要顯式聲明資源requestsresources: requests: memory: 100Mi cpu: 100m不建議把requests設(shè)得太低否則在內(nèi)存緊張的節(jié)點(diǎn)上Metrics Server可能被判定為不可調(diào)度而監(jiān)控組件恰恰是最不該缺失的。Dashboard的Deployment默認(rèn)資源請求比較保守在大量并發(fā)訪問時(shí)會(huì)OOM。我在并發(fā)量高的環(huán)境會(huì)把它調(diào)到memory: 512Mi同時(shí)加上limits防止它把節(jié)點(diǎn)內(nèi)存吃滿。Dashboard的容器主要是渲染和代理API內(nèi)存是主要瓶頸。另外Dashboard的Service默認(rèn)是ClusterIP如果你需要跨集群訪問而又不想開Ingress可以臨時(shí)改Service類型為NodePort但訪問時(shí)一定記得加TLS。端口轉(zhuǎn)發(fā)適合排障NodePort適合短期的跨網(wǎng)絡(luò)測試長期使用我更傾向于Ingress加內(nèi)部DNS。6. 常見問題與排查技巧實(shí)錄6.1 Metrics Server一直不Ready這是部署Metrics Server遇到最多的狀況。Pod狀態(tài)ContainerCreating一直不動(dòng)一般就是鏡像拉不下來按照鏡像代理的方式處理。如果Pod顯示CrashLoopBackOff先看日志kubectl logs -n kube-system -l app.kubernetes.io/namemetrics-server日志里常見的錯(cuò)誤是unable to fully discover metrics: unable to fetch metrics from node。這種多半是kubelet的證書問題。Kubernetes 1.26以上的集群里kubelet會(huì)生成一個(gè)由集群根CA簽名的服務(wù)證書但如果你沒有把根CA配置到kubelet的--tls-cert-file參數(shù)里Metrics Server和kubelet之間會(huì)TLS握手失敗。解決辦法是給Metrics Server加上啟動(dòng)參數(shù)--kubelet-insecure-tls但這只是臨時(shí)繞過證書驗(yàn)證。正規(guī)做法是把集群CA加入Metrics Server的信任列表也就是修改Deployment的volume和volumeMount把宿主機(jī)的/etc/kubernetes/pki/ca.crt掛載進(jìn)去。生產(chǎn)環(huán)境我建議用正規(guī)做法--kubelet-insecure-tls能用但本質(zhì)上是關(guān)閉了TLS驗(yàn)證審計(jì)時(shí)不好看。6.2 metrics.k8s.io的ABAC問題還有一個(gè)很不起眼但是坑過人的點(diǎn)如果集群開啟了ABAC模式Metrics Server的注冊可能不會(huì)生效。雖然現(xiàn)在幾乎都是RBAC但老集群偶爾還會(huì)遇到。驗(yàn)證方法是在Master節(jié)點(diǎn)上查API Server的啟動(dòng)參數(shù)看有沒有--authorization-modeABAC。如果確實(shí)開了需要把Metrics Server的ServiceAccount加入ABAC策略文件否則kubectl top會(huì)一直報(bào)metrics.k8s.io is forbidden。不過這種場景現(xiàn)在比較少見遇到的話基本上是歷史原因短平快的處理方案是建議集群遷移時(shí)切到RBAC模式。6.3 Dashboard登錄后白屏或空白我遇到過Dashboard能訪問但登錄后頁面空白的情況。排查步驟按照這個(gè)順序來瀏覽器F12看控制臺(tái)有沒有報(bào)錯(cuò)。常見的報(bào)錯(cuò)是failed to fetch metrics這種就回去查Metrics Server跟Dashboard本身沒有關(guān)系。確認(rèn)Token是真正的服務(wù)賬號(hào)Token。新版Kubernetes里如果你用kubectl get secret admin-user-token-xxx -o jsonpath{.data.token}取出來的Token有些場景因?yàn)?-legacy-service-account-token-clean-up的啟動(dòng)參數(shù)會(huì)被標(biāo)記為無效Dashboard登錄會(huì)直接失敗。確認(rèn)瀏覽器沒有攔截跨域請求。Dashboard自身的API請求是從頁面發(fā)到集群API Server如果中間有代理做了攔截就會(huì)出現(xiàn)白屏。白屏問題九成以上都是Token或者M(jìn)etrics API不通Dashboard本身極少掛。6.4 數(shù)值顯示NaN或者負(fù)數(shù)有段時(shí)間我配置了Metrics Server的自定義參數(shù)Dashboard里顯示CPU利用率為NaN排查下來發(fā)現(xiàn)是抓取間隔調(diào)得太短Metrics Server在API Server做聚合時(shí)累計(jì)的計(jì)算窗口產(chǎn)生了邊界問題CPU平均值算出來是空的。后來我把配置恢復(fù)默認(rèn)數(shù)值就正常了。內(nèi)存使用量為負(fù)數(shù)的情況多半發(fā)生在你給Pod設(shè)置的limits.memory小于實(shí)際節(jié)點(diǎn)上的Page Cache統(tǒng)計(jì)口徑時(shí)雖然少見但遇上不要緊張懷疑統(tǒng)計(jì)口徑差異而不是組件故障。6.5 端口轉(zhuǎn)發(fā)可以訪問但I(xiàn)ngress訪問不通這個(gè)區(qū)別很典型。端口轉(zhuǎn)發(fā)是直接走API Server代理如果轉(zhuǎn)發(fā)通了說明Dashboard后端本身沒問題。Ingress不通問題大多在Ingress Controller的HTTPS后端配置。你可以先關(guān)掉Ingress里的ssl-passthrough改用nginx.ingress.kubernetes.io/backend-protocol: HTTPS并確保證書Secret里的私鑰和證書是配套的。還有一種情況是Ingress Controller自己沒有監(jiān)聽443端口檢查Controller的Service里是否暴露了443把它映射到宿主機(jī)端口即可。這類網(wǎng)絡(luò)問題有個(gè)萬能的排查起點(diǎn)在集群內(nèi)curl一下Dashboard Service地址確認(rèn)后端可達(dá)再從Ingress Controller所在節(jié)點(diǎn)curl Service地址逐段縮小范圍問題很快就定位了。我實(shí)際用了這一套組合很久最大的感觸是它幫我擋掉了大量半夜接到告警但不知道集群怎么了的焦慮。Metrics Server加Dashboard的監(jiān)控能力雖然不算深但覆蓋面剛剛好尤其是對(duì)中小規(guī)模集群從節(jié)點(diǎn)CPU到Pod內(nèi)存再到HPA目標(biāo)用一對(duì)組合就能講清楚集群的大部分故事。踩過幾次坑之后我現(xiàn)在的習(xí)慣是每次部署完都順手把kubectl top node跑一遍把輸出存下來當(dāng)作集群初始狀態(tài)的基線。如果以后要繼續(xù)往深走可以在同一套鏈路里再引入Prometheus做長期存儲(chǔ)和告警但第一步先讓Dashboard上的曲線亮起來這比什么都有說服力。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
韩国女主播青草福利视频| 九九久久综合| 思思热免费在线视频| 久操九九九九| 九九无码| 女同性恋中文字幕| 操人91| 亚洲国产一级黄色视频| 国产成人手机视频激情| 偷拍2020| 婷婷丁香久久| 国产一区在线观看无码AV| 亚洲中文字幕熟女少妇一区二区| 偷拍 精品 另类 四区| 日韩人妻有码免费视频| 熟妇一区二区| 一区二区播放| 2017大香蕉国产精品久久| 人人摸人人添人人操| 久久色精品视频在线| 激情图片伦理国产一区二区日韩| 国产精品女久久久久av爽| 大香蕉免费乱伦视频| 色男人色天堂东京热| 亚洲av影院在线观看| 四虎影视欧美| 天天草AV| 欧美第五页| 人妻激情另类| 国产无马av| 操逼网站网站| 大奶的诱惑| 999国产精品999久久久久久| 日本新免费二区三区| 97超碰天天爱天天爱| 日韩精品一区二区三区色欲 | a在线视频免费观看| 亚洲中字幕日本一区二区三区| 久热这里只有精品9| 色综合1991| 2019亚洲男人天堂| 强奸熟女一区二区三区| 另类亚洲图色| 亚洲欧美另类少妇精品| 亚洲男人天堂2016| 校园春色美腿丝袜 | 欧美色网| 男女做爰猛烈动高潮A片免费应用| 激情文学小说一区二区| 久久精品91| 中日韩久久人妻一区二区| 国产久久一区二区三区野外在线| 亚洲欧洲另类| 黄网色一区二区三区四区精品| 色综合一本| 七月丁香婷婷| 91丨九色丨国产丨人妻在线| 99无码| 蜜桃传媒视频第一区入口在线看| 久久人妻熟女一区二区| 曰韩操B| 色五月激情综合网| 天天日日本| 校园春色中文字幕AV| 女人18精品一区二区三区| 久区视频| 久操网无码在线| 中文字幕成人理论在线| 天天综合精品| 旡码电影特区| 骚女高跟AV在线| 伊人91| 97精品网| 狠狠色噜噜狠狠狠狠狠色综合久久 | 国产精品久久久久久照片| 国产99久久99热这里只有精品15 | 男人的天堂无码| 欧美亚洲特P| 亚州欧美在线| 夜夜性| 欧美的性爱网站免费| 亚洲欧美国产其他二区| 69视频福利导航| 欧美视频第二页| 91中文精品日韩欧美在线 | 蜜臀久久99精品久久久久久-DVD| 久久中文字幕一区不卡| 中文字暮97| 啊啊啊啊啊,啊啊啊啊好舒服,操我舒服啊啊啊| 蜜区区视频79| 欧美区亚洲区偷拍区| 九色婷婷| 久久夜夜夜| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 天天干夜夜一操| 蜜臀精品1区2区| 9超碰免费| 久久香蕉国产线看观看亚洲女人 | 久久久久免费少妇| 伊人色综合超碰| 亚洲色图8| 在线A日本| 九月丁香| 懂色影视久久| 探花一区在线| 神马久久久久久久久久久久| 天天谢天天干| 九九九九久久久| 少妇蜜汁| 91丝袜在线观看| 婷婷久草一区二区三区| 国产精品一区二区a| 久久五月婷| 欧洲一区二区三区四区在线观看| 色乱二区| 91痴汉| 无码在线亚洲| 亚欧操逼片在线观看| 乱伦av国产| 91亚洲欧洲| 国产日韩色综合| www鬼畜国产男人的天堂| 少妇内射www在线观看视频| 青娱乐休闲视频在线观看| 国产精品久久久久无码A√| 97综合在线观看| 美女黄码视频午夜| 人人操,操人人| 欧美日韩另类字幕中文| 国产三级日产三级韩国三级| 国产精品大屁股999| 日韩少妇一区二区三区| 91少妇人妻| 国产欧美一区二区| 国产美女高潮叫床视频| 欧美日韩系列| 99热色这里只有精品| 久草在线| 欧美性天天影院| 国产精品视频一区二区三区八戒| 91网站18+| 日本人妻A片成人免费看片| 超碰97日韩| 久久超碰爱| 亚洲av青草久久一区二区| 色五月婷婷中文字幕| 啊啊啊水好多| 91色爽欧美| 国产日韩区| 蜜桃精品一区二区三区久在线| 国产一区二区三区导航| 国产精品对白自产拍| 67914亚洲精品| 亚洲av成人精品一区| 麻豆一区二区三区精品| 亚洲国产91精品一区二区久久| 91N综合在线| 日韩性爱电影一区| 亚洲欧美综合| 四虎免费在线播放| 九草在线大香蕉| 亚洲无码国产精品久久| 超碰人妻97| 欧美白嫩女HD| 欧美色图亚州激情| 超碰人人超在线观看| 九九九九精品九九九九| 精品在线78| 在线综合 亚洲 欧美中文字幕| 一区二区影院| 东北少妇高潮zzzz| 亚洲一级性爱视频免费看| 亚洲综合草草| 爱爱动态试试看6 0秒| 超碰在线91| 中文乱码字幕观看视频| 中文字幕超碰CAO| 天天摸,夜夜摸| 久久精品国产亚洲AV高清演员表| 精品一区二区三区免费古装毛片香港三级日本三级人妇 | 92一区二区| 日本精品一区二区三| 久久久久久性爱片| 天天干天天日天天射黄色大片 | 黄站在线免费观看| 久久久久9| 91丝袜美女| 国内三级自拍小视频在线观看| 精品日韩人妻视频| 超碰视97中文| 人人搡人人肉久久精品| 在线视频一区二区传媒| 曰本精品久久久| 丁香激情五月| www色色com| 欧美性爱视频免费一区一A| 呦呦影院| 日韩性爱小视频在线观看| 欧美日韩免费性爱| 成人性爱全视频观看| 囯戸精品高潮呻吟旡码| www亚洲免费| 欧美人人操人人插| 91人妻尻屄视频| 亚洲精品乱码线路中文字幕| 3p国产欧美99热| 乱伦强奸区日韩| 亚洲se91| 欧美色偷偷| 一区在线精品中文字幕| 偷拍三区| 欧美性巨大╳╳╳╳╳高跟鞋| 大香蕉强奸乱伦| 亚洲精品亚洲人成在线麻豆| 啪啪资源网| 青娱乐国产盛宴视频| 国产精品点击进入在线影院| 为用户提供免费看黄网址在线观看| 97香蕉网| 国产精品秘 福利姬在线观看| 素人无码中文字幕| 欧美男人的天堂| 黄色工厂这里只有精品| 亚州综合网| 91精品久久久| 91狼人| 久/久精品99看9| 骚逼高潮久久精品| 污到发麻的视频 国产| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 国产极品99热在线播放69| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 欧美在线观看综合国产| 丁香五月婷婷啪啪| 精品久久久久久久久久久久| 九一国产精品| 屁股久久久久久| 国产精品4p在线观看| 欧美国产欧美在线观看| 日韩精品三区四区| WWW美腿丝袜香蕉中文| 欧美情色亚洲| aⅴ日韩成人电影av在线免费看av大全| 日韩欧美俄罗斯A片| 亚卅熟女乱色| 嗯嗯嗯,草死我| 一级免费精品| 东京热视频网| 欧美综合娱乐久久| 97天天爽| 97久久超碰国产网站| 亚洲男人天堂2013| 日本操逼无码| 色香色欲天天综合网天天来吧 | 婷婷五月天激情四射| 涩综合导航| 国产精品青草综合久久| 国产又大又粗又长视频在线| 精品国产乱码久久久久久免费| 蜜臀久久99精品久久久| 黑人嘿嘿嘿超爽免费视频| 97香焦色区| 插入粉嫩少妇视频| 久久久久国产精品喷潮免费观看臀| 欧美色五月| 操死我了嗯嗯嗯| 一区二区三| 蜜乳AV色欲AVAV无码| 按摩中文字幕| 啊v在线观看视频| www久久99| 欧美色色人| 伊人一级免费黄片| 美国美女AV在线| 国产蜜臀精品一区二区尤物| 乱伦av国产| 后入人妻一区| 中文字幕99999| 色色五月天激情| 日本孕妇孕交| 日韩中文字幕视频在线观看| 欧美人妻中出| 婷婷午夜成人色中色| 欧美一二在线| 欧洲综合无码| 欧美激情久久久久| 以及麻豆国产入口在线观看免费| 又黑又大又粗| 日韩操啪| 96免费视频在线| 男人女人18禁片免费看网站| sss视频华人在线| 91欧美亚洲| 99无码| 大粗鳼巴久久久久| 97超碰美国| 亚洲综合九九| 欧美性爱一区| 国产精品久久久久无码A√| 爱爱动态试试看6 0秒| 久久狠狠色噜噜狠狠狠狠97| 色色色综合| 91老熟妇| 日本最新1区2区3区| 波多野结衣一级视频| 欧美亚洲高清不卡| 国产成人bd在线观看| 久久人体一区二区| 五月婷婷基地| 综合久久久久久久久91| 亚洲综合图片在线| 天堂种子在线www网资源| 国产精品3| 丁香五月婷婷五月| 综合久久久久久久久91| 精品一久久久| 亚洲强奸乱伦影视网| 玖玖无码超碰| 天天综合香 ld视频| 精品亚洲成人免费在线| 国产欧洲精品亚洲午夜拍精品| 97看操| 91免费看一区二区三区| 91久久久久久久久久久| 91 国产丝袜在线放观看| 大香久久| 欧美国产有色电影| 日本色婷婷| 边做饭边操逼逼| 久久m| 国产精品久久久鸭无码的功能| 1024精品在线| 嗯嗯啊好大| 五月婷婷AV| 亚洲国产一级黄色视频| 女上位精品在线| 精品网站9999| 国产精品国产拍高清AV| 自怕偷自怕亚洲精品| 久久久月天| 日本不卡高清免v欧美日韩在线观看| 91人妻人人妻| 国产亲戚伦亲在线| 免费看国产曰批40分钟怎么下载| 婷婷丁香人妻| 亚州 综合 色图| 久久五月天婷婷| 国产午夜在线观看视频| 九热中文字幕| 亚洲日韩AV视色| 日本成人A片免费看| 亚洲丝袜少妇在线| 日韩欧美中文字亚洲慕| 青娱乐手机日韩在线视频| 亚洲天堂男人在线| 91Chinese在线| 亚洲精品国产无码高清| 国产400孕妇孕交群| 亚洲AV无码| 久久五月丁香| 996热| 福利伊人玖玖国产| 东北丰满熟女国产一区| 四虎国产精品永久入口| 亚洲天堂精品日韩电影| 五月天伊人网| 青青草这里只有精品| 色哟哟av网址| 开心六月色| 91久久久久久久| 性爱乱伦网址| 最新日韩黄片| 变态乱伦伪娘灌肠一区二区| 免费的很黄很污的全部视频| 成人AV超碰免费在线| …亚洲黄色厕厕女女在线播…| 久久久精| 精品大全99999| 看看日B真人视频| 日日摸日日碰| 亚洲综人| 97网站在线观看| 熟妇高潮二区三区| 国产精品另类一区大香蕉| 97超碰超欧美。| 区二区亚洲婷| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 青青草原综合久久大伊人精品| 99热精品在线观看| 男人天堂站| 日日日啊啊啊| 日本99一区二区| 日韩电影天堂视频一区二区| 激情五月天校园春色网| 国产丁香精品露脸视频| 欧美翘臀视频网站一区二区三区| 男人天堂资源| 黄色免费网| 国产精品久久天天干| 中国AV美女| 国产精品制服丝袜中文字幕日韩一区二区三区 | 精品女人999| 欧美性爱一内片一区二区三区| 亚洲情色五月天 | 色色毛片| 多毛小伙内射老太婆| 天天色综亚洲91污| 四虎AV无码| 久久夜嗨| 久久成人精品| 东北女人操逼| 伊人久久综合影院| 久久色情| 在线综合 亚洲 欧美中文字幕 | 欧美伦乱| 黄片视频观看| 国产熟女乱论| 成人精品电影| 超碰欧美COM| 看日韩黄片| 操逼逼中文字幕| 99这里只有精品国产| 黄色区免费观看中文字幕| 插欧洲美女欧美精品| 东京日日夜夜| 亚洲欧美视| 最新亚洲黄色免费电影| 日韩AV无码中文一区二区| 大香蕉久久| 亚洲天堂人人妻| juliaann欧美丝袜办公室| 激情小说日韩无码| 99这里有精品| 色爽——AV| 黄片视频观看| 五月婷婷久久综合| 色网1| 国产精品一区二区手机看片| 丁香五月婷婷色| 好舒服视频| 久久大| 欧亚在线视频| 99只有精品| 在线αⅴ| 91在线美女| 97中文字幕九区| 性爱边摸边日免费AV| av天天在线观看| yazhouzaixian| 久久美女国产| 自拍视频大全亚洲专媒视频/一区二区三区 | 中文字幕av片| 艹少妇网站| 欧美情色贴图| 国产乱伦性爱区| 日本曲间由美性生活片| 四虎在线视频| 日本三级日本三级99| 国产精品久久久久久久免牛肉蒲团| 久久 精品| 日本99热| 亚洲熟女诱惑| 蜜桃臀AV在线| 亚洲一卡2卡3卡4卡乱码网站 | 丰满人妻一区| 丁香五月综合| 亭亭在线资源| 自拍偷拍 日韩无码| 男人的天堂日本东京热| 草草影院最新网址| 91少妇香蕉久久精品| 嫩草美女久久| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 妇女性内射冈站HDWWWCOM| 丰满欧美少妇| 97无码视频在线播放| 少妇99成人麻豆| 综合另类| 97超碰资源网| 欧美精品自慰系列寂寞少妇| 9久9久9久9久视频网站| 操操碰| 成人性交免费视频| 欧美色图私拍91| 第四色奇米影视777| 99RE在线视频精品,这里只有精品| 7777奇米影视久久| 久久久精品一区二区| 黄aaaaaaaaaaaaaaaaaa色网站| 亚洲成人在线资源| 人妻少妇色综合| 国产精品扒开腿做爽爽爽视频| 高凊专区人人操| 香蕉国产精品麻豆亚洲欧美日韩| 2000亚洲男人天堂| 欧美黄片视频在线观看免费| 欧美人妻少妇| 超碰天天操| 岛国成人av在线播放网址| 无码人妻一区二区三区四区老鸭窝| 久久麻豆一区二区| 色黄污美女啪啪啪免费网站| 久久久月天| 好吊色青靑草| 啊啊啊啊二区好大| 亚洲日本韩国在线| Sekablack无码一区| 风骚少妇视频中文字幕| 99少妇精品视频| 夜夜操青青草| 中文字幕三四五区| 欧美日韩国产电影| 五月天开心网| 99精品欧美一区二区三区桃色| 亚洲精品97久久中文字幕| 91肏屄网| 这里都是精品在线观看| AV乱伦专区| 九九九国产精品| 亚洲五区熟女| 欧美日韩m| 国产真实野战在线视频| 日韩欧美亚欧在线视频| 欧亚 另类 久| 91久久堂| 久久久久久久久久久久久久久乱码| 亚洲成熟国产精品美女| 久久精品人人做人人看| 久久精品超碰| 热久久无毒不卡| 久久综合日韩亚洲欧美| 99热精品在线| 1024人妻| 久久九九国产精品| 欧美成人A√在线一区二区| 欧美九九九| 强奸熟女一区二区三区| 色999偷自拍拍| 97爱免费插| 玖玖婷婷五月天| 国产午夜激片Av毛片不卡| 国产91av在线播放| 国产无码三级视频在线观看| 日本不卡五区| 天天综合色图| 少妇无码999| 人妖欧美一区二区| 五十路成人在线视频二区三区| 人妻在线大香蕉| 射丝袜高跟鞋99| 嗯嗯嗯好爽| 婷婷丁香六月天| 五月丁香综合| 99这里只有精品| 99热综合| 中文字幕在线观看丝袜| 六月丁香啪啪| 日韩一级二级| 最新AVzaixian| 欧美精品另类人妖xxxx| 欧美天天拍| 超碰日本97美女人妻人人玩人人爱| 九九在线精品| 91蜜臀熟女| 青青草在线视频人人想人人上| 1024久久高清视频| 日本不卡码黄色 | 五月天婷婷在线看| 亚洲伊人a线观看视频| 久久精品欧美一区二区三区不卡| 强奸国产精品视频| 婷婷中文网| av在线资源| 能看的AV| 黑人天8A∨高清网站| 人人综合| 日日干夜夜欢| 91熟女丨老女人| 狠狠超| 日本欧美一区二区三区视频麻豆| 成人七区| 色色婷婷五月| 中文字幕少妇色 | 大香蕉人妻| 亚洲欧美一区二区三区在钱蜜桃 | 夜色91| 久久精品欧美一区二区三区不卡| 性开放中文AV高清无码免费看| 91麻豆va国产精品| 日韩欧美亚洲国产日韩| 区二区亚洲婷| 91高潮| 天天草夜夜草高潮片| 免费毛片在线播放| 欧美激情视频一区二区三区不卡| av 模特一区了| 97Ai亚洲| 日本操大逼| 亚洲丝袜二区| 亚洲性综合| 99热一区二区三区四区| 亚洲国产成人精品女人久久久| 18禁免费视频| 玖玖视频在线资源一区二区三区| 天天天天天天天天综合| 久操国产在线| a天堂视频| 亚洲国产一区二区三区在线| 安微少妇操BBB| 伊人五月天婷婷| 天天综合色| 欧美在线视频播放| 91免费看一区二区三区| 99在线观看| 亚码人妻| 国产精品盗摄 偷窥盗摄| 九九热免费视频| 97se综合| 97在线精品观看视频| 天天插天天插| 四虎影视国产精品| yellow网站免费观看日韩高清无码| 亚洲av夫妻操穴网| 狠狠色五月亚洲91| 中文字幕成人理论在线| 久久久久网站-538在线视频-欧美永久乱码| 手机在线大香蕉| 亚洲无码AV九九九| 日韩图区| 在线岛| 91中文精品日韩欧美在线| 人妻少妇精品视频一区二区三区| 中文自拍欧美影视| 1024午夜激情男人的天堂| 亚洲春色欧美激情自拍| 四虎影视在线| 国产精品女aA片爽爽视频| 婷婷丁香六月| 亚洲色电影在线| 国产精品视频精品一二| 视频在线观看青青99国产| 日韩色| 曰韩香蕉97| 美女操逼福利视频| 超碰伊人在线| 5278欧美一区二区三区| 91AV天美在线视频| 自拍大香蕉乱插| 人妻美腿丝袜日韩| 女人爽到高潮潮喷18禁网站| nuu12国产麻豆精品| 伊人久操| 岛国天天午夜影院传媒网| 午夜精品久久久久久久99蜜桃一| 久久久天美| 97av在线视频| 亚洲在线a| 国产日本熟女顶级一区二区三区视频| 97超碰久久| 99精品九九九九九九| 午夜天堂啪啪| 欧美日韩在线小说 | 超碰97久久| 麻豆久久久久久久久丝袜| 天天做天天爱夜夜爽毛片试看| 天天综合香 ld视频| 无码人妻精品一区二区中文| 九9热伊人| 狠狠操综合| 日本视频在线中文字幕| 性生活久久久久久久久久| 亚洲精品国产熟女| 国产丁香精品露脸视频 | 亚洲天堂久久久久久粉红视频| 久久发布国产伦子伦精品| 国产精品久久久久久久久久梁医生| 丝袜美腿校园春色| 国产综合操逼高清| 张柏芝国产一区在线观看| 欧美综合制服在线| 97色色婷婷| 夜夜草我| 97在线免费公开视频| 好湿好紧好爽 视频| 欧美一级A片不卡视频。| 九九九九一区| 亚洲熟妇无码一区二区三区| 亚洲黄色网址视频| 日本不卡一区二区| 久欲AV| 成 人 影视 一区 二区 三区 四区 | 东北女人操逼| 男人天堂免费| 德国一二三不卡| 另类小色呦| 操国产逼| 精品97久久| 金典av| 亚洲人精| 深田咏美亚洲精品福利社| 欧美影院一区二区三区| 国产AV天美传媒一区二区三区| 欧美午夜精品久久久久久超碰| 日韩一级特黄av毛片| 97免费在线观看| 久久9免费视频| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 亚洲熟女av日韩熟女| 国产 日韩 欧美一区| 另类老少妇| 四季AV一区二区凹凸精品小说| 五月丁香亭亭| 曰韩成人免费视频| 台湾成人无码AV| 亚洲av噜噜噜噜噜噜| 91精品国产91久久久久久久久久久久| 极品后入免费视频| 丝袜喷水在线| 小草精彩毛片| 大香蕉97久久| 色色国产| 激情五月婷婷| 亚洲四虎熟女精品| 国产无马视频| 国产成人精品无码久久| 色婷婷六月丁香七月婷婷| 欧美91精品国产自产| 南澳成人一级片在线播放| 中国熟女91| 欧美综合 站| 粉嫩久久久久| 国产精品久久久九九九| 中出789在线视频| 久久水蜜臀亚洲AV无码精品| 欧州色图区| 91 亚洲 欧洲| 韩国一区二区精品亚洲| 屌逼传媒| 日本91白丝| 亚洲欧洲偷拍一区| 女色视频社区| 欧美熟爽综合| 国产精品午夜成人福利| 亚洲精品国产AV天美传媒| 日韩av三四区| 97免费免费视频网| 国产精品丝袜久久亚洲不卡| 欧美97视频| 欧美激情久久久久| 夜夜骑日日| 肥臀熟女一区二区三区视频| 欧美综合色,www| 中文 人妻 制服| 九九九色| 岛国片在线视频网站| 福利操逼| 大香蕉一线视频| 五月天激情四射| 久超碰在| 日韩 欧美 校园一区| 精品久久大胆人体| 人人九九精| 97在线免费看视频| 青青免费在线视频一区 | 久久水蜜臀亚洲AV无码精品| 农村妇女精品一区二区| 九九人妻| 蜜臀久久99精品久久久久久婷婷| 97超碰护士| 国产日韩区| 大香蕉综合| 久久久99久9| 强奸熟女一区二区三区| 日韩本不卡视频在线观看| 五月天亚洲色图| 一区二区三区黄色片a| 激情接吻视频久久久久久| 夜夜一区二区| 男人精品天堂一区| 狠狠超| 在线视频免费播放一区| 亚洲欧美大| 校园春色亚洲无码| 久久超碰日韩精品| 一线黄色免费性爱片| 成人精品在线观看| 九九九久久久久| 国色综合天| 免费精品人妻一区二区三| 九九成人视频| 东北女人操比视频| 久久久久久久久999| 中日韩久久久| 久久的网站啊啊啊啊啊| 九色 蝌蚪 熟女自| 人人操人人摸avav| 六月天婷婷| 久久妇| 18禁在线视频| 吻戏激情性巴克| 玖玖爱伊人玖玖爱| 强奸乱伦AV网址| 91久久精品蜜臀| 欧美精品,四区。五区| www.色吧5.com| 2010男人的天堂| 中文字幕第95页| 国产成人无码a| 操九九九九九九| 91日韩网站| 亚洲啪啪视频一区二区| 校园春色欧美色图| 丰满少妇一区二区三区免费看| 91动漫操逼视频| 无码视频一区二区| 狠狠操,使劲操| 成人 日韩欧美一区| 91狠狠狠| 不卡啪啪视频| 久久久草草精品| 丰满人妻一区二区三区四区| 少妇一区二区三区在线观看| 天天干电影| 天天天天干| 新怡红院| 亚洲夜夜欢无码一区二区| 欧美玖玖爱免费玖玖| 大香蕉一级黄色片久久| 精品美女在线视频| av一区二区三区 中文| 蜜臀AV成人精品蜜臀AV久久| 国产外初女出血视频| 欧美一级在线观看成人| 九九热免费视频| 蜜屁av| 大香蕉手机视频| 尤物视频新赏网鲜网色诱网| 嗯啊抽插大香蕉网页| 91视频成人福利网站在线一区 | 免费观看啪视频| 久久久久久无码人妻中文字幕| 成人三一级一片aaa| 91成人久久| 亚洲五码一区二区三区| 99re在线视频国产| 国产精品免费视频人成| 欧美亚洲色的图| 香蕉婷婷| 亚洲欧美电影| 国产精品久久久蜜臀| 欧美性爱18观看| 激情终合网| 久久黄色视频一区二区三区| 丝袜亚洲91| 蜜桃av综合网发布| 欧美熟妇色| 欧美制服网站美腿丝袜| 欧洲性爱无码区| 大香蕉综合久久| 人妻日日干| 嗯嗯不要视频| 9 7超碰在线免费观看| 午夜.DJ高清在线观看免费7| 伊人96在线| 天天日天天插| 国产成人99久久亚洲综合| 九九九九九精品十六| 欧美性爱另类综合| 青青在线视频日韩欧美| 97亚洲资源| 一级啊性爱在线视频| 人妻天堂三区| 久久夜嗨| 亚洲欧美经典一区二区| 婷婷婷婷婷婷久久久久| 99热 按摩 日韩| 午夜免费福利视频一区| 亚欧无码线免费观看视频| 91美女视频在线免费观看| 亚洲熟女av日韩熟女| av网站免费看| 天天影视之亚洲综合网| 嗯嗯,啊啊,国产精品| 亚洲第一狼人丝袜美女另类| 天天操妹子| 久久久久亚洲精品| 欧洲色| 最新三级网址| 国产农村妇女精品| 九99久久| 少妇毛片久久| 综合久久中文字幕综合日韩精品| 天天看夜夜看日日干| 国产久9| 日韩精品人妻中文字幕久久久| 国产精品青草综合久久| 青娱乐福利99| 亚洲人妻精品一区二区| 日韩精品作爱导航| 91亚洲不卡一区| 偷窥自拍亚洲天堂网爆| 熟妇的味道HD中文字幕| 久久久久久9| 欧美后入式| 成人在线午夜视频一区| 日韩欧美成人大香蕉| 亚洲综合婷婷| 金莲网址| 日韩高清黄片| 日本精品一级二级三级| 欧美日韩亚洲天堂| 情色五月天就去干| 人妻丝袜肏逼| 国产熟女| 中文字幕少妇色| 97超碰美国| 婷婷尹人大香蕉免费| 免费操逼视频下载| 日韩亚洲中文字幕在线| 热无码中文亚洲H一道本一区二区| 中文字幕精品码亚洲| 亚洲国产福利视频| 激情四射婷婷六月天| 青青草成人视频在线观看二区 | 先锋激情∨在线视频播放| 久久专区| 大香蕉78| 久久六六| 亚洲高清视频在线免费观看| 精品久久久久综合无码| 精品人妻一区二区三区四区| 97欧美色| 欧美色亚洲色| 台湾佬大香蕉| 熟女91网站| 亚洲性天堂| 亚洲熟女av中文字幕| 欧美性夜| 亚洲欧美不卡线| 99re免费| 久久超碰国产一区二区三区| 四虎精品永久在线播放| 日本精品五区| 日本视频在线中文字幕| 国产精品人妻免费精品| 美国日韩黄片| 中文字幕一区二区三区字幕| 午夜操逼不卡| 国产女人和拘做爰视频| 操高情无码| 国产1769在线| 丁香五月偷拍| 青青爽| www.91欧美| 中文字幕精品亚洲熟女| 亚州高清AV| 91少妇人妻| 国产一区二区免费福利片| 熟妇的味道HD中文字幕| 国产浮力影院第1页| 欧美黄色大香蕉一区二区| 欧美色五月| ss久久| 青木玲在线不卡| 性欧美| 呦呦一区| 久久av一级av少妇av高潮| 精品国产乱码久久久久久口爆网站| 亚洲AV永久无码一区仙野| 国产九月婷婷| 操学生天天| 青青草在线视频美女| 特色a在线上| 五月天久久综合网| 99日精品欧美国产| 91女人的网站| 色欧洲97| 97在线观看| 天堂中文日本在线观看| 欧美国产日韩清纯唯美| 秋霞午夜视频一区二区| 久热精品在线| 激情黄色片在线观看| 欧美国产伊人久久久久| 九九热免费国产视频婷婷伊人五月 | 啊啊啊好多水| 约操熟妇| 精品夜夜澡人妻无码| 色天欧美| 人人操人人93| 亚洲精品乱码久久久久久蜜桃麻豆| 欧美视频在线第3页| 色综合20p| 久久久96| 日韩女模中文造逼| 天天天乱色综合全| 国产又粗又长视频| 日本无码1| 欧洲Au麻豆| 天天综合网~91| 一区二区三区探花在线观看| 美女诱惑爱爱| 国产精品另类一区大香蕉| 亚洲精品成人动漫在线| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 天天日天天色| 亚洲国产中文字幕| 强奸抽插av| 久久久久久午夜男人的天堂| 成人天天爽| 色婷婷六月丁香七月婷婷| 五月天综合网| 在线啊啊啊| 操高情无码| 玖玖爱一区在线| 欧美性爽xyxOOOO| 狠狠操夜夜操蜜桃视频三区| 97精品视频在线播放| 东北丰满熟女国产一区| 东京热一区二区三区四区五区六区| 操熟女91| 91操操| 精品人妻久久久久一区二区三区| 国产日产精品久久快鸭的功能介绍| 青青爽| 久久久久久精| 久久久久免费少妇| av2014 日韩在线中文字幕| 欧美一级黄片视频在线| 密臀AV在线| 18禁无码永久免费无限制| 少妇免费视频| 蜜臀久久99精品久久久久| 狠狠狠狠狠狠| 久久黄人人爽视频| 这里只有精品视频在线| 亚洲成人AB| 国产精品久久久三级无码| 欧洲一区二区三区四区在线观看| 一级黄色性爱A级片| 粉嫩久久久久| 国产欧美一级在线观看| 中文字幕文字幕无码一区二区三区电影99| 国产三级在线现体验区| 最新亚洲风情电影| heyZO天然素人无码AⅤ专区| 欧美日韩国产男人| 人人操肉肉| 任我爽在线视频免费观看| 午夜欧美女人操逼| 亚欧操逼片在线观看| 欧洲熟妇xxXx欧美老妇裸体| 成人草草视频| 97电影院超碰| 水多多映视AV| 性色高清在线| 欧美一级A片不卡视频。| 色在线69堂| 日韩黄色成人性爱| 天天欧美| 亚洲、日韩、综合、另类| 一级AV性爱| 操淫穴亚洲五月丁香 | 婷婷久久综合| 日韩中文字墓| 伊蕉97蜜桃97狠狠综合干| 国产专区第一页| 清纯唯美亚洲另类| 大鸡吧尹人在线| 日韩在线一区二区| 色噜噜人妻av中文字幕| 大香蕉97久久| 91影库| 情色图区| 综合网亚| 欧美黄色片AAAAA| 黑人娇小av在线播放| 中文在线久久字幕| 国产一区二区三区影片| 天天看天天日| 国产精品3| 天天狠| 啪啪资源网| 天天综合-91入口| 五月开心久久AV官网| 五月大香蕉| a一区二区三区乱码在线| 五月天久久人妻| 屌妞视频久久久久久久| 欧美黄色片AAAAA| 男女猛烈无遮掩视频免费软件| 久操| 精品人妻一区二区免费蜜桃| 久久久 国产精品| 日韩精品字幕| 天天欲望网| 在线情色电影 91大 | 日韩性爱高清免费视频| 极品销魂美女一区二区| 亚洲综合草草| 97天天操天天干| 美女黄色一级A视频| 日本视频一区二区三区| 国产综合色精品在线观看| 成人开心网在线视频| 91久久久视| 一区二区三区精品黑丝白丝酒店对鸡 | 99在线免费公开视频| www.99中文字幕| 亚洲丝袜诱惑| 久久久久久九九九九九九| 欧美有码亚洲中文字幕一区二区三区四区| 性色av网站| 高清无码一区二区三区| 九九九九久久久久| 久久久久久免费电影| 免费看污网址| 日本午夜福利视频| 嗯嗯啊啊视频在线看| 欧美性爱在线无码| AV网站高清无码在线观看| Sekablack无码一区| 夜夜精品视频| 91精品导航| 久久99久久99精品天美传媒棢·纸:. | 91天天爱| 熟女天天干| 97精品国产97久久久久久户外免费| 国产无马av| 国产激情片在线观看| 日韩探花精品在线视频| 激情抓乳插进去啪啪啪日韩 | 色欲av国内精品久久久久久| 四虎884| 国产精品毛片| 九九九九97| 97精品在线| 99re6国产精品99re| 欧美天堂第二区| 99精品高潮| 色麻豆AV| 91精产一区二区三区| 免费成人在线熟妇网| 亚洲色图欧美另类在线| 欧美性爱一区二区三区四区 | 热热色中文无码| 大鸡巴久久| 日韩啪啪视频| 国产精品免费久久久久久久久久| 蜜臀99久久精品久久久久| 亚洲高清自拍| 国产在线观看一区二区三区| 国产在线视频午夜精华在| 欧美成人免费在线观看| 91精品无码久久久久久久| 国产JDAV无码视频在线观看| 人妻献身系列第54部| 欧美性爱91| 日韩激情啪啪| 九九亚洲|