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

ARTICLE DETAIL

資訊詳情

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

Kubernetes中用NFS實(shí)現(xiàn)動(dòng)態(tài)存儲(chǔ)供應(yīng)的落地實(shí)踐

Kubernetes中用NFS實(shí)現(xiàn)動(dòng)態(tài)存儲(chǔ)供應(yīng)的落地實(shí)踐 1. 項(xiàng)目概述為什么在Kubernetes里用NFS做動(dòng)態(tài)存儲(chǔ)不是“湊合”而是務(wù)實(shí)選擇你剛在生產(chǎn)環(huán)境里部署完一套微服務(wù)Pod跑得挺穩(wěn)日志也進(jìn)了ELK結(jié)果第二天業(yè)務(wù)方甩來(lái)一條消息“用戶上傳的Excel模板不見(jiàn)了?!薄榱艘蝗Πl(fā)現(xiàn)某個(gè)處理文件的Job Pod重啟后掛載的臨時(shí)目錄清空了。這時(shí)候你才意識(shí)到容器天生無(wú)狀態(tài)但業(yè)務(wù)數(shù)據(jù)必須有落腳地。而Kubernetes原生的emptyDir和hostPath根本扛不住滾動(dòng)更新、跨節(jié)點(diǎn)調(diào)度、權(quán)限隔離這三座大山。于是你開(kāi)始翻文檔看到PersistentVolumePV和PersistentVolumeClaimPVC這兩個(gè)詞再往下翻又撞上StorageClass——它像一道閘門(mén)把底層存儲(chǔ)細(xì)節(jié)和上層應(yīng)用隔開(kāi)。而NFS就是這道閘門(mén)背后最常被選中的“水廠”。NFS不是新技術(shù)但它在Kubernetes生態(tài)里扮演的角色非常特殊它不追求極致IOPS也不標(biāo)榜超低延遲而是用極低的運(yùn)維門(mén)檻、天然的多讀多寫(xiě)支持、以及對(duì)POSIX語(yǔ)義的完整兼容成為中小規(guī)模集群里最可靠的共享存儲(chǔ)底座。尤其當(dāng)你面對(duì)的是日志歸集、配置熱更新、CI/CD中間產(chǎn)物緩存、或者多個(gè)Pod需要協(xié)同讀寫(xiě)同一份報(bào)表模板這類場(chǎng)景時(shí)NFS提供的“一個(gè)路徑處處可掛”能力比塊存儲(chǔ)如iSCSI或?qū)ο蟠鎯?chǔ)如S3更直接、更省心。我?guī)н^(guò)的幾個(gè)項(xiàng)目里某高校實(shí)驗(yàn)室用NFS支撐20個(gè)Jupyter Notebook實(shí)例共享課程數(shù)據(jù)集某電商中臺(tái)用NFS做灰度發(fā)布時(shí)的配置快照池都跑了一年半沒(méi)出過(guò)存儲(chǔ)層故障。這不是因?yàn)镹FS多先進(jìn)而是因?yàn)樗銐蚝?jiǎn)單、足夠透明、足夠可控——你ssh進(jìn)NFS服務(wù)器ls -l一眼就能看清誰(shuí)在讀、誰(shuí)在寫(xiě)、空間還剩多少你改一行/etc/exports加個(gè)sync參數(shù)就能立刻感知到性能變化。這種“所見(jiàn)即所得”的掌控感在云原生世界里反而成了稀缺品。所以“Kubernetes: 利用NFS動(dòng)態(tài)提供后端存儲(chǔ)”這個(gè)標(biāo)題說(shuō)的不是一項(xiàng)炫技工程而是一套經(jīng)過(guò)千錘百煉的落地方法論它把NFS從傳統(tǒng)Linux服務(wù)器上的“配角”升級(jí)成Kubernetes調(diào)度體系里的“編排友好型存儲(chǔ)資源”。核心在于“動(dòng)態(tài)提供”四個(gè)字——你不再需要提前在NFS服務(wù)器上手工創(chuàng)建好每個(gè)目錄、再一個(gè)個(gè)定義PV對(duì)象而是通過(guò)StorageClass聲明“我要什么樣的NFS卷”由nfs-subdir-external-provisioner這個(gè)外部供應(yīng)器自動(dòng)完成目錄創(chuàng)建、PV綁定、權(quán)限設(shè)置一整套動(dòng)作。整個(gè)過(guò)程對(duì)開(kāi)發(fā)者完全透明他們只管寫(xiě)pvc.spec.resources.requests.storage: 5Gi剩下的交給系統(tǒng)。這種解耦讓存儲(chǔ)管理真正回歸到“按需申請(qǐng)、用完釋放”的云原生本意而不是變成運(yùn)維同學(xué)每周定時(shí)巡檢df -h的體力活。2. 整體架構(gòu)設(shè)計(jì)與方案選型邏輯為什么是nfs-subdir-external-provisioner而不是其他2.1 三種NFS集成路徑的硬核對(duì)比在Kubernetes里對(duì)接NFS業(yè)界其實(shí)有三條主流路徑每條背后都是不同的權(quán)衡取舍純靜態(tài)PV方式管理員手動(dòng)在NFS服務(wù)器上創(chuàng)建目錄如/data/app-logs再在K8s里定義對(duì)應(yīng)PVnfs.path: /data/app-logs最后由PVC去綁定。這種方式最原始但勝在絕對(duì)可控。我見(jiàn)過(guò)某金融后臺(tái)系統(tǒng)堅(jiān)持用這套方案理由很實(shí)在審計(jì)要求所有存儲(chǔ)路徑必須提前審批、留痕、備案自動(dòng)創(chuàng)建目錄等于繞過(guò)流程。但代價(jià)也很明顯——每次上線新服務(wù)都要走工單、等審批、人工執(zhí)行平均耗時(shí)2天。當(dāng)集群里PVC數(shù)量超過(guò)50個(gè)光是PV YAML文件的版本管理就讓人頭皮發(fā)麻。FlexVolume或CSI插件直連比如早期用nfs-clientFlexVolume或者現(xiàn)在更主流的nfs-csi-driver。它們讓Kubelet能直接和NFS服務(wù)器通信跳過(guò)PV/PVC抽象層。好處是性能略優(yōu)少一層轉(zhuǎn)發(fā)但問(wèn)題更致命FlexVolume已被K8s官方棄用而CSI驅(qū)動(dòng)雖然功能全卻要求你在每個(gè)Node上安裝二進(jìn)制、配置RBAC、還要處理NFS客戶端內(nèi)核模塊兼容性比如CentOS 7默認(rèn)的nfs-utils版本太老掛載NFSv4.1會(huì)報(bào)錯(cuò)。去年幫某物流平臺(tái)排查一個(gè)“部分Node掛載失敗”的問(wèn)題折騰三天才發(fā)現(xiàn)是某批新采購(gòu)的服務(wù)器BIOS里禁用了CONFIG_NFS_V4_1選項(xiàng)。External Provisioner動(dòng)態(tài)供應(yīng)也就是本項(xiàng)目采用的nfs-subdir-external-provisioner方案。它本質(zhì)是個(gè)獨(dú)立的Deployment以Sidecar模式運(yùn)行在集群里監(jiān)聽(tīng)PVC創(chuàng)建事件然后調(diào)用NFS服務(wù)器的mkdir和exportfs命令生成新目錄并反向創(chuàng)建PV對(duì)象。它的優(yōu)勢(shì)不是性能而是抽象干凈、依賴極簡(jiǎn)、調(diào)試直觀。整個(gè)供應(yīng)器只依賴一個(gè)ServiceAccount權(quán)限、一個(gè)NFS Server地址、一個(gè)基礎(chǔ)路徑如/data/k8s-volumes沒(méi)有Node級(jí)組件沒(méi)有內(nèi)核模塊要求升級(jí)只需替換鏡像。更重要的是它的日志就是你的操作記錄——kubectl logs -f nfs-provisioner-xxx里能看到每一行msg:creating new volume后面跟著完整的mkdir命令和返回碼故障定位效率遠(yuǎn)超CSI驅(qū)動(dòng)那種“掛載失敗但日志只顯示rpc error”的黑盒體驗(yàn)。提示nfs-subdir-external-provisioner并非K8s官方維護(hù)而是由社區(qū)項(xiàng)目kubernetes-sigs/nfs-subdir-external-provisioner孵化。它之所以成為事實(shí)標(biāo)準(zhǔn)是因?yàn)樗珳?zhǔn)卡在了“夠用”和“不過(guò)度設(shè)計(jì)”的黃金分割點(diǎn)上——不支持快照、不支持在線擴(kuò)容、不支持多租戶配額但正因如此代碼只有不到2000行Go漏洞極少升級(jí)風(fēng)險(xiǎn)極低。如果你的業(yè)務(wù)不需要這些高級(jí)特性強(qiáng)行上CSI反而增加復(fù)雜度。2.2 Provisioner核心組件拆解它到底在做什么nfs-subdir-external-provisioner看似只是一個(gè)Pod但內(nèi)部邏輯非常精巧。我們把它拆成三個(gè)關(guān)鍵角色來(lái)看Controller Manager這是主循環(huán)線程持續(xù)調(diào)用K8s API Server的Watch接口監(jiān)聽(tīng)PersistentVolumeClaim資源的ADDED事件。一旦發(fā)現(xiàn)新PVC就提取其spec.storageClassName匹配到對(duì)應(yīng)的StorageClass對(duì)象再讀取該StorageClass里定義的provisioner字段必須是k8s-sigs.io/nfs-subdir-external-provisioner和parameters如archiveOnDelete: false。這一步?jīng)Q定了“誰(shuí)來(lái)供應(yīng)”和“按什么規(guī)則供應(yīng)”。Volume Provisioner拿到PVC元數(shù)據(jù)后它會(huì)生成一個(gè)唯一卷名格式為namespace-pvc-name-random-string然后拼接出NFS服務(wù)器上的完整路徑如/data/k8s-volumes/default-myapp-pvc-abc123。接著它通過(guò)exec.Command(ssh, ...)或exec.Command(mount, ...)方式取決于配置連接NFS服務(wù)器執(zhí)行mkdir -p創(chuàng)建目錄并調(diào)用exportfs -i -o rw,sync,no_root_squash nfs-server:/data/k8s-volumes/default-myapp-pvc-abc123導(dǎo)出該路徑。注意這里no_root_squash是關(guān)鍵——它允許K8s集群內(nèi)的root用戶即Pod以root身份運(yùn)行時(shí)在NFS目錄里擁有真實(shí)root權(quán)限否則會(huì)出現(xiàn)Permission denied錯(cuò)誤。很多初學(xué)者卡在這一步以為是K8s權(quán)限問(wèn)題其實(shí)是NFS導(dǎo)出參數(shù)沒(méi)配對(duì)。PV Creator目錄創(chuàng)建成功后Provisioner會(huì)構(gòu)造一個(gè)PersistentVolume對(duì)象填入spec.nfs.serverNFS服務(wù)器IP、spec.nfs.path剛創(chuàng)建的路徑、spec.capacity.storage等于PVC申請(qǐng)的大小、spec.accessModes繼承自PVC最后調(diào)用API Server的Create接口提交。此時(shí)K8s Scheduler會(huì)自動(dòng)將這個(gè)PV和PVC綁定后續(xù)Pod掛載時(shí)Kubelet就按標(biāo)準(zhǔn)流程發(fā)起NFS掛載請(qǐng)求。這個(gè)流程里最值得玩味的設(shè)計(jì)是Provisioner本身不參與實(shí)際的數(shù)據(jù)讀寫(xiě)它只負(fù)責(zé)“造房子”和“發(fā)鑰匙”。真正的掛載、卸載、IO轉(zhuǎn)發(fā)全部由Kubelet內(nèi)置的NFS客戶端完成。這就意味著你完全可以用kubectl delete pvc my-pvc刪除一個(gè)PVCProvisioner會(huì)自動(dòng)清理NFS服務(wù)器上的對(duì)應(yīng)目錄如果archiveOnDelete設(shè)為false而整個(gè)過(guò)程對(duì)正在運(yùn)行的Pod零影響——因?yàn)镻od掛載的是NFS路徑不是Provisioner的Pod。3. 核心細(xì)節(jié)解析與實(shí)操要點(diǎn)從NFS服務(wù)器配置到StorageClass定義3.1 NFS服務(wù)器端安全與性能的平衡術(shù)NFS服務(wù)器不是隨便裝個(gè)nfs-kernel-server就能用的它需要針對(duì)K8s場(chǎng)景做三處關(guān)鍵加固目錄結(jié)構(gòu)規(guī)劃不要把所有動(dòng)態(tài)卷都塞進(jìn)/export根目錄下。我建議分三級(jí)路徑/data/k8s-volumes/cluster-name/namespace。比如/data/k8s-volumes/prod-cluster/default。這樣做的好處是1exportfs導(dǎo)出時(shí)可以精確控制每個(gè)命名空間的權(quán)限/data/k8s-volumes/prod-cluster/default *(rw,sync,no_root_squash)2運(yùn)維巡檢時(shí)du -sh /data/k8s-volumes/prod-cluster/*一眼看出哪個(gè)命名空間占空間最多3未來(lái)要做存儲(chǔ)配額可以直接在namespace目錄上用xfs_quota限制。exports配置的魔鬼細(xì)節(jié)/etc/exports里這一行看似簡(jiǎn)單實(shí)則暗藏玄機(jī)/data/k8s-volumes/prod-cluster *(rw,sync,no_root_squash,subtree_check,fsid0)sync強(qiáng)制同步寫(xiě)入避免NFS服務(wù)器崩潰導(dǎo)致數(shù)據(jù)丟失。雖然比async慢10%~15%但對(duì)日志、配置類場(chǎng)景數(shù)據(jù)一致性遠(yuǎn)比吞吐量重要。no_root_squash必須開(kāi)啟K8s里絕大多數(shù)容器以UID 0root運(yùn)行如果關(guān)閉此選項(xiàng)NFS會(huì)把root映射成nobody用戶導(dǎo)致Pod內(nèi)touch /mnt/test.txt失敗。但這也帶來(lái)風(fēng)險(xiǎn)——惡意Pod可能通過(guò)chown root:root提權(quán)。緩解方案是在Provisioner的parameters里加上mountOptions: [nfsvers4.1,hard,timeo600]讓掛載更健壯同時(shí)在NFS服務(wù)器上啟用rpcbind的防火墻白名單只允許K8s Node IP段訪問(wèn)。subtree_check開(kāi)啟子樹(shù)檢查防止客戶端繞過(guò)導(dǎo)出路徑訪問(wèn)上級(jí)目錄。雖然會(huì)略微降低性能但安全收益遠(yuǎn)大于成本。fsid0為整個(gè)導(dǎo)出樹(shù)指定唯一文件系統(tǒng)ID避免NFS客戶端混淆多個(gè)導(dǎo)出路徑。內(nèi)核參數(shù)調(diào)優(yōu)在NFS服務(wù)器上執(zhí)行以下命令解決高并發(fā)掛載時(shí)的Stale file handle錯(cuò)誤# 增加NFS服務(wù)器的TCP連接隊(duì)列長(zhǎng)度 echo net.core.somaxconn 65535 /etc/sysctl.conf # 提高NFS服務(wù)器處理RPC請(qǐng)求的線程數(shù)Ubuntu/Debian echo RPCBIND_OPTIONS--manage-gids /etc/default/rpcbind systemctl restart rpcbind # 對(duì)于RHEL/CentOS修改/etc/sysconfig/nfs echo RPCNFSDCOUNT32 /etc/sysconfig/nfs systemctl restart nfs-server這些參數(shù)不是憑空寫(xiě)的。去年某視頻平臺(tái)在壓測(cè)時(shí)100個(gè)Pod同時(shí)申請(qǐng)PVC前20個(gè)成功后80個(gè)全卡在Pending狀態(tài)。抓包發(fā)現(xiàn)是rpcbind的連接隊(duì)列溢出ss -s | grep tcp:顯示orphan連接數(shù)爆表。調(diào)大somaxconn后問(wèn)題消失。3.2 Kubernetes側(cè)StorageClass與Provisioner部署的黃金參數(shù)StorageClass是整個(gè)動(dòng)態(tài)供應(yīng)的“憲法”它的每一個(gè)字段都直接影響PVC的行為apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: nfs-client provisioner: k8s-sigs.io/nfs-subdir-external-provisioner # 必須和Provisioner Deployment里spec.template.spec.containers[0].args[0]一致 parameters: archiveOnDelete: false # 關(guān)鍵設(shè)為true會(huì)在刪除PVC時(shí)重命名目錄為archived-name設(shè)為false則徹底刪除 onDelete: delete # 配合archiveOnDelete決定PV被回收時(shí)的動(dòng)作 pathPattern: ${.PVC.namespace}/${.PVC.name} # 動(dòng)態(tài)生成NFS路徑的模板${.PVC.namespace}會(huì)被替換成PVC所在命名空間 reclaimPolicy: Delete # PV回收策略必須是Delete或Retain不能是Recycle已廢棄 volumeBindingMode: Immediate # 立即綁定PVC創(chuàng)建后立刻觸發(fā)Provisioner也可設(shè)為WaitForFirstConsumer延遲到Pod創(chuàng)建時(shí)再綁定適合需要拓?fù)涓兄膱?chǎng)景其中pathPattern參數(shù)最容易被忽略但它決定了你的NFS目錄結(jié)構(gòu)是否可管理。默認(rèn)值是${.PVC.namespace}/${.PVC.name}這意味著PVCdefault/my-app-logs會(huì)映射到NFS路徑/data/k8s-volumes/prod-cluster/default/my-app-logs。但如果你的業(yè)務(wù)要求所有日志卷必須放在/logs子目錄下可以改成logs/${.PVC.namespace}-${.PVC.name}。注意pathPattern里不能出現(xiàn)..或絕對(duì)路徑符號(hào)Provisioner會(huì)校驗(yàn)并拒絕非法模式。Provisioner Deployment的部署也有講究。官方Y(jié)AML里args部分通常長(zhǎng)這樣args: - -provisionercluster.local/nfs-client這里的cluster.local是K8s集群的域名后綴必須和你集群的實(shí)際clusterDomain一致可通過(guò)kubectl get cm -n kube-system coredns -o yaml查看。如果填錯(cuò)Provisioner會(huì)一直報(bào)failed to get server version錯(cuò)誤因?yàn)檫B不上API Server。另外resources.requests.memory建議至少設(shè)為128Mi否則在高負(fù)載集群里Provisioner Pod可能被OOMKilled導(dǎo)致PVC創(chuàng)建失敗。注意Provisioner的ServiceAccount必須有足夠權(quán)限。最小化RBAC清單如下apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: nfs-provisioner-runner rules: - apiGroups: [] resources: [persistentvolumes] verbs: [get, list, watch, create, delete] - apiGroups: [] resources: [persistentvolumeclaims] verbs: [get, list, watch, update] - apiGroups: [storage.k8s.io] resources: [storageclasses] verbs: [get, list, watch] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: run-nfs-provisioner subjects: - kind: ServiceAccount name: nfs-provisioner namespace: default roleRef: kind: ClusterRole name: nfs-provisioner-runner apiGroup: rbac.authorization.k8s.io3.3 PVC與Pod掛載那些文檔里不會(huì)寫(xiě)的細(xì)節(jié)定義一個(gè)PVC看似簡(jiǎn)單但有幾個(gè)坑必須避開(kāi)apiVersion: v1 kind: PersistentVolumeClaim metadata: name: my-app-logs namespace: default spec: accessModes: - ReadWriteMany # 關(guān)鍵NFS必須用RWX不能用ReadWriteOnceRWO resources: requests: storage: 10Gi storageClassName: nfs-client # 必須和上面定義的StorageClass name一致accessModes必須是ReadWriteManyRWX這是NFS區(qū)別于塊存儲(chǔ)的核心特征。ReadWriteOnceRWO意味著卷只能被一個(gè)Node掛載而NFS服務(wù)器允許多個(gè)客戶端同時(shí)掛載同一路徑所以K8s里NFS PV的accessModes永遠(yuǎn)是RWX。如果你誤寫(xiě)了RWOPVC會(huì)一直處于Pending狀態(tài)kubectl describe pvc會(huì)顯示no persistent volumes available for this claim and no storage class is set——這不是沒(méi)PV而是PV的accessModes和PVC不匹配。存儲(chǔ)大小只是“軟限制”NFS本身不支持配額除非你額外配xfs_quota所以requests.storage: 10Gi只是告訴Provisioner“請(qǐng)給我建個(gè)目錄”并不阻止Pod往里面寫(xiě)100Gi數(shù)據(jù)。真正的空間控制得靠NFS服務(wù)器端的quota或監(jiān)控告警。我習(xí)慣在NFS服務(wù)器上部署node_exporter用Prometheus采集node_filesystem_avail_bytes{mountpoint~/data/k8s-volumes/.*}指標(biāo)當(dāng)可用空間低于15%時(shí)觸發(fā)企業(yè)微信告警。Pod掛載PVC時(shí)還有一個(gè)隱藏技巧利用subPath實(shí)現(xiàn)單個(gè)PVC多用途。比如一個(gè)10Gi的PVC你想讓W(xué)eb容器寫(xiě)日志到/var/log/nginx讓Sidecar容器收集日志到/logs可以這樣寫(xiě)volumeMounts: - name: app-storage mountPath: /var/log/nginx subPath: nginx-logs - name: app-storage mountPath: /logs subPath: collected-logs volumes: - name: app-storage persistentVolumeClaim: claimName: my-app-logs這樣兩個(gè)容器實(shí)際共享同一個(gè)NFS目錄下的不同子目錄既節(jié)省PV數(shù)量又避免權(quán)限沖突。subPath的另一個(gè)妙用是當(dāng)PVC里已有歷史數(shù)據(jù)而你只想讓Pod讀取其中某個(gè)子目錄時(shí)用subPath可以精準(zhǔn)定位不用把整個(gè)卷掛載進(jìn)來(lái)污染容器根文件系統(tǒng)。4. 實(shí)操過(guò)程與核心環(huán)節(jié)實(shí)現(xiàn)從零部署到驗(yàn)證全流程4.1 環(huán)境準(zhǔn)備與前置檢查清單在動(dòng)手之前務(wù)必完成以下五項(xiàng)檢查否則90%的失敗都源于這里NFS服務(wù)器連通性驗(yàn)證從任意一個(gè)K8s Node上執(zhí)行# 檢查NFS服務(wù)是否響應(yīng) showmount -e nfs-server-ip # 嘗試手動(dòng)掛載模擬Kubelet行為 mkdir -p /mnt/test-nfs mount -t nfs4 -o vers4.1,hard,intr,rsize1048576,wsize1048576 nfs-server-ip:/data/k8s-volumes/prod-cluster /mnt/test-nfs echo test /mnt/test-nfs/hello.txt cat /mnt/test-nfs/hello.txt umount /mnt/test-nfs如果showmount超時(shí)檢查NFS服務(wù)器防火墻ufw status或firewall-cmd --list-all是否放行2049/tcp和111/tcp端口如果mount失敗且報(bào)Operation not permitted檢查Node內(nèi)核是否加載nfs模塊lsmod | grep nfs。K8s集群版本確認(rèn)nfs-subdir-external-provisionerv4.0.2要求K8s 1.20。執(zhí)行kubectl version --short如果Server版本低于1.20必須降級(jí)使用v3.x分支。Provisioner鏡像選擇官方鏡像registry.k8s.io/sig-storage/nfs-subdir-external-provisioner:v4.0.2在國(guó)內(nèi)拉取極慢。我推薦用阿里云鏡像加速kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/nfs-subdir-external-provisioner/master/deploy/class.yaml # 修改deployment.yaml將image改為 # image: registry.cn-hangzhou.aliyuncs.com/google_containers/nfs-subdir-external-provisioner:v4.0.2Namespace隔離Provisioner默認(rèn)部署在default命名空間。生產(chǎn)環(huán)境強(qiáng)烈建議新建storage命名空間并修改所有YAML里的namespace: storage避免和業(yè)務(wù)Pod混在一起。NFS服務(wù)器磁盤(pán)健康執(zhí)行smartctl -a /dev/sdb假設(shè)/data在sdb上檢查Reallocated_Sector_Ct和Current_Pending_Sector是否為0。曾有個(gè)案例NFS服務(wù)器硬盤(pán)有壞道導(dǎo)致Provisioner創(chuàng)建目錄時(shí)偶爾失敗錯(cuò)誤日志里只顯示mkdir: cannot create directory排查三天才發(fā)現(xiàn)是硬件問(wèn)題。4.2 分步部署手把手帶你走通全流程第一步部署Provisioner含RBAC保存以下內(nèi)容為provisioner-deploy.yaml--- apiVersion: v1 kind: ServiceAccount metadata: name: nfs-provisioner namespace: storage --- # RBAC內(nèi)容同3.2節(jié)最小化RBAC清單 --- apiVersion: apps/v1 kind: Deployment metadata: name: nfs-provisioner namespace: storage spec: replicas: 1 selector: matchLabels: app: nfs-provisioner strategy: type: Recreate template: metadata: labels: app: nfs-provisioner spec: serviceAccount: nfs-provisioner containers: - name: nfs-provisioner image: registry.cn-hangzhou.aliyuncs.com/google_containers/nfs-subdir-external-provisioner:v4.0.2 volumeMounts: - name: nfs-client-root mountPath: /persistentvolumes env: - name: PROVISIONER_NAME value: k8s-sigs.io/nfs-subdir-external-provisioner - name: NFS_SERVER value: 192.168.1.100 # 替換為你的NFS服務(wù)器IP - name: NFS_PATH value: /data/k8s-volumes/prod-cluster # 替換為你的基礎(chǔ)路徑 volumes: - name: nfs-client-root nfs: server: 192.168.1.100 path: /data/k8s-volumes/prod-cluster執(zhí)行kubectl apply -f provisioner-deploy.yaml。等待Pod就緒kubectl get pods -n storage -l appnfs-provisioner # 應(yīng)看到 STATUSRunningREADY1/1 kubectl logs -n storage deploy/nfs-provisioner | head -20 # 正常日志應(yīng)包含 Starting NFS Subdir External Provisioner第二步創(chuàng)建StorageClass保存為storageclass.yamlapiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: nfs-client annotations: storageclass.kubernetes.io/is-default-class: true # 設(shè)為默認(rèn)省去PVC里寫(xiě)storageClassName provisioner: k8s-sigs.io/nfs-subdir-external-provisioner parameters: archiveOnDelete: false pathPattern: ${.PVC.namespace}/${.PVC.name} reclaimPolicy: Delete volumeBindingMode: Immediate執(zhí)行kubectl apply -f storageclass.yaml。驗(yàn)證kubectl get sc # 輸出應(yīng)包含 nfs-client k8s-sigs.io/nfs-subdir-external-provisioner Delete Immediate false第三步創(chuàng)建測(cè)試PVC與Pod保存為test-app.yamlapiVersion: v1 kind: PersistentVolumeClaim metadata: name: test-pvc namespace: default spec: accessModes: - ReadWriteMany resources: requests: storage: 1Gi --- apiVersion: v1 kind: Pod metadata: name: test-pod namespace: default spec: containers: - name: nginx image: nginx:alpine volumeMounts: - name: nfs-volume mountPath: /usr/share/nginx/html volumes: - name: nfs-volume persistentVolumeClaim: claimName: test-pvc執(zhí)行kubectl apply -f test-app.yaml。觀察狀態(tài)kubectl get pvc -n default # 應(yīng)看到 STATUSBoundVOLUMEpvc-xxxxxx自動(dòng)生成的PV名 kubectl get pv # 找到對(duì)應(yīng)PV檢查SPEC.NFS.PATH是否為/data/k8s-volumes/prod-cluster/default/test-pvc-xxxxxx kubectl exec -it test-pod -- sh -c echo Hello from NFS /usr/share/nginx/html/index.html # 在Node上檢查NFS服務(wù)器ls -l /data/k8s-volumes/prod-cluster/default/test-pvc-xxxxxx/ # 應(yīng)看到index.html文件且屬主為nobody:nogroupNFS默認(rèn)映射第四步壓力測(cè)試與邊界驗(yàn)證創(chuàng)建10個(gè)并發(fā)PVC驗(yàn)證Provisioner穩(wěn)定性for i in {1..10}; do cat EOF | kubectl apply -f - apiVersion: v1 kind: PersistentVolumeClaim metadata: name: stress-pvc-$i namespace: default spec: accessModes: - ReadWriteMany resources: requests: storage: 500Mi storageClassName: nfs-client EOF done等待2分鐘執(zhí)行kubectl get pvc -n default | grep stress-pvc | wc -l # 應(yīng)輸出10 kubectl get pv | grep stress-pvc | wc -l # 應(yīng)輸出10 # 登錄NFS服務(wù)器檢查目錄數(shù)量 ls -l /data/k8s-volumes/prod-cluster/default/ | grep stress-pvc | wc -l # 應(yīng)輸出10如果某個(gè)PVC卡在Pending立即看Provisioner日志kubectl logs -n storage deploy/nfs-provisioner --since1m | grep -A5 -B5 stress-pvc-5 # 常見(jiàn)錯(cuò)誤mkdir: cannot create directory ‘/data/k8s-volumes/prod-cluster/default/stress-pvc-5’: Permission denied # 解決檢查NFS服務(wù)器上/data/k8s-volumes/prod-cluster目錄權(quán)限應(yīng)為777或755且屬主為nfsnobody4.3 生產(chǎn)級(jí)增強(qiáng)監(jiān)控、備份與故障演練動(dòng)態(tài)供應(yīng)只是起點(diǎn)生產(chǎn)環(huán)境必須配套三件事監(jiān)控Provisioner健康度在Prometheus里添加以下指標(biāo)抓取- job_name: nfs-provisioner static_configs: - targets: [nfs-provisioner-service:8080] # Provisioner自帶/metrics端點(diǎn) metrics_path: /metrics關(guān)鍵告警規(guī)則nfs_provisioner_pvc_create_total{statuserror} 0PVC創(chuàng)建失敗立即告警rate(nfs_provisioner_pvc_create_duration_seconds_sum[5m]) / rate(nfs_provisioner_pvc_create_duration_seconds_count[5m]) 30平均創(chuàng)建耗時(shí)超30秒說(shuō)明NFS服務(wù)器IO瓶頸NFS目錄自動(dòng)備份在NFS服務(wù)器上配置rsync定時(shí)任務(wù)每天凌晨2點(diǎn)同步/data/k8s-volumes/prod-cluster到異地備份機(jī)# /etc/cron.d/nfs-backup 0 2 * * * root rsync -avz --delete /data/k8s-volumes/prod-cluster/ backup-userbackup-server:/backup/nfs-prod/注意--delete參數(shù)確保備份目錄和源目錄完全一致但首次運(yùn)行前務(wù)必手動(dòng)驗(yàn)證rsync -ndry-run。故障演練腳本編寫(xiě)一個(gè)failover-test.sh模擬NFS服務(wù)器宕機(jī)# 1. 記錄當(dāng)前PVC狀態(tài) kubectl get pvc -A before-failover.txt # 2. 在NFS服務(wù)器上停服務(wù) systemctl stop nfs-server # 3. 等待30秒檢查Pod是否受影響 kubectl get pods -A | grep Running | wc -l # 應(yīng)基本不變NFS客戶端有重試機(jī)制 # 4. 恢復(fù)服務(wù) systemctl start nfs-server # 5. 驗(yàn)證Pod能否繼續(xù)IO kubectl exec test-pod -- sh -c date /usr/share/nginx/html/timestamp.log實(shí)測(cè)結(jié)果NFS客戶端默認(rèn)重試1000次間隔從0.1秒指數(shù)增長(zhǎng)總超時(shí)約3分鐘。這意味著只要NFS服務(wù)器在3分鐘內(nèi)恢復(fù)業(yè)務(wù)Pod完全無(wú)感。這個(gè)數(shù)據(jù)比任何文檔都管用。5. 常見(jiàn)問(wèn)題與排查技巧實(shí)錄那些踩過(guò)的坑我都幫你記下來(lái)了5.1 PVC長(zhǎng)期Pending不只是網(wǎng)絡(luò)問(wèn)題這是最高頻的故障現(xiàn)象是kubectl get pvc顯示Pendingkubectl describe pvc里Events為空或只有waiting for a volume to be created。別急著查網(wǎng)絡(luò)先按順序排查排查步驟檢查命令預(yù)期結(jié)果常見(jiàn)原因1. Provisioner Pod是否Runningkubectl get pods -n storage -l appnfs-provisionerSTATUSRunningPod CrashLoopBackOff通常是RBAC權(quán)限不足或NFS服務(wù)器地址填錯(cuò)2. Provisioner日志是否有錯(cuò)誤kubectl logs -n storage deploy/nfs-provisioner --tail50無(wú)ERROR或panic日志里出現(xiàn)failed to create volume: mkdir: permission denied說(shuō)明NFS服務(wù)器目錄權(quán)限不對(duì)3. StorageClass是否存在且名稱匹配kubectl get sc輸出包含nfs-clientPVC里storageClassName拼寫(xiě)錯(cuò)誤如寫(xiě)成nfs-client-14. PVC的accessModes是否為RWXkubectl get pvc test-pvc -o yaml | grep accessModesaccessModes: [ReadWriteMany]誤寫(xiě)為ReadWriteOnceK8s無(wú)法匹配PV5. NFS服務(wù)器是否能被Provisioner Pod訪問(wèn)kubectl exec -n storage deploy/nfs-provisioner -- ping -c 3 192.168.1.10064 bytes from ...Provisioner Pod所在Node的網(wǎng)絡(luò)策略NetworkPolicy阻止了出向流量我遇到過(guò)最詭異的一次所有檢查都通過(guò)但PVC就是Pending。最后發(fā)現(xiàn)是NFS服務(wù)器的/etc/exports里用了主機(jī)名nfs-server.local代替IP而Provisioner Pod的/etc/resolv.conf里DNS服務(wù)器配置錯(cuò)誤導(dǎo)致showmount -e nfs-server.local超時(shí)。解決方案很簡(jiǎn)單/etc/exports里一律用IP永不寫(xiě)主機(jī)名。5.2 Pod掛載后Permission DeniedNFS權(quán)限的迷宮Pod里執(zhí)行touch /mnt/test.txt報(bào)Permission denied90%的情況是NFS的root_squash惹的禍。但解決方案不止一種方案A推薦NFS服務(wù)器端關(guān)閉root_squash修改/etc/exports把*(rw,sync)改成*(rw,sync,no_root_squash)然后exportfs -ra重載。這是最直接的解法適用于內(nèi)網(wǎng)可信環(huán)境。方案BPod內(nèi)以非root用戶運(yùn)行在Pod spec里加securityContext: runAsUser: 1001 runAsGroup: 1001 fsGroup: 1001同時(shí)確保NFS服務(wù)器上/data/k8s-volumes/prod-cluster目錄屬主為1001:1001權(quán)限為775。這樣Pod以UID 1001運(yùn)行NFS會(huì)將其映射為真實(shí)UID 1001自然有寫(xiě)權(quán)限。方案CProvisioner自動(dòng)修復(fù)權(quán)限高級(jí)在Provisioner的parameters里加parameters: archiveOnDelete: false pathPattern: ${.PVC.namespace}/${.PVC.name} onDemand: chmod 777 # Provisioner創(chuàng)建目錄后自動(dòng)執(zhí)行chmod注意onDemand參數(shù)需要Provisioner v4.0.0且必須確保NFS服務(wù)器上/data/k8s-volumes/prod-cluster目錄的父目錄有setgid位chmod gs /data/k8s-volumes/prod-cluster否則新目錄的屬組不會(huì)繼承。5.3 動(dòng)態(tài)卷被意外刪除如何找回“消失”的數(shù)據(jù)當(dāng)archiveOnDelete: true時(shí)刪除PVC會(huì)重命名目錄為archived-default-test-pvc-xxxxxx。但如果誤設(shè)為false數(shù)據(jù)就真沒(méi)了。這時(shí)候別慌NFS服務(wù)器的/data/k8s-volumes/prod-cluster目錄下可能還有線索**檢查.nfs*臨時(shí)
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久久狠狠色噜噜狠狠狠狠97| 欧美很很操视频| 欧美亚洲第1页| 二级久久网| 亚洲脚交| 亚洲天堂人妻熟妇视频| 欧美九九爱| 夜夜免费视频| 久久久久久亚洲Av无码精| 日韩AV一起草| 亚洲熟女乱色一区二区三区久久久| 大粗鳼巴久久久久| 欧美性爱三区二区| 色眯眯av| 婷婷五月天基地| 亚洲精品尤物yw在线影院| 亚洲交换| 亚洲经典啪啪| 三级精品三级在线观看| 亚洲国男人的天堂| 少妇天堂| 欧美制服另类丝袜| 97精品| 午夜激情床戏激情| 国产极品粉嫩馒头一线天av| 亚洲天天自拍| 干干干天天| 久久久99999久网站| 中文字幕乱码人妻二区三区| 97超碰久久色| 在线观看日韩av不卡| 狠狠色五月亚洲91| 青青草好吊色| 97久久超碰| 人妻天天爽夜夜爽爽| 伊人久久综合精品欧美| 东北女人操比视频| 密臀在线免费观看| 秋霞成人一级在线观看| 东京热,男人的天堂| 久久五月视频| 日操粉逼逼| 日韩三级一区 | 78m啪啪啪| 日韩精品9999| 青青草视频久久久久| 国产高清自拍| 亚洲91网| 欧美在线|亚洲| 国产精品 亚洲情色| 亚洲国产另类在线中文| 99久热精品99re6热| 久久成人东京热人妻| 欧美97视频| 国产不卡精品91| 99成人| 国产乱伦视频污| 久久久久久久久久9| 伊人色综合超碰| 日韩97超碰中文字幕| 日韩精品中文字幕一| 先锋影音av先锋一区| 国产一区二区精品在线视频| 91男同| 熟妇熟女一区二三区| 吻戏激情性巴克| 欧美日韩大香蕉| 加勒比aⅴ| www.91视频网| 国产偷拍网站| 亚洲人妻中文在线视频| 日韩色欲久久一二三四区| 久久首页| 强免费黄色网址| 免费在线黄片视频| 男人的天堂啪啪啪啪啪蜜桃不卡| 午夜久久一区二区无码中出| 男人的天堂不卡一区二区| 成人五月香网在线| 午夜精品久久久久久久99热影院| 999久久久九| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 中文字幕精品亚洲熟女| 国产性感骚丝袜在线| 午夜性| 午夜福利在线合集| 久久免费少妇| 99无码狠狠久久| 人人操人人色人人摸| 黄在线| 无码人妻一区二区一牛影视| 精品人妻视频一区二区三区蜜桃视频| 少妇久久久免费| 好爽免费视频| 欧洲性爱无码区| 日韩不卡毛片Av免费高清| www..com操老师| 欧美亚洲日韩人妻在线观看| 骚逼一区二区| 精品欧美不卡在线播放| 五月婷婷激情网| 男人的天堂欧美| 2017天天透天天通天天擦| 色综91| 1769精品一区二区三区| 男人天堂综合| 秋霞 色色| 无码 有码 国产18p| 亚洲精品第一| 四虎在线观看网站| 在线免费观看日韩一区| 国产亚州高清国产拍精| 欧美+日产+中文| 麻豆天美久久91| 久偷拍欧美日韩三区| 人妻三级在线中文字幕| 国产精品女生av| 丁香色狠狠色综合久久小说| 中文字幕老熟妇黄色视频| 啊啊啊好大好深| 亚洲综合网电影91| 国产亚洲精品美女久久久m| 女人天堂网| 观看免费区二区三区二| 97摸视频| 久久成人国产精品| 欧姜老司机| 男生女生啊啊啊啊| 激情五月综合网| 奇米四色网| 97在线观看视频| 台湾大香蕉99热| 99热18| av2014 日韩在线中文字幕| 操逼啊啊啊91| 大香蕉线| 欧美日本天堂| 69综合网| 香一区二区三区| 婷婷久久大香蕉| 亚洲国产ⅴ高清在线观看| 91久久久久久久久18| 国产精品一级二级在线| 99久久综合| 在线黄页看毛片| 91 手机在线播放 绯色| 成人日韩中文字幕| 久久99国产精品| 乱码人妻一区二区三区| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 极品欧美一区二区三区| 精品午夜福利| 日韩有码中文字幕女同性恋| 午夜九九| 深夜激情| 午夜九九| 91熟女视频网| 日韩欧美天堂| 午夜福利 成人 91| 亚洲狠狠入| 大香交| 天天拍天| 天天综合91入口| 黑人精品欧美一区二区蜜桃| 国产一区二区三三视频| 久久蜜色情在线视频xxx免费观看| 欧美情色贴图| 久久成人国产精品| 国产一级舔足在线观看| 天天综合91| 亚洲激情视频| 人人妻碰人人免费| 久久国产热视频97电影| 美中日韩无码| 操逼逼无码| 欧美久热| 色色国产| 精品人妻一区二区三区视频在线| 欧美日韩m| 亚洲青青青视频在线| 一区二区你上我| 日韩精品三区四区| 另类 综合 日韩 欧美 亚洲| 麻豆精品天美| 中文字幕成人乱码熟女精品国50 | 人人妻人人爽 97人人看碰人免费公开视频| 中日韩一区二区三区欧美| 亚洲无码超碰免费| aaaa黄片| 肉丝网站91| 亚洲欧美日韩电影网站一区 | 东京热精品97综合网| 极品色电影院| 97综合在线| 久久天天艹| 二色av| 午夜情侣自拍网站| 欧美激色| 精品欧美老熟女一二区| 成全在线观看免费观看| 久久久com| 色综合潮| 日韩一卡二卡三卡| 99re国产精品视频| 九九热九九热| 婷婷丁香人妻| 青青操综合网| 91暧暧| 亚洲熟女人妻中文字幕一区二区| 天天拍夜夜| 岛国毛片手机在线观看| 91丝袜在线观看| 久久日韩肥臀| 国产精品农村妇女精品| 日韩av电影成人在线| 狠狠爱综合| 国产九区| 亚洲国产精品成人综合| 神马久久久久眼| 九九九九精品在线| 国产精品探花视频| 亚州色国| 欧美日韩电影成人在线| 9 7超碰在线免费观看| 青青草视频导航官网| 东北熟女91| 色色色999| 干美女人妻| 成 人 影视 一区 二区 三区 四区 | 亚洲欧美啪啪| 日韩精品黄片免费观看| 一级性爱啪啪视频| JULIA人妻风俗店中出电影| 蜜臀久久99精品久久久久电影| 亚洲人妻中文高清| 人人摸人人舔一区二区| 中文字幕乱亚洲美女精品一区| 99热只有这里有精品| 天天草AV| 日韩黄色电影网站| 日韩三级av片| 亚殴在线| 日本精品网站在线中文| 亚洲色91C| 三级特黄60分钟播放| 午夜精品一区二区三区三上悠亚| 久久黄人人爽视频| 天天干天天操天天操夜夜操天天操| 加勒比综合88| 91成人高清在线观看| 思思热在线视频免费| 欧美专区第一页| 国产亚洲欧美每日在线| 日本熟妇色熟妇在线视频播放| 熟女五十路一区二区三| 91狠狠狠| 国产九九久久久精品| 四虎精品一区| 精品久久視頻在线| 吖在线不卡一区二区国产剧情 | 亚洲精品 欧美精品| 成人性爱高清视频免费看| 精品少妇高潮久久| 天综合网| 777琪琪午夜免费A片| 久神马| 人人扣人人操| 天天操妹子| 色鬼在线综合| 色999;丁香五月| 久久精品一区二区三区四区五区| 激情视频一二三| www久久久| 日韩激情无码影院| 午夜九九| 品亲网欧美品亲网| 天天欧美色| 亚洲午夜福利在线影院| 蜜臀久久99精品久久久电影| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 人妻密肉在线观看| 五月丁香啪啪网| 素人一区二区三区日韩| 亚洲日韩电影| 欧美少妇高潮视频| se,,,亚洲欧美| 亚洲免费在线探花| 爱啪精品一区| 中国少妇XXXX做受| 色欲天天综合久久久无码网中文| 99黄页网站| 中文字幕乱碼在线| 狠狠中文字幕| 北条麻妃性愛视频| 免费男人的天堂| 黑丝日韩av丝袜av| 日韩中文字幕熟妇人妻| 天天看综合网| 亚码激情| 日韩精品99999| 激情久久久| 911av网站免费观看| 操逼操逼操| 久操免费观看| 久久99九九九九6666免费观看软件| 一二三四视频在线社区中文字幕| 亚洲熟妇图片| 久都青青视频 | 99精品视频在线观看免费| 国产一区二区二区按摩精品啪视频| 天天干夜夜操一区二区| 夜夜嗨老熟女AV一区二区三区| 亚洲 另类 丝袜 自拍 动漫| 日夜干射色啊| 欲色啪| 天天日天天操VV| 婷婷色网| 婷婷探花久久精品一区| 67914在线兔费成人视频| 天天综合网~91| 国产精品农村妇女| 乱伦熟妇一区二区| 欧美性爱91| www黄片免费看com| 桃色五月天| 国产高清午夜成人在线观看| 欧美性五月| 少妇免费视频| 色色激情五月天| 成人综合色网| 欧美 亚洲 另类 综合| 日韩熟女视频二区| 屁股久久久久久| av毛片aaaaa免费看| 国产亚洲日韩欧| 国产AV久久野战精品| 在线另类| www.AV有限公司一区| 熟妇一区,二区,三区。| 女人天堂av在线播放| 色操逼网| 女同在线视频一区| 老女人老91妇女老热女| 精精品人妻一区二区三区| 日韩电影在线观看网址| 2020中文字幕| 亚洲第一黄色av网站| 国产亚洲色婷婷久久99精品91| 亚洲日产专区| 99999这里都精品| 丁香九月婷婷| 天堂种子在线www网资源| 宅男91视频在线播放| 日韩黄色小说| 国产一区二区三区白丝| 91欧美高清| 美女骚尻视频| 福利社区午夜一区二区| 青青草原人妻| 欧美春色| 成年人性爱日韩| 91网站18在线| 麻豆国产97在线| 婷色五月| 91精品国产91久久久久久久久久久久| 欧美日韩免费性爱| 狠狠搞 亚洲91| 热99re69精品8在线播放| 亚洲激情网一二三四区| 欧美性夜| 97欧美色综合| 中文字幕在线观看永久| 丰满人妻一区二区三区在线| 欧美 亚洲精品首页| 中文自拍欧美影视| 人妻熟女一区二区| 多乙久久久久久| 久久久久久久久久精| 人妻一区二区三区视频| 美女露胸露尿口| 亚洲 日本 不卡| 爱爱啊啊啊| 人妻无码视频一区二区三区久久| 国产精品不卡高清在线观看| 草草影院在线视频| 亚州精品人妻一二三区| 久久久18| 超碰在线91| 亚洲无套久久嗯嗯| 欧美人体性爱互联网第一页婷婷日本| 9久9久9久9久视频网站| 中文字幕超碰CAO| 人妻丝袜日本| 在线啊啊啊啊| 八戒午夜福利理论片| 96精品久久久久中文字幕| 成全动漫视频观看免费下载| 97在线国产精品| 97无码视频在线播放| 久久一二三四五六七八九区区| 欧美熟妇成人一区二区| 亚码人妻| 色五月婷婷久久| 校园春色亚洲| 久久鲁夜| 久久香蕉影院| 熟女乱3伦999| 91青青在线视频| 99热9| 日韩人妻精品久久久久| 亚洲超碰97| 九九av| 伊色久人大在线| 国产操操日韩三级黄| 2020天天色综合| 日韩美女久久一区二区三区| 久久av一级av少妇av高潮| 国产精品另类一区大香蕉| 97天天摸天天碰| 欧美一区二区三区蜜桃| 天天网综合| 天天内射| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 久久的免费性爱视频| 亚洲天堂一二| 欧美日韩电影一区二区| 欧美在线观看综合国产| 日韩欧美大片免费高清啪啪| 99 国产丝袜在线| 国产精品成人久久一区二区三区| xxx0国产在线播放| 亚洲天堂一区| 97超碰公开| 欧美综合在线91| 嗯嗯嗯啊啊啊在线免费观看| 乱伦日本色图AⅤ| 天天射天天| 中国和日本人色哪个不下载能放| 330Dv国产女人终合视频极品人与兽 | 91亚.色| 美女大乳久久久久久久女人18| 天天肏夜夜肏| 日韩人成网站在线播放| 91伊人久| 女人与公拘交酡2020视频| 中文字幕乱妇免费视频| 麻豆区久久久久亚| 97se综合| 欧美图片校园春色| 3D污黄视频在线观看| 99久久久久久久久| 欧美 日韩 婷婷 五月| heyZO天然素人无码AⅤ专区| 96久久久精品| 色香伊人| 色情婷婷久久五月天| 欧美亚洲玖玖玖| 99激情| 五月天婷婷久久| 国产成人网址| 蜜臀av一区二区三区免费观看| 亚洲日本韩国在线| 99精品久久久久久久婷婷蜜桃| 日韩人妻中文视频| 免费啪啪啪网站18岁| 亚洲中文字母在线播放| 一块操欧美性爱| 亚洲熟女中文字幕在线| 五月天丁香网| 亚洲情色电影网| 亚洲熟女国产综合另类| 久久久久久久78| 亚洲黄色网址视频| 乱伦a片视频| 久久直播国产| 欧美视频在线视频免费va| 婷婷伊人网| 91ise欧美| 久日91在线| 羞答答AV中文字| 78操B| 一区二区免费电影久久| 国产中文字幕曰本毛片| 狂操嫩妻视频一区二区三区| 欧美一区二区三区大综合| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 天天色,天天干,天天干| 久久xxxx| 大香网站| 男人的天堂日韩| 激情文学亚洲| 青青草原成人| 性色AV网站| 欧美啪啪女女| 午夜欧美J进J出白浆流出久久久| 蜜臀th| 999久久久| 入口操逼网站| 久久中日麻豆| 99re黄| 国产大学生口爆吞精合集| 中文字幕在线观看丝袜| 国产一区二区久久| 国产粉嫩蜜臀av一区二区三区 | 黑人性欧美| 欧美精品一区二区少妇免费A片| 九九九九九九九精品视频| 98超碰日本| 欧美日韩国产成人高清| 天天爽天天操| 色婷婷日韩精品一区二区三区| 大屁股人妻女教师撅着屁股| 午夜免费视频1000| 夜夜国自区| 国产精品久久99日日| 亚洲AV免费在线观看| 怡红院成人视频| 久久亚洲欧美中文字幕国语| 丰满少妇一区二区三区专区| 亚州综| 天天日天天插| 蜜臀中文无码午夜| 久久丁香五月天| 91亚.色| 日韩AC| 97草草| 午夜黄色免费在线观看| 国产丸一视频| 中国探花熟女| 国产精品禁久久久精品| www.色婷婷色综合| 大香蕉人妻久久| 欧美性爱五月天| 大香蕉99999| 国产乱码久久| 99re免费视频精品全部| 综合少妇网| 色眯眯av| dy888午夜老子影视达达兔| 亚洲精品免费中文字幕| 蜜臀人妻少妇久久在线观看| 色欧美综合| 999狠狠综合| 久久 国产 无码| 日韩在线97| 国产精品成人蜜臀AV在线| Julia Annxxxxx| 9色在线| 激情综合网激情综合| 日韩内射视频| 婷婷激情五月天小说网| 中文字幕黄色一起草| 美女尤物福利视频| 国产精品999zyz| 啊啊啊 在线| 久久久久性熟视频| 国产精品久久久久久久毛片1| 91天天综合在线观看| 911av网站免费观看| 插老姨肥穴| 无色无码| 强奸乱伦免费网站| 亚欧美无遮挡| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 欧美日韩中文字幕不卡| 色哟哟-国产专区| www成人啪啪18秘 免费| 97干97色| 欧美同性恋 的搜索结果 - 91n| 九九无码久久精品视频| 欧美性爱视频免费一区一A| 亚洲熟女综合一区二区| 亚洲综合九| 久久人人妻| 久久草大香蕉| 免费啪啪一级视频| 激情黄色片在线观看| 91九九九小逼| 91女人的网站| 六六久久日韩不卡| 熟女欧美日韩综合婷婷| a人欧美综合天堂麻豆| 久久久久99999| 九九国产热| 神马午夜久久久| 人妻少妇蜜桃视频欧美一区| 999岛国大片| 蜜乳AV一区| 黑人美精品 A片| 久久久久深夜无码| 高清不卡 中文 人妻| 97免费免费视频网| 99精品网站| 久久的网站啊啊啊啊啊| 翘臀vidoes| 欧美少妇大量自拍视频在线观看| 日本三级日本三级99| 日韩中文字幕在线视频观看| 一,爱啪啪,在线免费视频| 日日夜夜精品| 日本熟女中文字幕一区| 国产久久成人| 国产大学生口爆吞精合集| 日本高清视频xxxx| 免费一级黄色录像影片| 26uuu性| 强奸乱伦日韩AV| 3D污黄视频在线观看| 91操人| 国产久久久久久久久一区二区 | 日韩美一区| 九一屌逼| 美日韩一二三区| 国产乱子伦一区二区三区免看| 精品欧美日韩在线观看| 国产午夜福利合集| 97爱综合| 制度丝袜99| 亚洲精品久久久久久久蜜桃臀| 一区在线观看中文字幕| 91亚洲黑人| 国产成自自拍在线观看| 亚洲999综合| 极品美女嘿咻| 91青青草| 欧美精品成人在线播放| 丁香五月天激情| 国产精品经典一卡久久久| 亚洲青色欧美| 日逼97| 伦激情人妻另类人妻| 欧洲一级性爱视频在线观看| 亚洲一区二区三区久久 亚洲一区二区| 9ⅰ久久久天天| 国产97免费视频| 丁香婷婷激情五月天无毒不卡| 亚洲 另类 丝袜 自拍 动漫| 日韩91网| 中日亚韩免费视频| 粉嫩国产精品久久粉嫩| 精吧天堂| 狠狠久久手机视频精品| 天天综合网合集91| 97这里只有精品| 伊人五月天激情| 无码一区二区三区四区五区六区七区八区九区十区视频 | 精…码一二三区| 欧美精品99久久久**| 看看小穴| 91n处女在线观看| 国产精品久久久久久无码红治院| 天美精品av| 91丝袜美腿片| 麻豆国产精品午夜视频| 婷婷在线播放| 超碰综合97在线| 国产九九九九九九九九| 色偷偷2020免费视频播放| 欧美十八禁视频| 水野优香在线观看| 狠狠干妹子| 小视频国产| 厕所偷拍在线| 国产精品久久| 九九九九九九九精品视频| 久久美国毛片| 手机在线A片| 亚洲天堂人人妻| 亚洲一区在线观看欧洲| 午夜精品99久久久久传媒| 色欲久久99精品久久| 婷婷丁香五月天综合东京热| 欧美91网站| 国产网红精品| 欧美激情久久久久| 日韩亚洲中文字幕在线| 天美一区在线| 免费看久久久性性| 91色射| 99精品免费| 性在久久久久久| 亚洲色人阁| 国产综合网站在线播放| 天天做天天爱| 美女诱惑一区| 国产60区。| 亚洲第一精品在线视频| 久久久久久久六六| 日本在线视频导航| 人妻蜜桃臀| 97香焦色区| 蜜乳成人AV| 美女丝袜激情小说| 久99热| 婷婷婷婷婷婷久久久久| 自拍欧美| 黄片不用下载在线观看| 亚洲久久久| 亚洲影院小综合| 色久桃花影院在线观看| 黑人性暴力毛片| 熟女日韩| 极品美女福利在线观看| 日本综合色图| 九区国产| 九九综合| 色色福利| 97在线观看| 黑人粗大V S日韩女优视频| 久久99热这里只频精品6学生| 日韩操啪| 插插综合网天天影视网| 欧洲乱码视频| 日韩欧美视频青青| 操逼片中文| 国产自制av蜜乳| 密臀国产在线| 日夜久久久九九九久| 色五月综合| 99re公开精品免费视频| 国语av狠狠色丁香婷婷综合激情| 老熟女乱伦片| 亚洲素人综合| 欧美久久人妻少妇一区二区| 屌色在线97视频| 欧美色性爱| 操逼免费视频无码国产| 色99999| 亚洲成人在线乱码色午夜| 91N综合在线| 99综合自拍| 91n美女视频| 日本三级久| 色婷婷丁香五月天| 亚洲欧洲国产综合av| 丰满人妻一区二区三区四区| 少妇被c 黄 免费观看| 台湾佬大香蕉| 日韩无码a片| 97超碰色中文字幕| 99久久这里只有精品| 九九伊人网| 99综合网| 五月丁香网站| 精品少妇一区二区三区在线视频| 九九精品99| 亚洲熟女性高潮久久久| 操逼逼一区视频| 欧美性生活男人的天堂| 无码操逼视频一下| 八戒无码国产午夜福利| 国产传媒午夜理伦精品| 免费日韩黄片| 欧美日韩激情无码专区| 97人妻免费中文字幕| 亚洲天堂AV在线播放| 国产人妖视频一区在线观看| 国产自产一区视频在线| 国产av美女被艹的乱叫| 9久久精品| 成 人 影视 一区 二区 三区 四区 | 人人艹亚洲| 日本欧美亚洲高清在线看| www网站黄| 天天爽天天| 一区久久久二区| 欧美亚洲涩涩| 日日骚av| 超碰成人人人爽人人爽| 亚洲中字幕日本一区二区三区| 五月天婷婷在线看| 欧美十八禁网站| 日韩人妻精品| 日日AAvv| 中文字幕日韩综合| 超碰97在线 欧美 国产| 色阁阁AV综合网| 少妇蹲下露出大唇5| 狠狠婷婷亚洲中文综合久久| 久久综合国产精品国产| 亚洲欧美日韩精品久久久一区二区| 性做久久久久久免费观看软件| 亚洲精品视频在线| 中文字幕精品乱码| 9久久久久| 国产亚洲精品美女久久久久久2021| 久操婷婷| 亚洲黄色网址| 丝袜美腿亚洲| 亚洲啪啪性视频| 国产白丝在线| 好爽视频在线观看视频 | 超碰综合色| 91美女小视频| 中国亚洲呦女专区| 夜夜久久| 婷婷超| 久久香蕉影院| 中文子幕一二三| 乱伦1色页| 欧美综合区| 欧美综合娱乐久久| 2019天天干天天操| 操人妻逼91| 人人操人人摸人人骑| 大香蕉啪啪网| 国产精品97超碰| 日韩性爱毛片操骚逼| 99国产在线绯色一区| 国产传媒日韩欧美| 99免费视频| 日本大香蕉综合网红本杳社区| 欧美经典一区二区三区| 欧亚第一综合网| 亚洲 小说 欧美 激情 另类| 日韩99神马视频播放片在线播放| 蜜屁av| 亚洲激情网| 欧美日韩狠狠爱| 丁香五月天啪啪| 欧美色另类| 亚洲 图片 综合91| 97aiaiai| 在线 亚洲 网爆 自拍| 91色综合| 国产亚洲色婷婷99精品91| 日韩成人性日韩成人性爱视频在线免费观看 | 激情婷婷综合久久| 黑人中出21连凳花野真衣| 国产成人欧美精品在线| 91最新综合| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 亚洲无码超碰免费| 91人妻丝袜无码| 中国AV美女| 九九九九九九九九九九九九九九九女| 国产精品麻豆免费视频| 91天美传媒在线观看| 在线看片国产精品每日更新| 久久久一二三四区| 五月开心网| 亚洲乱色熟女一区| 桃色五月天| 一区二区三区 丝袜 高跟 美腿| 97视频免费在线观看| 天天操狠狠日夜夜干超碰撸com视频在线观看 | 丁香婷婷久久 | 色性荡荡荡荡视频| 日韩黄片视频试看| 97就爱干| 久久黄黄| 99re热有精品视频国产| 日韩欧美中文字| 日本超碰在线国产一区| 精品久久久久久中文字幕三区 | 少妇丝袜在线观看AV| 九九热免费视频| 国产亚洲女v在线观看| 91老司机视频| 天天色踪合| 欧美在线官网| 立川理惠加勒比无码| 亚洲国产一级黄色视频| 中文字幕精品亚洲熟女| 亚洲、日韩、综合、另类| 天堂8在线新版官网| 丁香五六月啪啪| 深夜激情 | 中文字幕一二三区| 伊人久久艹| 国产操逼逼网| 丰满美女一级毛片在线播放| 九九九国产| 视频二区熟女人妻| AV丝袜少妇| 麻豆国产原创AV色哟哟| 亚洲色五月| 国产超碰| 欧美熟女操屄| 精品无码久久久久久国产浪潮| 亚洲美女精品九九视频| 亚洲春色欧美| 午夜福利一区二区三区四区五区色婷婷| 麻豆影音天美视频| 久久久影院| 蜜桃视频精品一区二区| 啪啪91| 色五月婷婷中文字幕| 亚洲最大无码中文字幕网站| 成人aⅴ一区二区三区| 在线岛国新天堂8| 妇女性内射冈站HDWWWCOM| 中文字幕蜜乳av| 久久久久久精| 激情小说日韩无码| 日本黄色精品专区网站| 亚洲一区二区三区在线激情| 亚洲国产一级黄色视频| 欧美一区二区男人天堂| 久久久久久性爱免费视频| 久久精品熟妇丰满人妻99| 91色综合| 三级AV入口| 欧日a| 2024人人操人人摸| 91粉芽高清在线一区二区| 婷婷五月色| 殴美性色a级欧美| 日韩精品高清资源在线| 加勒比AV网| 伊人久久亚洲色欲综合网站| 久草成人影片| 精品78| 久久精品中文字幕观看| www黄片免费看com| 国产精品密臀网在线观看| 啊啊啊啊在线观看网址| 男人天堂免费| 极品后入免费视频| 校园春色亚洲无码| 男生通女生屁股| 97色碰| 欧美探花网| 久操不卡视频| 亚洲欧美爆| 欧美日综合| 免费福利视频中文字幕| 免费一级视频特黄色大片| 亚洲城人男人的天堂| 97伦乱| 亚洲AV麻豆Aⅴ无码电影一 | 国产精品青草综合久久| 在线综合 亚洲 欧美中文字幕| 色拍偷亚洲| 成年人网站在线免费观看| 欧美亚洲日本激情在线| 超硑97精品| 大香蕉中文在线| 亚洲无码久久久久久久| 熟女中出视频| 天天干人人乐| 色婷婷九月天天综合| 欧美老妇女内射网址| 欧美不在线| 日本3级一区二区免费| 欧美色图91p| 一本色道综合久久欧美| 九九热免费国产视频婷婷伊人| 一本一道久久综合久久| 一本一道波多野毛片中文在线| 91超碰人人| 97AV在线观看| 久久人妻视频网| 91狠狠综合久久| 亚洲av强奸乱伦| 久久久久国产精品人妻aⅴ天堂| 高清无码在线播放网站| 亚洲AV乱码专区国产噜噜亚洲 | 亚州春色| 九色精品视频导航1| 加勒比综合九九99视频在线播放| 人人爱人人乐人人操| www.狠狠干.coom| 美女诱惑久久| 欧美色棕合| 免费A片三p视频| 又黄又粗又硬又长又大| 人人操人人爽人人操人人| 成人精品电影| 一区二区精品日韩欧美在线观看| 日本 免费 一区二区三区 久久香蕉| 亚洲乱色熟女一区| 搡老女人老妇女AAA一VU麻豆| 欧美精品丝袜久久久中文字幕| 伊人热综合| 嫩草伊人久久精品| 亚洲囯产精品女人久久久| 我爱搞逼综合网| 深夜激情无码| 天堂综合网| 成人日本精品九区| 日韩精品一区二区日韩| 国产成人啪一区二区| 欧美日韩国产在线| 69XX一中文字幕人妻91| 久色99999| 99在线精品观看99| 免费中文综合精品| 碰超人人在线一区二区三区| 综合一区中亚洲国产成人综合精品| 欧美综合1性辶| 色老汉色| 久操不卡视频| 成年无码动漫av片无尽在线| 97爱b| 五月激情在线| 久操网无码在线| 玖玖久久久| 精品九九九九九九九| 婷婷久草| 蜜乳av一区二区| 97这里有精品| 情色五月天网| 野狼激情网| 五月天黄色激情视频| 加勒比综合a∨| 思思热一热婷婷热一热| 国产乱码精品久久久久久| 久久婷婷六月综合| 黑人白女精品一区| 一区二区三区高清| 亚洲图片 激情小说| 国产视频一区二区在线观看| 在线观看黄色电话| 久久久久久一日韩字幕无码| 干B网| 久久风骚城市| 免费超碰97久久| 东北女人的毛片| 日韩99神马视频播放片在线播放| 亚洲一区二区性爱电影| 国产日逼视频| 亚洲麻豆av一区二区| 久区视频| 噜噜噜噜天天狠狠| 亚州综合色图| 亚洲自拍欧美国产首页网曝| 九九九九久久久| 欧美日韩国产在线| 亚洲精品国产精品乱码不99| 国产区91柔拿会所技师| 1级午夜影院费免区| 日本国产欧美一区三区二区| 丰满人妻-区二区三区| 超碰久超碰久| 美欧色综合| 91精品人妻一品二品三品| 91亚洲黄色网| 综合亚州欧美| 96一区二区三区| 精品人妻久久久久一区二区三区| 亚洲另类色综合网站| 加勒比色99999| 78m成人视线| 午夜超碰| 襙一襙| 操日韩第| 在线人人人人人人精品超| 97欧美性爱| 精品成人av一区二区三区在线| 强奸乱亚洲| caorenqi shipin| 国产精品青青草| 少妇无码太爽| 国产精品密臀网在线观看| 亚av顶级裸体一区二区三区四区五区| 1204av韩国| 亚洲熟妇白浆无码AV| 91欧美www| 亚洲97成人在线观看| 欧美亚洲一级在线观看| 日韩欧美字幕亚洲一区二区| 91色婷婷综合久久中文字幕二区| 日本三级久| 人妻少妇精品久久久| 91痴汉| 极品欧美一区二区三区| 国产亚州高清国产拍精| 久久久久成人蜜桃精品| 色九九九综合| 国产激情在线| 日韩av不卡在线看| 久久久久人妻| 日韩 人妻 精品| 久久久久久国产精品| 操学生天天| 一本大道青青| 亚洲国产av中文字幕久久| 综合色99| 午夜天堂精品久久| 人人妻人人爽一区二区三区| 午夜福利无毒不卡| 免费夜夜爱黄色视频毛片| 美日韩一二三区| 秋霞午夜成人福利片片| 丝袜美腿制服人妻二区中文字幕 | 亚洲人妻久久久| 国产久久成人| 色一射色一射| 97鸡把在线视频| 亚洲国产成人精品无码专区| 宅男91视频在线播放| 久久香蕉国产线看观看亚洲女人 | 一本大道不卡一二三区| 欧美大码在线视频| 超碰吊日色| 性爱av在线免费观看| 亚洲天堂日本| 亚洲精品无码成人久久久99| 91精品啪在线观看国产城中村| 51一区二区三区| 黄片免费久久久久久久| 日韩三级久久久| 九一精品牛牛一区二区| 中文字幕欧美日韩三级| 九月婷婷| 超碰色97| 大香蕉亚洲中文| 欧美亚洲手机在线| 久久五月综合| 精品久久97| 婷婷五月天网| 中文字幕三四五区| 一区二区偷拍拍视频| 天天射夜夜骑| 麻豆2区1区天美| 日韩操啪| 妇人噜噜| 极品尤物女神在线观看| 日本国产二线女色| 日本片日本片祼观看网站在线看中文版网页在线看 | 秋霞一区二区三区四区五区六区七区| 1000部熟女视频在线观看| 亚洲视频一二区| 久久久久亚洲?V片无码V| 亚洲综合一| 啊v视频在线观看| 青青草久草| 人妻 欧美 中文| 日韩性爱再线视频| 中国91AV| 久久做97| 成人乱码一区二区三少妇| 亚洲综合有码| 影音先锋乱伦资源| 国产天天骚| 天天躁日日躁成人字幕aⅴ| 精品国产久久乱码| 六月丁香啪啪| 欧美一二三级精品在线| 蜜桃一区二区三区| 伊人婷婷五月天| 中文字幕高清精品一区| 久久久神马影院| 国产熟女少妇一区| 大香蕉黄色一级片免费看| 久草综合网| 国产91精品久久久久久久网曝门| 国语av最新自产拍在线观看| 天天久久| 日韩欧美中文字| 97蜜桃综合| 91精品国产高清久久久久久,亚洲成人 | 99久热| 亚洲无码一二三区| 91内射| 999热这里只有精品| 亚洲天堂日本| 中文字幕在线观看第二页| 99热最新|