日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满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寫查詢這對剛接觸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對象注冊檢查這個(gè)對象的健康狀態(tài)是排查kubectl top沒數(shù)據(jù)的第一步。Dashboard查詢的是實(shí)時(shí)指標(biāo)它本身不直接和kubelet通信所有數(shù)據(jù)都經(jīng)過API Server代理所以權(quán)限模型走的是RBAC那一套Dashboard需要配置ServiceAccount和對應(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主版本之間是有對應(yīng)關(guān)系的不匹配的時(shí)候會(huì)出現(xiàn)證書校驗(yàn)失敗、API無法注冊這類莫名其妙的問題。以當(dāng)前主流版本為例Kubernetes 1.19到1.25對應(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表格對著看。不要憑感覺選最新版本最新版本不一定兼容你的集群。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對象ServiceAccount、ClusterRole、ClusterRoleBinding都是齊的少一個(gè)Dashboard就登錄不進(jìn)去。第三升級的時(shí)候直接替換文件就能平滑跟進(jìn)不用手工比對差異。當(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對象告訴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對它做約束。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里面包含了所有必要資源對象。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)不支持賬號密碼登錄可以用兩種方式認(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)建對應(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對應(yīng)的角色沒有對應(yīng)命名空間的刪除權(quán)限這恰恰說明權(quán)限隔離生效了是好事。5. 實(shí)操過程從零到有一次完整走通5.1 完整命令時(shí)間線為了讓你對這個(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)建登錄賬號和獲取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)是這曲線怎么看著不對。這里把讀圖的邏輯講清楚。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它把集群里各種對象的狀態(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)變化對排查某個(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ù)賬號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)控能力雖然不算深但覆蓋面剛剛好尤其是對中小規(guī)模集群從節(jié)點(diǎn)CPU到Pod內(nèi)存再到HPA目標(biāo)用一對組合就能講清楚集群的大部分故事。踩過幾次坑之后我現(xiàn)在的習(xí)慣是每次部署完都順手把kubectl top node跑一遍把輸出存下來當(dāng)作集群初始狀態(tài)的基線。如果以后要繼續(xù)往深走可以在同一套鏈路里再引入Prometheus做長期存儲(chǔ)和告警但第一步先讓Dashboard上的曲線亮起來這比什么都有說服力。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
少妇六月天| 老女人老91妇女老热女| 久久久久久综合久久伊人蜜月| 一级毛片久久久久久久女人18| 亚洲操操| 97欧美精品| 久久久久久国产精品| 亚洲AV高潮| 91综合色噜噜| 日日AV加勒比| A V视频日本| 高树玛利亚无码流出| 日本国产亚洲一区在线观看| 国精综合一二三区影视| 久干9操| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 怡红院怡春院| 国产家庭乱伦表演| 100啪啪视频大全| 婷婷五月影院| 欧美日韩不卡a片| 欧美97在线观看| 无码天堂| 搡老女人老91妇女熟女| 97在线视频观看| 啊啊啊啊啊在线| 操人妻逼91| 涩涩这里只有精品视频| 日本精品加勒比海一区| 亚洲图片欧洲图片aⅴ| 操死我了啊啊啊| 激情久久av一区av二区av| 一区二区影视| 熟妇高潮二区三区| 国产成人网址| 国产一级特黄大片处女| 天美91| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 国产9熟妇视频网站| 亚洲欧美精品一区天堂久久| 奇米四色网| 人妻熟女一区二区在线视频| 精品人妻一区二区三区视频| 精品一区二区三区蜜桃臀赵总 | 亚洲精品一二区| 久肏视频字幕| 99精品人人爽| 欧亚久久偷拍视频| 美女在线H91| 熟女乱伦二区| 亚洲精品乱码久久久久久蜜桃麻豆 | 婷婷久久综合久| 人人九九精| 色婷婷电影网| 懂色中文一区二区三区 | AV女资源| 激情婷婷丁香网| 青青草手机在线免费观看| 色婷久久| 四虎影院成年人片| 亚洲熟女av日韩熟女| 午夜毛片亚洲精品片国产久久久| 色狠狠一区二区三区香蕉| 色超碰综合| www.99热| 日韩性爱再线视频| 免费在线观看国内色片网站网址| 草草草草视频| 日日爱99| 成全动漫视频观看免费下载| 精品无码久久久久久久杏吧| 久久精品中文| 少妇99| 亚洲怡春院| 亚洲欧美综合网站| 久久日韩肥臀| 欧美色综合网| 熟妇人妻一二三区免费| 国产后入式在线观看| 国产精品另类| 九九热AV| 免费看A片毛毛片在线播| 国产精品熟女九色九色蜜臀| 人妻干天天| 亚洲精品九九九| 亚洲影视综合| 欧美精品xxxwww| 国产色呦呦| 国产精品一区二区黄片| 国产精品久久久久久久久AV大片| 激情看片网站| 欧美性,色九九| 我中文字幕6区 | 久久久久久久久久8888| 中文字幕丝袜美腿| 日韩无码服务区| 亚洲情色欧美| 欧美日韩操逼嗦吊| 动漫片子网站3黄| 91成人久久| 超碰欧美97| 日韩国产不卡在线视频| 中文字幕精品一区二区精品| 久久久久久久六六| 午夜男女爽爽大片免费观看| 无码人妻丰满热妇又大又粗| 大香蕉在线视频15| 乱操9999| 欧亚性爱在线视频| 手机不卡视频不卡在线一二三区| 国产99999久久精品| 中文字幕av亚洲精品| 国产精品久久久久久片| 超碰碰97| 影音先锋日本乱伦| 热久久91婷婷| 精品国产乱码久久久久久网站入口| 91色图片| 九九九九亚洲| 熟妇操花| 美女天天干| av在线不卡一区二区三区| 亚洲中文字幕妇伦久久| 国产综合久久久麻桃个| 成人精品在线| 99国产女人| 九九性爱网| 久久人妻一区二区三区高清| 999亚洲国产视频| 久久綜合很很很| 97操97干| 先锋精品av色鲁| 99超碰网| 色婷五月天| 美女9118禁| 人妻久久久久久| 综合自拍| 精彩视频日韩| 欧美午夜视频免费观看| 99re95| 9长久久精品| 无码国产精品午夜不卡(| 超碰97玖玖爱| 老司机深夜影院18未满| 欧美日本视频一区| www超碰| 91bbb| 免費人妻夜夜爽天天爽爽一区| 中文字幕后石码四区五区| 69超碰综合| 欧美岛国精品在线观看| 国产少妇高潮| 久99| 99re公开精品免费视频| 日本媚薬中文字幕在线| 射丝袜高跟鞋99| 国产毛片久久久久久久| 九t超碰| 久久超碰免费的| 国产福利小视频高清在线观看| 色五月AV在线| 国产精品乱码久久久、久久| 91视频综合| 婷婷激情五月综合| 日本一区视频在线观看| 久久久久久久久国产| 日夜久久久九九九久| 97精品国产97久久久久久户外免费| 看日韩美女二区三区免费操逼视频 | 天堂中文日本在线观看| 99re9这里只有精品| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 97精品网| 密臀在线免费观看| 欧美日韩性爱电影在线| 91丝袜激情在线| 欧美日韩大香蕉| 99热超碰| 中文字幕日韩专区精品系列| 性爱AV天堂| 熟女人妻一区二区三区免费看 | 天综合网欧美| 久色网| 欧美日本成人一区二区| 97一区二压| 探花一区在线| 欧美性爽xyxOOOO| 欧美中文狠| 逼操网站| 热99re69精品8在线播放| 男人的天堂激情| 国产中文字幕在线点播| 人妻少妇久久| 天堂综合| 欧美日韩*字幕一区| 久久久熟妇熟女国产| 操屄日韩| 亚洲情色综合网| 成人情色一区二区| 亚洲伊人久久综合97| 精品欧美日韩在线观看| 伊人国产av| 中文字幕性感少妇av| 亚洲高清综合网| 欧洲中文字幕| 青青草中文-久久青草精品一区二区三 | 丰满少妇人妻久久久久久| 欧美日韩性爱无码| 国产高清午夜成人在线观看| 亚洲欧洲第二视频在线观看色图| 激情图片亚洲色图| 操操碰| 久久性爱大全| 丁香六月婷婷| 婷婷五月天久久久| av绯色| 亚洲乱码精品一区二区| 午夜精品久久一区二区| 久久97超碰| 超碰碰97资源站| 国产九九九九九九| 丝袜综合色图| 亚洲av热热色| 啊啊啊快操我视频| av在线人气 | 精品一区二区综合熟妇| 巨爆乳肉感一区二区三区竹菊影视 | 国产农村妇女精品| 操婷婷逼| 欧美丝袜91| 蜜乳性色无码专日粉嫩骚逼AV| 国模不卡一本二本三电影| 天美传媒精品一区二区| 好好的日:com久久九九| 操www| 神马久久久久久久久久久久| 老熟女乱伦一区| 欧亚乱色熟一区二区三四区| 超碰色男人操熟女| 伊人久大| 99热精品在线| 天天干人人看综合| 亚洲天堂性爱| 丁香五六月啪啪| 草伊人高潮喷水超碰| 国产亚洲精品A在线观看下载| 久久免费中文字幕在线观看| 欧美一级黄片视频在线| 91精品免费| 操逼网免费无码视频| 死我十八禁| 99操碰| 91欧| 中文字幕97色| 3D污黄视频在线观看| 青青操日韩| 久久小视频| 国产400孕妇孕交群| 天美传媒av 在线| 91久久久亚洲| 激情久久日韩精品中文字幕麻豆| 欧美日韩性爱视屏免费看了| 91中文字幕制服丝袜免费视频| 夜夜嗨一区二区| 乱伦日本中文自拍| 秋霞鲁丝午夜无码一区二区三| 岛国AB视频| 青青草在线视频播放器| 国产久久久9999| www亚洲免费| 97久久天天综合色天天综合色电影| 国产高清无码一区二区三区四区皇冠| 啊啊啊好想要| 超碰无码五月97| 性爱视频久久| 日韩黄片视频试看| 久久久久久久久久久久97| 91在线|亚| 国产精品 久久久精品一牛| 久久久9 9 9精品| 精品国产一区二区三区av在线资源| 亚洲天堂精品日韩电影| 国产诱惑| 91在线限制级| 日本午夜久久电影| 先锋激情∨在线视频播放| 97草草| 久久免费中文字幕在线观看| 国产亚洲精品美女久久久m| 日韩综合97p| 欧美老妇综合网| 天天躁日日躁AAAXX| 偷拍精品一区二区三区| 日本五区不卡| 欧美色66| 九久9热| 自拍偷拍2025在线观看| 日韩操啪| 亚洲少妇视频| 60秒免费小视频| 色色激情五月天| 久久精品国产亚洲AV高清演员表| 麻豆尤物视频网| 国产乱码精品久久久久久 | 5278欧美一区二区三区| 欧美性爱日韩性爱| 日本一区二区中文字幕久久| 日韩欧美蜜桃精品久久中文字幕久久| 国产熟妇一区二区| 色欧美天天| 太久视频| 亚洲视频1区| 天美91| 欧美偷偷网| 大香蕉欧美伊| 99re8超碰| 日日狠狠久久偷偷色综合免费| 黄在线| 色欲三区| 亚洲无码视频免费在线观看网址!| 天天爽入口| 亚洲日产专区婷婷| 国产传媒日本欧美专区| 日韩在线AB| 性爱综合网| 入口操逼网站| 亚洲精品亚洲人成在线麻豆| 亚洲古典另类欧美在线| 91社区拍啪人妻| 中文人妻av高清一区| 操逼操2| 97欧美日韩| 午夜操一视频一区| 久久有码视频| 高清无码91| 国产熟女自拍| 加勒比aⅴ| 99在线观看视频在线高清| 日本最新1区2区3区| 91l欧美在线| 久久欧洲| 久久久久久久六六| 成人精品视频| 少妇高潮喷水无套久久久久久| 97久久久精品| 一区二区三区色综合| 欧美日本天堂| 日本天堂在线播放| 久久婷婷一区| 精品国产a∨一区天美传媒| 伊人午夜福利视频| 大香蕉性欧美| 亚洲人妻日日日| 久久9精品| 国产视频第二页| 久久女人| 2017人人操,人人摸| 日本性爱欧美性爱| 亚洲第2页| 乱伦熟女区| 亚洲激情av| 99热精品在线| 色一射色一射| 日本啊啊啊啊啊视频| 狠色婷婷久久一区二区三区_| 国产视频小说| 色香网| 啊啊啊啊好爽好舒服一区二区易域| 欧美天天搞| 91春色| 囯戸精品高潮呻吟旡码| 国产精品自拍欧美在线| 超碰av人人人| 日本黄色裸日本黄色裸体| 涩涩久久精品| 另类欧美综合| 欧美Ⅴ性爱| 中文字幕奈奈美被公侵犯| 天堂中文日本在线观看| 桃色五月天| 夜夜爽妓女| 亚洲综合图片在线| 夜夜嗨视频| 性暴力欧美猛交在线直播| 91人妻素女| 色综合天天| 九九九综合精品| 精品人妻一区春色| 日本不卡一二区| 一级性爱视频免费在线| 爱av免费| 亚洲AV资源| 91网站18+| 91综合色噜噜| 久草免费在线一区二区| 亚洲aw毛茸茸在线| 精品9999| 亚洲AV无码乱码| 深田咏美亚洲精品福利社| 在线女人91| 久久机热| 色在线综合| 操逼日韩无码 | 久久久久久久九九九九九九| 色婷婷在线视频| 青青草色情网站视频| 欧美激情 亚洲色图| 成年人黄色视频免费| 亚洲精品aa久久伊人| 天天看少妇| 亚洲s色图| 日本一级真人黄色性爱视频| 人、人、摸,人、人、草| 欧美日韩理论一区| 加勒比aⅴ| 国模不卡| 国产亚卅97| 日韩精品-原创伙伴| 欧美日本中字另类在线| 九九九九88| 蜜桃天美传媒AV一区二区三区| 欧美视频一| a久久| 午夜久久久| 囯戸精品高潮呻吟旡码| 久久国产精品一级二级三级| 欧美日本视频一区| 无码 黑人一区二区三区| 大胆91| 亚洲国产97在线精品一区| 26uuu欧美日韩| 91人妻丝袜无码| 亚洲熟妇A V黑人| 久久一区二区三区入口| 粉嫩久久久久| 国产无码精品高清| 亚洲欧美另类少妇精品| 国产一级内射高清视频 | 天天摸夜夜操视频| 色婷婷六月丁香七月婷婷| 国产精品一区二区三区在线密挑| 亚洲国产一区二区日韩专区| 亚洲情色1区| 99re在线| 久都青青视频 | 搡老人老9丨女老熟人| 求求你操操我| 午夜男女爽爽爽影院视频| 亚州精人品大香蕉| 久久黄人人爽视频| 骚货人妻偷情自拍在线视频| 男人的天堂免费| 99热啪啪| 欧美 亚洲| 婷婷丁香五月综合| 青娱乐91| 江都AV在线| 亚洲精品国产精品成人| 特级大荫道BBwBBwBBW| 亚洲?V高清一区二区三区尤物| 女色视频社区| 色波多| 黄色高清久久无码依人| 亚洲av无码成电影在线播放| 久久999久| 在线播放免费av福利片| 国产第11页| 亚洲成人性爱在线观看| 亚洲做性| 98色网| 成 人 A V免费视频在线观看| 国产专区路线| 一类无码操逼视频| 国产夫妻性生活视频| 婷婷导航| 国产家庭乱伦表演| 97超级欧美| 一,爱啪啪,在线免费视频| 国产吹潮女在线观看| 在线啊v一区| 超碰99在线| 欧美大香蕉卡久久| 亚洲一级性爱视频免费看| 欧亚韩国999| 五月天激情小说网| 国产一区二区在线播放量| 国产精品久久久九九九| AA丁香综合激情| 99婷婷一区二区| 天天综合网~91入口| 91干熟女| 亚洲精品国产日韩无码AV永久免| 国产精品乱码久久久久久| 欧美婷婷| 中文字幕AV乱伦| 99蜜月精品久久| 久久麻豆一区二区| 亚洲h片在线免费观看| 久久久月天| 亚洲最大的黄色电影网站。| 中国一区二区亚洲人妻| 欧美精品宗合| 亚洲色图第四色| 男女打扑克高清网站| 久草网站免费在线观看| 狠狠干91| 熟女熟妇伦久久影院毛片一区二区 | 亚洲视频二区 | 亚洲精品男人的天堂| 一级做a爰片性色毛片久久| 欧美玖玖爱免费玖玖| 日本精品一区三区| 国产51色综合久久免费| 好爽免费视频| 欧美在线综合| 亚洲色图欧美色图制服丝袜 | 台湾肥佬网一区二区三区| 92人人操人人| 中字幕人妻一区二区三区| 国产天天噜一噜久久久| 97超碰天天爱天天爱| 操99| 凹凸久久人人| 成人小说另类在线| 亚洲美女精品九九视频| 欧美与日韩97| 97这里都是精品| 色色色综合网| 日韩一级免费性爱| 中文字幕奈奈美被公侵犯| 偷拍 亚洲 欧美| 狠狠躁久久躁| 天美传媒av一区二区| 高清不卡视频| 国产11页| 国产亚洲99久久精品| 家庭乱伦性爱av| www.99色| 亚洲av性爱电影| 中文字幕丝袜| 久久大香蕉97| 91在线国产后入风骚翘臀美女素人| 国产嫩草精品A88AV在线| 激情第四色| 大香蕉黄色一区| 无码精品人妻一区二区三区妖精| 夜夜操美女| 韩国一级做a久久久久| 成人三级片一区二区三区视频| 国产诱惑| 精品欧美日韩在线观看| 一级黄碟| 久久人妻无码毛片A片麻豆| 久久久久久中文版| 美骚妇av高清在线| 九九热五区| 人妻在线臀日韩| 国产女上位好爽在线| 91国产精品在线看| 欧美躁死她一区二区| 色色色综合网| 大香蕉亚洲中文| 九九成人视频| 免费看毛片操穴| 污啪啪啪视频| 欧美性爱97超碰| 天美国产三级传媒| 91色碰| 久久这里都是精品| 夜夜高潮夜夜爽| 久久综合中文国产| 亚州色图欧美| 久久精品视| 熟女91网| 97超碰欧美精品| 亚洲精品99999| 天美精品原创av片国产| 国产又黄又爽又刺激久久久久久| 亚洲乱色熟女一区| 国产久久av| 欧美疯狂做爰xxxx| 婷婷久草一区二区三区| 日韩伦理久 久久 清纯| 久久综合女优| 欧美一品道| 国产AV天美传媒一区二区三区 | 91亚洲人| 伊人网青青| 成 人片 黄色大片| 人人考人人摸人人干| 久热9| 天天干2区3区| 亚洲网污污污污| 中出20p| 国内伊人久久久久久网站视频| 91精品国产91久久福利| 国产熟女完整版中字| 国产福利精品最新在线| 日韩人妻少妇中文字幕| 性爱欧美五月| 久久9精品| AV麻豆免费一区| 国产剧情AV不卡在线观看| 婷婷午夜| 蜜臀久久在线视频| 强乱老妇中文字幕| 日B操| 伊欧美综合视频| 日韩人体偷拍| 欧美玖玖爱免费玖玖| 日本二三四区| 国产高清精品一区二区三区毛片| 果冻国产精品麻豆成人av| 天综合网| 天欧美在线| 超碰色综合| 一本一道vs波多野结衣| 超碰亚洲97| 东北操逼| 欧美在线永久天堂| 啪啪91| 日本淫穴在线| 97欧美在线| 日本人人操人人操| 国产婷婷一区| 精品国产乱码久久久| 亚洲欧美日韩免费电影| 欧美精品四区| 大但人体久久久久| 两女互慰AV高潮喷水在线观看| 2018色综合天天操| 91日产欧美| 麻豆天美91| 日本三级日本三级99| 欧美激情一区二区| 精品人妻一区二区三区四区不卡在| 国产女人与拘做受视频免费 | 久久久久日本视| 肉丝中文无码高清| 国产乱伦亚洲| 国产精品视频电影| 九九九九九九九九九国产精品 | 中日韩久久久免费看| 无码不卡八戒| 东京日日夜夜| 深夜激情| 探花一区在线| s片在线观看| 中文字幕美女91| 超碰日本97美女人妻人人玩人人爱| 大香蕉日亚洲日本亚大| 黑人白女精品一区| 中文字幕日韩精品一区二区三区| 亚洲天天操| 婷婷五月天av| 夫妻AV网站| 欧美人妻精品一区二区| 超碰夫妻97| 欧美日韩在线视频网站| 中文字暮97| JuliaAnn丝袜熟女系列| 激情综合五月| 亚洲美女高潮喷水视频| 在线观看黄色电话| 九九九九97| 国语国产操逼伊人AV网| 高清肉丝中文无码| 欧美大香蕉同搞| 日韩精品操少妇| 人人操人人操人人人操| www.高清无码诱惑一区.com | 少妇干B| 亚洲高清少妇| 日韩AV无码中文一区二区| 伊人伊人LD| 99在线免费公开视频| 久日91在线| 眼镜人妻101.com| 亚洲综合小视频小说在线观看| 综合影院永久入口国产| 男女91| 国产对白刺激视频| 91美女视频在线免费观看| 国产av波波国产精品| 国产精品在线网站| 91动漫操逼视频| 一区二区播放| 这里有精品| 久久久中文| 熟妇视频一区二区三区在线观看| 欧美真人抽搐一进一出gif| 亚洲欧洲av影音| 啊好爽受不了无码| 亚洲图片日本AⅤ欧美在线| 欧美少妇性乱| 久久精品国产亚洲AV片多多| 日韩欧美天堂| AV 少妇 人妻 偷拍| 欧美日韩中文视频播放| 影音综合网| 乱伦图一区| 日韩射图| 东北女人av| 飘花国产午夜精品不卡| 久久亚洲天堂| www.色婷婷.com| 另类图片欧美激情综合| 无码久| 色情五月综合婷婷| 男人亚洲天堂| 夜夜操一区二区| 日本三级日本三级99| 97综合网| 神马久久69| 91操人视频| 国产强奸AV在线| 99999这里都精品| 丁香六月婷婷久久综合| 先锋影音av先锋一区| 久久色AV线| 激激五月| 亚乱色| 色汉综合| 亚洲欧美日韩国产丝袜自拍中文| 丁香五月天堂网| 国产JDAV无码视频在线观看| 日韩欧美天堂| 国产极品999| 成年人性爱日韩| 97操| 亚欧美色图| 欧美综合97www| 激情视屏国产乱伦强奸| 91无码西班牙视频在线| 在线五区| 99爱久久视频频| 亚洲精品国产精品乱码不99| 欧美国产精品久久九九| 熟妇无码视频三区| 亚洲av热热色| 亚洲丝袜色| 久久av成人无码免费| 欧美色图亚洲激情| 日日嗷| 加勒比AV网| 男人的天堂啪啪| 2021久久国产综合精品青草| 免费a v| 亚洲第一页色网| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 亚洲老司机123专区| 夜夜嗨一区二区| 能直接看AV的网站| 五十路六十路素人熟女| 欧美精品97| 精品久操| 青青草字幕AV| 伊人久久国产免费观看视频| 五月天色综合| 亚洲中文日韩精品| 青娱乐欧美激情一区二区| 激情文学88| 偷偷人人精品女女久久| 91青青在线视频| 亚洲视频一二区| 日本一区二区三区精品| 国产精品色色| 久9视频| 蜜臀操逼黄色视频操的好爽| 中文字幕精品一区欧美| 一级片视频啪啪| 日本色日夜干| 美欧色综合| 后入人妻无码| 亚洲色欧| 久久久久久久久久久精| 懂色av中文字幕一区二区三区天美 | 色吧5亚洲| 欧美日韩1234| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 黄片aaaaa一区| 在线观看高清AV| 麻豆国产视频精品观看| 欧美高清18A片| 国产强奸无码乱伦| 99色视频| 日本岛国黄色网址| 一区二区三区欧美激情| 岛国艾薇凹凸视频天堂| 黄片无码在线制服| 爆操无码| 亚洲精品成人激情在线| 色官网在线| 日韩性爱高清免费视频| 蜜臀操逼黄色视频操的好爽| 蜜乳AV一区二区三区四| 大色综合网| 日本国产欧美高清在线| 亚洲 欧美 手机在线观看| 久久香蕉综合一本到3atv| 久久AV无码网址| 竹菊影视国产一区二区| 日韩人妻一区二区精品| 99热啪啪| av天天在线观看| 欧美熟妇视频| 嗯嗯啊啊用力视频免费| 日本日日色视频| 欧美A√综合网| 九一性生活免费视频| 色香91| 农村少妇久久久久久久| 后入国产| 日韩一区二区精彩视频| 中国一级操逼视频| 综合操逼| 亚洲欧美国产日本一区二区三区| 91综合在线| 亚洲人成色9999精品久久| 日本女厕偷拍| 亚洲91大片| 一本色道久久综合狠狠操| 三及片网站| 亚洲巨爆乳一区二区三区四季网| 蜜乳AV免费观看| 黄色一区二区秘书性感| 亚洲第一在线视频| 旡码电影特区| 熟女网站最新| 9美女超碰在线免费观看| 91综合中文字幕| 欧美爱三级日韩久久| 欧美,日韩综合久久| www.色婷婷色综合| 青草青青久久久久久国产| 97天天做| 欧美丰满少妇交换91欧美精品| 久久久久久久唑| 思思视频免费看网站| 粉嫩不卡一区二区性爱| 日本三级中国三级99人妇网站| 亚洲男人的天堂一区二区| 日日骚精品视频| 在线国产探花| 中文字幕片| 亚洲色婷婷综合久久一区二区三区| 日本高清一本二本免费不卡| 夜夜爽夜夜操| 国产日韩在线播放av| 亚洲偷拍自拍在线视频| 日本天天吊| 加勒比伊人综合| 校园春色亚洲色图| 日本欧美韩国国产在线| 在线99热| 狠狠操一区二区| 色97欧美| 亚洲性爱电影| 色婷婷丁香五月| 麻豆一区在线| 97亚洲在线| 国产精品久久久无码AV网站| 高凊专区人人操| 日本熟妇色熟妇在线视频播放| 人妻丝袜一区二区三区在线| 久操凹凸视频| 久久9精品视频| 亚欧操逼片在线观看| 丁香五六月啪啪| 国产亚州日韩欧美看片| 久久亚州高清| 東南亚性呦成人伦理资源在线视频 | 一级二级三级黑人无码| 99久在线精品99re8| 亚熟hd视频在线| 精品91| 欧美一级黄片免费播放| 天天看特黄的免费网站| 亚洲色宗合| 91|九色|国产熟女| 传媒免费一区二区三区| 人人么人人操| 天天做天天爱天天高潮| 美女91色黄18| 国产三级资源在线观看| 天天综合网国产| 天天夜夜rb| 亚洲精品影视老司机| 日韩精品高清资源在线| 伊人网高清| 中国亚洲呦女专区| 天天日美女的B| 亚洲AV成人无码一二三久久| 99久久com免费视频′| 久久精品导航| 曰韩成人免费视频| 极品AV网站在线观看| 国产精品盗摄 偷窥盗摄| 亚洲精品819| 人人做人人妻人人夜视频| 久久只有精品一区二区三区| 亚洲欧美日韩激情不卡| 婷婷五月天成人| 骚妻少妇精品性色无码四色A V| 成人七区| 噜噜噜久久亚洲精品色情| 欧美日韩国产成人高清| 欧美男女午夜啪啪| 91丝袜在线播放| 色激情五月天| 青草地一本线一区二区三区| 色综合尤物| 超碰 欧美| 国产成人精品亚洲日本| 久艹99| 玖玖爱免费观看视频| 亚洲熟女乱综合一区二区三区| 婷婷丁香九月| 老女人老91妇女老热女| 人妻一二三区| 欧美一区二区成人一卡| 精品国产91内射久久| 97色色国产视频| 欧美国产精品| 亚洲欧美日韩电影网站一区 | AV一区观看| 大香蕉免| 国产精品免费1区2区视频| 亚洲色图 欧美热图 清纯唯美 另类自拍| 久热一区二区| 英伦大奶子熟妇吊带| 白丝被操91| 大香蕉伊在线久草麻豆天堂故事| 国产乱伦性爱区| 久久综合女优| 国产精品久久99日日| 青青草久久| 国产精品久久久三级无码| 亚洲国产97在线精品一区| 激情小说五月天| 精品一区二区三区丰满熟女-亚洲欧美一区| 亚洲色色色| 啊啊啊在线观看| 亚洲色9| 人人看欧美性爱| 2020中文字幕在线| av中文在线| 丁香色狠狠色综合久久小说| 日han少妇无码| 国产极品美女高潮无套在线观看| 日日爽熟女| 淮穴色AV| 午夜.DJ高清在线观看免费7| 97干综合网| www.yw尤物| 久久在线观看免费视频| 狠狠色一区二区中文字幕| 欧美性爱一级操| 超碰在线一区二区| 欧美日韩亚洲天堂网| 亚洲第一成人影院色播| 91久久久久久久久18| 啊啊啊好舒服好爽啊啊啊视频| 八人操人人摸人人看| 伊人宅男大香蕉 | 日本中文字幕一区| 婷婷色导航| 强奸乱伦免费网站| 超碰在线综合97| 混色激情av| 萌白酱自拍视频| 91性感在线| 亚洲色图欧美另类在线| 五月天色图| www.亚洲成人一区| 天天影视综合色| 中文有码第五页| 国产精品亚洲一区二区三区四区| 另类图片综合| 综合性视频99| 91黑丝少妇| 人人天天干干| 国产福利视频精品视频| 超碰九九| 精品网站99999| 人妻久久久| www..com操老师| 91操熟女| 91欧洲入口| 亚洲高清视频在线观看| 久久久婷婷婷| 黄色AAAAA欧美| 东京热天堂网| 人人摸人人舔一区二区| 有码免费观看| 久久激情视频| 草草网站影院白丝内射| 中日韩免费看男女操逼大全| 中文字幕熟女人妻丝袜丝| 东北老女人的激情视频| 大奶啊啊好爽 | 麻豆性爱视频在线播放| 丁香激情五月天| 免费啪啪一级视频| 欧美性爱18观看| 久久精品熟妇丰满人妻99| 亚洲自拍青操视频| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 欧美色性爱| 欧美日韩午夜精品一区二区三区| 91N综合网| 屁股久久久久久久久| 亚洲五区熟女| 小草精彩毛片| 色99在线| 90后性网国产欧美| 欧美大香蕉专区网| 无码人妻精品一区二区中文| 一级一性爱免费视频| 大香蕉伊人75| 偷拍99| 天天爽入口| 亚洲精品97中文字幕| 自拍视频大全亚洲专媒视频/一区二区三区 | 校园春色欧美| 都市激情人妻一区二区青青操视频| 嗯嗯啊啊操死我| 天天综合精品| 天综合网| 五月天色图影视| 六月丁香啪啪| 日本一级黄色电影| 亚洲av乱伦色图网站| 日韩性爱再线视频| 国产综合永久精品日韩鬼片| 四虎国产精品永久地址入口| 日韩高清黄片| 人人摸.人人色| 操人人| 国产又黄又爽又刺激久久久久久| 蜜乳中文字幕a在线| 中日韩一区二区三区欧美| 少妇被c 黄 免费观看| 超碰97亚洲| 亚洲欧美日韩激情不卡| 欧美性第一页| 中文字幕国产在线天堂| 日本一道在线播放高清| av黄图片在线观看| 人人爱人人乐人人操| 国产亚洲色婷婷久久99精品91 - 百度| 加勒比伊人| 午夜性生活av免费在线看| 女人精品内射国产99| 国产精品人妻无码久久久老鸭窝| 91久久久亚洲| 成人午夜高潮av猛片| 国产福利视频精品视频| 午夜.DJ高清在线观看免费7| 欧美性爱无码一区二区三区| 亚洲成人免费中文字幕| 免费簧片在线观看| 国产成人自拍视频在线| 丁香五月性爱| 欧美日韩m| 欧美色九九九| 久久久111| 伊人96在线| 中国和日本人色哪个不下载能放| 香蕉99秘 一区精品蜜桃臀| 久久天堂| 亚洲激情综合另类男同| 日本www操操操| 日本99久久| 日韩情色视频| 人妻 欧美 中文| 久久影视二区三区行押| 97欧美资源| J?P?NESEHD熟女熟妇伦| 一级特黄aaa大片在线观看成人一级片在线观看| 操操逼视频| 91人妻尻屄视频| 中文字幕 码 自拍 视频 区| 色一射色一射| 18禁久极品美女久久哦哟呀!| 在线五区| AV中亚| jk白丝没脱就开始啪啪| 国产在线精品偷| 九九热免费国产视频婷婷伊人| 97日视频| 欧美瑟综合| JIZZJIZZ亚洲女人被躁| 伊人久久综合精品欧美| 亚洲天堂久久| 97超碰天天爱天天爱| 伊人在线大香蕉视频久久| 亚洲日韩电影| www.91逼逼.com| 婷婷在线视频| 精品一区二区麻豆| 91青青| 18啪啪手机免费性爱| 欧美黄片视频在线观看免费 | 后入人妻无码| 情趣丝袜无码操逼视频| 美女被艹尤物视频| 97爱亚洲综合色| 啊啊啊男女| 黄色操人| 丁香激情五月| 久久久久78| 九九九九精品九九九九| 五月丁香拍拍激情综合三级| 人妻天堂综合网| 丝袜色综合| 女性喷水高潮在线观看| 久久99人妖视频国产| 欧美黄色图片| 亚洲情色 自拍| 国产高清精品一区二区三区毛片 | 国产不卡免费在线视频| 天天综合AV| 亚州黄站| 精品欧美А∨无码黑人大荫蒂 | 91欧美丨精品丨入口| 亚洲性天堂| 人人摸人人干人人拍97| 少妇一区二区三区在线观看| 综合色区偷拍| 亚洲色色探花| 中文字幕丝袜人妻| 亚洲高清色综合| 26uuu国产成人综合| 蜜臀AV一区二区三区激情综合| 加勒比色99999| 黑人狂躁日本妞一区二区三区| 婷婷成人久久久精品| 变态另类专区| 欧美日韩激情无码专区| 一区中文字幕二区日韩| 少妇高潮九九九九| 日韩一级片在线看| 91天美传媒在线观看| 日韩性爱啪啪视频| 成人日韩欧美| 91在线丝袜| 26uuu性| 日日AV加勒比| 婷婷久久五月综合激情| 日韩精品99999| 9精品久久久久| 亚洲国产高清福利视频| 超碰在线97国产| 岛国黄片网站| 久久本道| 亚洲超碰97| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | 99re3这里只有精品| 99re98|