亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(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ù)方甩來一條消息“用戶上傳的Excel模板不見了?!薄榱艘蝗Πl(fā)現(xiàn)某個(gè)處理文件的Job Pod重啟后掛載的臨時(shí)目錄清空了。這時(shí)候你才意識(shí)到容器天生無狀態(tài)但業(yè)務(wù)數(shù)據(jù)必須有落腳地。而Kubernetes原生的emptyDir和hostPath根本扛不住滾動(dòng)更新、跨節(jié)點(diǎn)調(diào)度、權(quán)限隔離這三座大山。于是你開始翻文檔看到PersistentVolumePV和PersistentVolumeClaimPVC這兩個(gè)詞再往下翻又撞上StorageClass——它像一道閘門把底層存儲(chǔ)細(xì)節(jié)和上層應(yīng)用隔開。而NFS就是這道閘門背后最常被選中的“水廠”。NFS不是新技術(shù)但它在Kubernetes生態(tài)里扮演的角色非常特殊它不追求極致IOPS也不標(biāo)榜超低延遲而是用極低的運(yùn)維門檻、天然的多讀多寫支持、以及對POSIX語義的完整兼容成為中小規(guī)模集群里最可靠的共享存儲(chǔ)底座。尤其當(dāng)你面對的是日志歸集、配置熱更新、CI/CD中間產(chǎn)物緩存、或者多個(gè)Pod需要協(xié)同讀寫同一份報(bào)表模板這類場景時(shí)NFS提供的“一個(gè)路徑處處可掛”能力比塊存儲(chǔ)如iSCSI或?qū)ο蟠鎯?chǔ)如S3更直接、更省心。我?guī)н^的幾個(gè)項(xiàng)目里某高校實(shí)驗(yàn)室用NFS支撐20個(gè)Jupyter Notebook實(shí)例共享課程數(shù)據(jù)集某電商中臺(tái)用NFS做灰度發(fā)布時(shí)的配置快照池都跑了一年半沒出過存儲(chǔ)層故障。這不是因?yàn)镹FS多先進(jìn)而是因?yàn)樗銐蚝唵?、足夠透明、足夠可控——你ssh進(jìn)NFS服務(wù)器ls -l一眼就能看清誰在讀、誰在寫、空間還剩多少你改一行/etc/exports加個(gè)sync參數(shù)就能立刻感知到性能變化。這種“所見即所得”的掌控感在云原生世界里反而成了稀缺品。所以“Kubernetes: 利用NFS動(dòng)態(tài)提供后端存儲(chǔ)”這個(gè)標(biāo)題說的不是一項(xiàng)炫技工程而是一套經(jīng)過千錘百煉的落地方法論它把NFS從傳統(tǒng)Linux服務(wù)器上的“配角”升級成Kubernetes調(diào)度體系里的“編排友好型存儲(chǔ)資源”。核心在于“動(dòng)態(tài)提供”四個(gè)字——你不再需要提前在NFS服務(wù)器上手工創(chuàng)建好每個(gè)目錄、再一個(gè)個(gè)定義PV對象而是通過StorageClass聲明“我要什么樣的NFS卷”由nfs-subdir-external-provisioner這個(gè)外部供應(yīng)器自動(dòng)完成目錄創(chuàng)建、PV綁定、權(quán)限設(shè)置一整套動(dòng)作。整個(gè)過程對開發(fā)者完全透明他們只管寫pvc.spec.resources.requests.storage: 5Gi剩下的交給系統(tǒng)。這種解耦讓存儲(chǔ)管理真正回歸到“按需申請、用完釋放”的云原生本意而不是變成運(yùn)維同學(xué)每周定時(shí)巡檢df -h的體力活。2. 整體架構(gòu)設(shè)計(jì)與方案選型邏輯為什么是nfs-subdir-external-provisioner而不是其他2.1 三種NFS集成路徑的硬核對比在Kubernetes里對接NFS業(yè)界其實(shí)有三條主流路徑每條背后都是不同的權(quán)衡取舍純靜態(tài)PV方式管理員手動(dòng)在NFS服務(wù)器上創(chuàng)建目錄如/data/app-logs再在K8s里定義對應(yīng)PVnfs.path: /data/app-logs最后由PVC去綁定。這種方式最原始但勝在絕對可控。我見過某金融后臺(tái)系統(tǒng)堅(jiān)持用這套方案理由很實(shí)在審計(jì)要求所有存儲(chǔ)路徑必須提前審批、留痕、備案自動(dòng)創(chuàng)建目錄等于繞過流程。但代價(jià)也很明顯——每次上線新服務(wù)都要走工單、等審批、人工執(zhí)行平均耗時(shí)2天。當(dāng)集群里PVC數(shù)量超過50個(gè)光是PV YAML文件的版本管理就讓人頭皮發(fā)麻。FlexVolume或CSI插件直連比如早期用nfs-clientFlexVolume或者現(xiàn)在更主流的nfs-csi-driver。它們讓Kubelet能直接和NFS服務(wù)器通信跳過PV/PVC抽象層。好處是性能略優(yōu)少一層轉(zhuǎn)發(fā)但問題更致命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掛載失敗”的問題折騰三天才發(fā)現(xiàn)是某批新采購的服務(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)聽PVC創(chuàng)建事件然后調(diào)用NFS服務(wù)器的mkdir和exportfs命令生成新目錄并反向創(chuàng)建PV對象。它的優(yōu)勢不是性能而是抽象干凈、依賴極簡、調(diào)試直觀。整個(gè)供應(yīng)器只依賴一個(gè)ServiceAccount權(quán)限、一個(gè)NFS Server地址、一個(gè)基礎(chǔ)路徑如/data/k8s-volumes沒有Node級組件沒有內(nèi)核模塊要求升級只需替換鏡像。更重要的是它的日志就是你的操作記錄——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)卡在了“夠用”和“不過度設(shè)計(jì)”的黃金分割點(diǎn)上——不支持快照、不支持在線擴(kuò)容、不支持多租戶配額但正因如此代碼只有不到2000行Go漏洞極少升級風(fēng)險(xiǎn)極低。如果你的業(yè)務(wù)不需要這些高級特性強(qiáng)行上CSI反而增加復(fù)雜度。2.2 Provisioner核心組件拆解它到底在做什么nfs-subdir-external-provisioner看似只是一個(gè)Pod但內(nèi)部邏輯非常精巧。我們把它拆成三個(gè)關(guān)鍵角色來看Controller Manager這是主循環(huán)線程持續(xù)調(diào)用K8s API Server的Watch接口監(jiān)聽PersistentVolumeClaim資源的ADDED事件。一旦發(fā)現(xiàn)新PVC就提取其spec.storageClassName匹配到對應(yīng)的StorageClass對象再讀取該StorageClass里定義的provisioner字段必須是k8s-sigs.io/nfs-subdir-external-provisioner和parameters如archiveOnDelete: false。這一步?jīng)Q定了“誰來供應(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。接著它通過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)限問題其實(shí)是NFS導(dǎo)出參數(shù)沒配對。PV Creator目錄創(chuàng)建成功后Provisioner會(huì)構(gòu)造一個(gè)PersistentVolume對象填入spec.nfs.serverNFS服務(wù)器IP、spec.nfs.path剛創(chuàng)建的路徑、spec.capacity.storage等于PVC申請的大小、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掛載請求。這個(gè)流程里最值得玩味的設(shè)計(jì)是Provisioner本身不參與實(shí)際的數(shù)據(jù)讀寫它只負(fù)責(zé)“造房子”和“發(fā)鑰匙”。真正的掛載、卸載、IO轉(zhuǎn)發(fā)全部由Kubelet內(nèi)置的NFS客戶端完成。這就意味著你完全可以用kubectl delete pvc my-pvc刪除一個(gè)PVCProvisioner會(huì)自動(dòng)清理NFS服務(wù)器上的對應(yīng)目錄如果archiveOnDelete設(shè)為false而整個(gè)過程對正在運(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就能用的它需要針對K8s場景做三處關(guān)鍵加固目錄結(jié)構(gòu)規(guī)劃不要把所有動(dòng)態(tài)卷都塞進(jìn)/export根目錄下。我建議分三級路徑/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未來要做存儲(chǔ)配額可以直接在namespace目錄上用xfs_quota限制。exports配置的魔鬼細(xì)節(jié)/etc/exports里這一行看似簡單實(shí)則暗藏玄機(jī)/data/k8s-volumes/prod-cluster *(rw,sync,no_root_squash,subtree_check,fsid0)sync強(qiáng)制同步寫入避免NFS服務(wù)器崩潰導(dǎo)致數(shù)據(jù)丟失。雖然比async慢10%~15%但對日志、配置類場景數(shù)據(jù)一致性遠(yuǎn)比吞吐量重要。no_root_squash必須開啟K8s里絕大多數(shù)容器以UID 0root運(yùn)行如果關(guān)閉此選項(xiàng)NFS會(huì)把root映射成nobody用戶導(dǎo)致Pod內(nèi)touch /mnt/test.txt失敗。但這也帶來風(fēng)險(xiǎn)——惡意Pod可能通過chown root:root提權(quán)。緩解方案是在Provisioner的parameters里加上mountOptions: [nfsvers4.1,hard,timeo600]讓掛載更健壯同時(shí)在NFS服務(wù)器上啟用rpcbind的防火墻白名單只允許K8s Node IP段訪問。subtree_check開啟子樹檢查防止客戶端繞過導(dǎo)出路徑訪問上級目錄。雖然會(huì)略微降低性能但安全收益遠(yuǎn)大于成本。fsid0為整個(gè)導(dǎo)出樹指定唯一文件系統(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ì)列長度 echo net.core.somaxconn 65535 /etc/sysctl.conf # 提高NFS服務(wù)器處理RPC請求的線程數(shù)Ubuntu/Debian echo RPCBIND_OPTIONS--manage-gids /etc/default/rpcbind systemctl restart rpcbind # 對于RHEL/CentOS修改/etc/sysconfig/nfs echo RPCNFSDCOUNT32 /etc/sysconfig/nfs systemctl restart nfs-server這些參數(shù)不是憑空寫的。去年某視頻平臺(tái)在壓測時(shí)100個(gè)Pod同時(shí)申請PVC前20個(gè)成功后80個(gè)全卡在Pending狀態(tài)。抓包發(fā)現(xiàn)是rpcbind的連接隊(duì)列溢出ss -s | grep tcp:顯示orphan連接數(shù)爆表。調(diào)大somaxconn后問題消失。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ù)涓兄膱鼍捌渲衟athPattern參數(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)..或絕對路徑符號(hào)Provisioner會(huì)校驗(yàn)并拒絕非法模式。Provisioner Deployment的部署也有講究。官方Y(jié)AML里args部分通常長這樣args: - -provisionercluster.local/nfs-client這里的cluster.local是K8s集群的域名后綴必須和你集群的實(shí)際clusterDomain一致可通過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ì)寫的細(xì)節(jié)定義一個(gè)PVC看似簡單但有幾個(gè)坑必須避開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。如果你誤寫了RWOPVC會(huì)一直處于Pending狀態(tài)kubectl describe pvc會(huì)顯示no persistent volumes available for this claim and no storage class is set——這不是沒PV而是PV的accessModes和PVC不匹配。存儲(chǔ)大小只是“軟限制”NFS本身不支持配額除非你額外配xfs_quota所以requests.storage: 10Gi只是告訴Provisioner“請給我建個(gè)目錄”并不阻止Pod往里面寫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容器寫日志到/var/log/nginx讓Sidecar容器收集日志到/logs可以這樣寫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)來污染容器根文件系統(tǒng)。4. 實(shí)操過程與核心環(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必須降級使用v3.x分支。Provisioner鏡像選擇官方鏡像registry.k8s.io/sig-storage/nfs-subdir-external-provisioner:v4.0.2在國內(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ù)器磁盤健康執(zhí)行smartctl -a /dev/sdb假設(shè)/data在sdb上檢查Reallocated_Sector_Ct和Current_Pending_Sector是否為0。曾有個(gè)案例NFS服務(wù)器硬盤有壞道導(dǎo)致Provisioner創(chuàng)建目錄時(shí)偶爾失敗錯(cuò)誤日志里只顯示mkdir: cannot create directory排查三天才發(fā)現(xià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里寫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)建測試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 # 找到對應(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)映射第四步壓力測試與邊界驗(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 # 常見錯(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)級增強(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秒說明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。故障演練腳本編寫一個(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í)測結(jié)果NFS客戶端默認(rèn)重試1000次間隔從0.1秒指數(shù)增長總超時(shí)約3分鐘。這意味著只要NFS服務(wù)器在3分鐘內(nèi)恢復(fù)業(yè)務(wù)Pod完全無感。這個(gè)數(shù)據(jù)比任何文檔都管用。5. 常見問題與排查技巧實(shí)錄那些踩過的坑我都幫你記下來了5.1 PVC長期Pending不只是網(wǎng)絡(luò)問題這是最高頻的故障現(xiàn)象是kubectl get pvc顯示Pendingkubectl describe pvc里Events為空或只有waiting for a volume to be created。別急著查網(wǎng)絡(luò)先按順序排查排查步驟檢查命令預(yù)期結(jié)果常見原因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無ERROR或panic日志里出現(xiàn)failed to create volume: mkdir: permission denied說明NFS服務(wù)器目錄權(quán)限不對3. StorageClass是否存在且名稱匹配kubectl get sc輸出包含nfs-clientPVC里storageClassName拼寫錯(cuò)誤如寫成nfs-client-14. PVC的accessModes是否為RWXkubectl get pvc test-pvc -o yaml | grep accessModesaccessModes: [ReadWriteMany]誤寫為ReadWriteOnceK8s無法匹配PV5. NFS服務(wù)器是否能被Provisioner Pod訪問kubectl exec -n storage deploy/nfs-provisioner -- ping -c 3 192.168.1.10064 bytes from ...Provisioner Pod所在Node的網(wǎng)絡(luò)策略NetworkPolicy阻止了出向流量我遇到過最詭異的一次所有檢查都通過但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í)。解決方案很簡單/etc/exports里一律用IP永不寫主機(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自然有寫權(quán)限。方案CProvisioner自動(dòng)修復(fù)權(quán)限高級在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ù)就真沒了。這時(shí)候別慌NFS服務(wù)器的/data/k8s-volumes/prod-cluster目錄下可能還有線索**檢查.nfs*臨時(shí)
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
欧美se综合| 色悠久久久av| A 天堂在线观看视频| 超碰人人草| 99久久综合| 日1区2区3区2020| 强奸乱伦日韩AV| 黑丝91视频| 中文字幕少妇色| 欧洲一区二区| 欧美日韩欧美| 一级人妻性爱视频| 久7色| 亚洲区小说| 多乙久久久久久| 蜜臀久久精品久久久久视频| 日韩精品色呦呦| 久久人妻视频网| 另类欧美色| 九九伊人网| 亚洲色丰满少妇高潮| 亚洲日本激情| 亚洲蜜臀精品视频久久| 日本一级性爱| 中文字幕第7页| 欧美性爱精品一区二区| 一区二区三| 精品国产91av一区二区三区| 日韩av色图| 成人5码视频| 农村妇女精品一二区| 国语对白在线播放视频| 久久午夜色播影院免费高清| 思思热在线观看| 国产精品人妻无码久久久互動交流| 日本丝袜美腿人妻九九| 色婷婷香蕉| 美女视频尤物网在线看| 男人综合网| 75大香蕉| 黄色乱论网站| JULIA一区二区三区在线播放| 色妺妺AⅤ| 一区二区三区男女操逼黄色小电影| 天干天干天干天天做| 欧美综合在线91| 少妇高潮99p| 日韩欧美午夜视频在线| 91制服丝袜中文字幕| 九一国产精品| 97视频网站在线观看| 中文字幕久热视频在线| av黄图片在线观看| 操逼操网| 亚洲丝袜诱惑| 二三四区精品| av激情亚洲五月天| 福利五区| 熟女色综合久久| 麻豆天美制片厂网站视频| 日本一区二区三区午夜观看| yellow网站免费观看日韩高清无码| 青青草AV色| 日韩不卡一二三四| 美女黄码视频午夜| 91九色丰满高潮| 欧美综合 站| 久久久穴999| 中文字幕91页| 午夜男女爽爽爽影院视频| 亚洲骚男同com| 青青草视频爽一爽| 开心六月色| 久久蜜色情在线视频xxx免费观看| 天天干天天日天天射黄色| 精品妇女一区二区三区| 97 视频在线| 98福利在线视频| 黄色不卡视频| 嗯嗯不要视频| 伊人骚琪琪亚洲天堂网站| 国产蜜臀在线| 亚洲人体视频在线观看| 人人操人人摸人| 青青草天天亲夜夜操网| 2019AV天堂| 青青五月天| 在线日韩日本亚洲国产| 日本高清视频xxxx| 18啪啪手机免费性爱| 一区二区三区 日韩欧美| www.99色| 久草精品一区| 91bbb| 91影库| 91久久免费视频互動交流 | 丁香九月婷婷| 国产精品无码av在线| 色色网91| 色婷婷aV一区二区三区麻豆综合| 欧美日本天堂| 超清中文乱码字幕| 操一区| 色噜噜国产在线| 国产热av| 午夜男女爽爽大片免费观看| 丁香九月 婷婷| 亚洲国产成人精品无码专区| 日本大片日本一区二区免费高清| www. 男人天堂成人在线| 九七色图| 伊人久久婷婷| 亚洲日韩XXX| 超碰成人人人爽人人爽| 国产欧美岛国精品一区| 旡码电影特区| 小电影欧美91| 亚洲欧美日韩精品久久久一区二区| 青青草色情网站视频| 欧美综合色,www| 成人看片网站| 亚洲欲色| 操b网站亚洲无码| 一级岛国大片| 97色色,97综合| 一区不卡在线观看av| 欧美精品四区| 大香蕉乱级| 天天看少妇| 新怡红院| 99999精品视频| 大色综合| 日韩熟女精品无码专区一区二区| 亚洲熟女综合一区二区| 丁香五月影院| 一本色道久久天天射天天干| 黄色成品网站| 日韩精品在线观看观看| 粉嫩AV输入| 99re免费视频精品全部| 麻豆熟妇乱妇熟色A片在线看| 色青青久久影视| 亚洲最大的综合性av| 亚洲欧美一区二区三区在钱蜜桃| 校园春色 亚洲| 久久这里只精品99re66图| 欧美亚男人的天堂| 秋霞无码av鲁丝片一区| 亚洲在线观看| 亚洲一曲日韩精品| av影片在线观看不卡| 自拍视频大全亚洲专媒视频/一区二区三区 | 18禁看网站一区| 蜜桃久久综合视频| 色噜噜人妻丝袜a∨先锋影 | 狠狠色狠狠色狠狠五月| 无马一区二区| 日本97久久久精品| 久久9亚洲| 久久丁香五月天| 久久精品一区| 看黑人AV不卡| 久久久久久电影| 97这里有精品| 久九9精品| 欧美熟妇精品黑人巨大一二三区| 国产无套粉嫩白浆在| 国产精品久久99日日| 欧色网址| 亚州欧美另类| 亚洲欧洲日韩中文字幕一区| 亚洲图片小说欧洲| 日产123区精品免费观看| 亚洲另类久操网| 亚洲AV成人在线| 日韩综合无码色欲vv| 久久伊人最新网址视频| 日韩无码第3页| 日韩精彩视频| 亚洲成人AB| 久久人妻少妇| 青操影院| 国产精品第一页国产大屁股视频免费区| 丰满熟女人妻一区二区三五十一路| 欧亚日韩三区| 日韩中文字幕宗合在线| 超碰97在线色男人??| 亚洲图片在线| 久久啊啊| .精品人妻一区二区三| 91精品国产91久久久久久久久久久久| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 色综合大香蕉| 啊啊啊啊啊啊好多水| 日韩亚洲精品一区二区| 亚洲国产精品久久久久婷婷青年| 人妻精品综合中文字幕在线| 欧美一级做a爰片免费视频| 国产综合久久久麻桃个| 午夜福利合集| 欧美天天在线| 亚洲最大的综合性av| 欧美疯狂做爰xxxx| 久久无码成人| 亚洲无码超碰免费| 欧美乱伦专区| 大象AV在线| 九九九九久久久久| 色97欧美| 亚洲日本大香蕉1| 日本熟妇自慰性高潮一区二区三区| 熟妇人妻一区二区| 久久偷拍人| 日韩亚洲中文字幕在线| 眼镜人妻101.com| 欧美的性爱网站免费| 偷拍盗拍亚洲色图图片| 亚洲国产97在线精品一区| 99热大香蕉伊在线| 秋霞福利网| 91丝袜美腿片| 欧美日韩亚洲少妇寂寞影院正在播放| 夜夜嗨一区| 亚洲美女黄色| 色婷婷A V一二三四区麻豆综合| 久久久久久久久久黄色网| 夜夜夜久久| 日本人人操人人操| 国产97色在线| 围产精品一区二区三区视频播放| 免费强奸av| 欧美不卡二区| 亚洲成?V人片在线观看福利| 极品色www影院| 国产原创剧情在线丝袜 | 26uuu最新| 秋霞色色影院| 家庭乱伦国产| 在线观看免费视频国产| 欧美一区二区三区另类精品| 国产二区三区免费视频| 国产大陆天天艹| 久久久久久久九九九九九九| 午夜国产综合视频在线观看| 二区熟妇韩日| 99色热| 丁香五月天堂网| 亚洲日本激情| 久久精品国产72国产精品福利| 久久久麻豆精品| 成人无遮挡毛片免费看| 你想操日本小逼吗| 成人片在线播放| 99热超碰| 性色高清..……| 亚洲日韩电影| 一级aaaaa欧美中文字幕录像片| 日韩丝袜二区| 啊啊啊用力在线观看| 中精品一区二区三区| 色妇91| 91啪啪视频| 亚洲综合小说另类图欧美视频激情小说色五月天 | 蜜桃狠狠色伊人亚洲综合| 欧洲亚洲人妻无码中字久久三区四区| 日韩操呦呦影院在线观看| 四虎午夜影院| 91精品婷婷国产综合久久竹菊| 歐美性天天| 91N综合网| 夜夜高潮夜夜爽夜夜爱爱一区| 欧美亚洲高清| 亚洲成人久久美女| 欧美韩日精品资源| 日本一区二区三区四区五区六区七区八区九区| 国产AV毛片| 又黄又爽在线观看视频| 91亚洲欧美综合高清在线| 亚洲色人阁| 最新av中文字幕高清| 色播丁香| 亚洲熟妇综合久久久久久| 99热在线播放| 国产精品视频自拍在线| 麻豆久久久久久久久丝袜 | 亚洲欧美精品久| 九九热av| 婷婷综合| 国产sv美女内射| 人人玩人人添人人澡免费| 午夜黄色免费在线观看| 欧美色图91p| 蜜臀网 一区| 一区二区娱乐网站| 亚洲Av诱惑| 欧美十八禁导航成人| www四虎| 怡红院成人视频| 黄色AAAAAAAAAAA大片| 97久久久久久久精| 欧美黑人日韩少妇色情| 国产精品久久久久综合| 色与欲影视天天看综合网| 韩国一级婬片A片无码天美| 99热综合在线| 思思久热在线精品66| 色噜噜精品一区二区三| 亚洲 综合 第一页| 欧美成人四级在线播放| 九九九九九九成人| 97人人夜夜精品视频| 欧美中字二区| 强奸乱伦 亚洲一区| 人妻久热在线| 成人日韩3| 97激情97激情| 97在线精品观看视频| 中文字幕亚洲欧美在线不卡| 国产欧美日本亚洲精品| 偷拍在线观看视频| 92人人操人人| 97精品一区二区视频在线观看| 国产精品自拍欧美在线| 日韩中文字幕二区| 色综合网1| 伊人色综合超碰| 一本色道无码DVD中文字幕| 日韩免费人妻色情网站| 国产高清吃奶免费视频网站| 美女网站黄页| 五月丁香成人网| 亚洲男人天堂2017| 玖玖人人爱| 91久久久亚洲| 亚洲国产中文字幕| 亚洲综合春色| 日韩探花精品在线视频| 青草成人免费视频一COm| 神马精品视频| 性爱视频啪啪啪啪| 日韩有码中文字幕女同性恋| 久久久久久久久久久97| 黄色欧美性爱视频| 久久免费少妇| 久久亚洲色图中文字幕| 东京日日夜夜| www.久久最新地址| 神马久久午夜| 日日日骚女人精品| 天天插天天插| 国产三级资源在线观看| 后入综合久久| 欧美曰韩国产精品| 日日干日日| 亚洲精品97| 久久久久久少妇| 黑操B| 久草成人| 91色人| AV天堂电影网| 把腿张开老子CAO烂你| 神马麻豆福利院| 天天综合网1| 国产精品亚洲天堂网址| 精品人妻av区天天看片| 黄色一区三区| 亚洲色图a| 91狠狠综合久久久| 久久久久久亚洲精品不卡人乳| 999精品女人| 操淫穴亚洲五月丁香| 亚洲综合另类小说色区亚洲成av人片在www | 欧美午夜一区二区三区| 亚洲图片欧美另类综合免费视频大大香| 超碰九区| 精品久久9| 国产有码一区| 久操九九九九| 日本三级黄页| 99热这里是精品| 影音先锋视频在线| 试看60秒 爽| 久久9免费视频| 色诱avtt| 任我爽视频在线观看| 狠狠操天天干| 久草免费福利在线播放| 五月天激情影院| 国内一区二区三区| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 亚乱色| 国产一区二区成人av在线播放| 欧美精品久久| 久久久久亚洲精品| 欧洲乱码视频| 欧美国产有色电影| 啊灬快c我灬啊灬用力灬啊灬-国产精品性做久久久久久-成人AV | 亚洲黄片免费在线播放| 欧美巨大性舒爽顶到了| 97碰久久| 男人午夜天堂| 人人模人人看| 99亚洲国产精品色一区二区三区| 无码高清操逼| 人人操人人肉久久精品| 超碰95| 亚洲人妻爽爽爽| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 永久免费观看的毛片的网站| 日韩有码一区三区| 中文字幕久热视频在线| 秋霞成人一级在线观看| 国产肏屁眼视频| 日韩操人| 99成人| 被男人吃奶很爽的毛片| 97国产精选| 夜夜骑日日| 91精品国| 2017天天拍大香蕉| 精品三级在线专区| 欧美三级中文字幕hd| 91欧美长吊| 天色综合网| 北条麻妃性愛视频| 久久精品六区| 亚洲伊人久久综合97| 欧美一区二区一级岛国大片| 岛国在线一区二区三区| 婷婷激情四射| 青女在线| 国产馆| 2017av无码免费无线播| 亚洲暴力强奸AV| av大香蕉| 好看的久久不射无码影视影院| 精品无码产区一区二| 精品免费囯产一区二区三区| 无码一区免费在线不卡| 手机看av网站在线看| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 精品国产肉丝袜在线拍国语| 超碰亚洲欧美日韩无| 色五月第四色| 91n欧美| 免费av在线播放二区| 久久‘黄片视频| AV色天香在线| 亚洲 中文 欧美 日韩 在线| 可免费观看的av毛片中日美韩| 2017人人操,人人摸| 欧美一级A片在线看视频性色| 狼人综合婷婷激情四射 | 亚洲天天影视综合网| 熟女熟妇一区二区三区视频| 凹凸视频在线一区二区| 性色av婷婷久久一区二区点复制| 成人综合网 欧美| 内射黑丝袜| 欧美色涩| 亚洲 欧美 手机在线观看| 综合久久婷婷| 九九九九九九视频| 国产精品成人久久一区二区三区| 日韩免费高清大片在线| 岛国AB视频| 极品尤物在线观看| 香蕉在线一区二区三区| 职场同事知名国产国产精品久久欧美日韩| 天天爽天天操啊啊啊| 韩国一级AAA| 91逼逼女人91| 97中文字幕九区| 激情干在线| 磁力99AV| 日本成人免费一区二区三区| 香蕉在线一区二区三区| 9久9久| www.亚洲黄色| 涩爱AV在线| 99国产精品| 青青草操逼逼视频| 久久99九九九九6666免费观看软件| 欧美日韩操逼动图| 亚洲色图 综合| 成人av影院在线观看| 欧美黄色图片| 亚洲 中文字幕 精品| 久久久9视频| 亚洲婷婷丁香在线| 999久久久九| 欧美碰碰综合色| 狠狠五月天| 欧美九九九| 另类在线| 花野真衣| 玖玖玖玖精品国产剧情| http://qxhbdz.com| 久久久久久久| 啊啊啊啊一区| 色综合加勒比| 久久大线蕉一区| 园内精品自拍视频在线播放| 熟女精品一区二区在线观看| PMv在线观看| 日韩激情视频| 中文字幕aⅴ在线视频| 五毛骚逼极品美女怕怕| 色婷婷丁香| 天久久久噜噜噜久久国产精品爽爽| 97色婷婷| 最新av网站在线观看| 欧美少妇性乱| 久久久五月天| 国产精品不卡高清在线观看| 91AV天堂| 97色在线| 97超碰久久| 狠狠色一区二区中文字幕| 高潮的A片激情扒开一区| 色亚州人久干视频在线观看免费版 | 极品国产内射| 久9久9精品| 日本三级R| 蜜臀99久久| 97超碰总站| 亚洲综合激情五月久久| 五月天婷婷在线看| 国产精品69久久久久孕妇欧美 | 天天日天天插| 精品少妇人妻av久久免费| 亚洲加勒比久久日本道| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 男人天堂免费| 91久久国产综合精品| 91亚洲黑人| 久久这里只精品99re66图| 亚洲 日本 国产 综合| 久久午夜色播影院免费高清| 加勒比无码毛片| 97超碰精品成| 青青操在线亚洲视频观看欧美在线| 亚洲少妇喷视频看| 丁香五月婷婷五月| 五月婷婷色色| 婷色五月| 97色婷| 夜夜草网站| 熟女字幕| 日韩欧美字幕亚洲一区二区| 青娱乐国产精品| 国产一区二区三区久久久精品| 亚洲欧美日韩偷拍色图| 国产一区在线播放| 97超碰日韩| 人妻丝袜日本| 久久97超碰| 火箭成精品视频884必出精品| 91N综合网| 精品一区二区三区蜜桃| 熟妇色99| 亚洲在线a| 女生91网站| 99国产精品| 国产白丝精品在线观看| 国内毛片欧美香蕉精品| 极品综合| 亚洲1区2区三区高清中文字幕| 日本三级A片网站com| 亚洲综合另类小说色区亚洲成av人片在www | 91香蕉视频在线观看免费| 激情抓乳插进去啪啪啪日韩 | 在线视频一区二区传媒| 欧美成人综合| 久草成人影片| 青青青青操国内视频在线| 亚洲欧美天堂| www亚洲免费| 男女激情黄色网址| 久久精彩视频| 色爱欲亚洲| 亚洲的天堂网| 色色九区| 黄片国产精品一区二区| 手机看片1025| 日产国产精品中文久久婷婷| 色九九九综合| 欧美性暴力猛交| h在线看免费版在线看| 高清无码91| 99色婷婷中文字幕乱色| 青操影院| 大香蕉78| 麻花传媒免费网站在线观看| 一及黄久一点| 欧美—性—交—色| 这里只有精品视频在线| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 成人性爱视频在线看| 蜜乳av首页| 国产专区路线| 亚洲激情久久久伊人综合| 欧差乱伦二三| 国产精品久久久鸭无码的功能| 人妻日日夜夜精品| 97在线观看免费| 在线日韩日本亚洲国产| 亚洲无码久久久久久久| 91色图片| 外国91| 欧美aaaaaaa| 97视频网站在线观看| 亚洲情色综合网| 爱妃国产亚洲视频中文字幕| 99热自拍| 男人成人黄色视频在线观看免费下载| 欧美日韩97| 欧美疯狂做爰xxxx| 亚洲男人的天堂网| 国产成人超碰在线| 亚洲色吧网| 四虎免费视频| 国产免费操逼| 九九九九九九九九九五码| 风月影院十八禁| 免費黃色視頻觀看一| 伦理弟一页| 一个色导综合| 久久9精品视频| 色臀AV| 三级片网站在线播放| 久久99深爱久久99精品| 岛国在线免费视频| 欧美一区二区传媒| 欧美v亚洲v综合v国产v妖精| 激激五月| 国产精品福利视频| 国内精品999| 搡老女人老91二区| 无码99| 日韩精品一二三| 亚洲色诱惑| 一本一道久久综合久久| 日本三级网页| 色偷偷综合91久久噜噜| 男人的天堂一区三区| 呦女网站| 亚洲免费人妻在| 操淫穴亚洲五月丁香 | 国产一区二区欧美日本| 久久精品高清无码一区| 国产精品一区二区三区,亚洲综合| 欧美在线l亚洲| 超碰国产精品久| 97精品中文字幕| HEYZO高无码国产精品227| 另类欧美| 丁香六月婷婷| 丝袜剧情| 国产亚州高清国产拍精| 久久影视二区三区行押| 女人爽到高潮潮喷18禁网站| 欧美性爱超碰97| 超碰超碰95| 精品国产一区探花在线观看| 91天美传媒精品| 无码国产Av| 亚洲少妇激情一区二区三区| 狠狠爱综合| 日韩精品一区的| 91蜜臀熟女| 国产精品美女久久久久久网站| 丝袜性亚洲| 国产成人午夜视频网址| 91精品婷婷国产综合久久| 天天日天天色| 日本韩国国产精品一区| 欧美性天天影院| 五月婷丁香| 69XX一中文字幕人妻91| 91影视亚洲| 91精品久久久久久综合五月天| 综合网天天| 亚州熟妇精品| 久久久人体| 黄色在线网站| 色97干| 国产熟妇一区二区| 色五月综合网| 中文字幕精品一区欧美| 俞拍久久国应视频| 歐美性天天| 亚洲精品99| 在线观看成人性爱免费小视频| 天美传媒精品一区二区三区| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 日本久久综合| 天天日天天插| yellow网站免费观看日韩高清无码| 亚洲性高潮| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 日本性爰一道本| 国产精品乱码久久久| 日本999精品| 人妻天堂综合网| AA特级绝黄| 国产兽交视频在线播放| 在线欧美亚洲| 日韩成人人妻网站| 人妻在线大香蕉| 久草成人福利导航| 色爱综合网| 国产精品嫩草影院免费| 国内亚洲高清无码| 好爽视频在线观看视频| 成人草草视频| 99re在线视频国产| 日日橹狠狠爱欧美超碰| 日韩在线视频1234| 久久激情视频| 中文字幕av乱伦| 综合久久久久久久综合网| 日韩国产精品人妻无码久久久| 超碰97久| 四虎影视 亚洲无码| 大香蕉之青青草原| 久久鲁夜| 91撸色网 玖玖网 欧美| 亚洲欧美中日韩| 欧州色图区| 五月激情综合网| 337p大胆噜噜噜噜噜91Av| 国产精品女久久久久av爽| 中文人妻av高清一区| 97色伦97色伦国产欧美| 天天看精品动漫视频一区| 97爱综合| 人妻少妇精品视频一区二区三区| 乱伦a片视频| 欧美性综合| 乱子伦一区二区三区国产精品| 艳尻美人妻| 天天α片| 国产妇女精品视频青青草| 美女诱惑在线一区| 欧美日韩国产人人| 天天情欲宗合网| 208天天久久九九九| 青青草AV色| 99re视频在线播放青草| 欧美熟爽综合| 97国产精品久久久久 | 色色福利| 亚洲AV噜噜狠狠网址蜜桃动漫| 亚洲一级性爱视频免费看| 欧美性爱免费短视频| 操迟操逼在巾线Fre看| 精品亚洲国产成人精品| 亚洲成A∨人影院在线欢看| 日韩黄色成人性爱| 猛交交| 国产13区| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 国产三级中文字幕粉嫩| 少妇毛片久久| 天天综合网站| 电影69乱码96| 日产中文字幕2020| 91久久久老司机| 亚洲风情综合网| 五十路熟女人妻一区二区在线观看| 中文字幕丰满子伦无码专区在线视频最新| 在线免费观看高清无码视频| 天堂俺去俺来也www久久婷婷| 精品国产www久久| 伊人久久88国产女| 久久、1234| 亚洲在线A| 亚洲av成人精品一区| 免费一级特黄特色大片在线观看看| 国产 丝袜 欧美中文 另类| 在线观看十八禁| 一直超碰| 国产精品国产精品国产| 日韩久久.一级黄色片| 99∨VTV| 亚州色国| 亚洲国产精品成人久久蜜臀| 操逼逼中文字幕| 黄色AV影视| 日韩欧亚中文在线| 女色综合| 国产福利av精彩对白| 中文字幕日产av人| 久久久久久人| 蜜乳AV.COM| 亚洲老熟妇xxx| 中字一区| 18禁无码永久免费无限制| 色综合色色| 国产av热热色| 精品一区二区三区国产| 综合色色网| 裸体1区| 国产又黄又爽| 五月天婷婷色色| 校园春色中文字幕AV| 免费AV中文网在线观看| 337p大胆噜噜噜噜噜91Av| 麻豆 亚洲 97| 秋霞午夜成人福利片片| 亚洲中文字幕网| a人片中文字幕一区二区| 亚洲啪啪综合?v一区综合精品区| 国内精品久久久久影院亚洲| 婷婷精品国产一区二区三区日韩| 久久免费少妇| 色区久久| 偷拍亚洲视频一区二区三区四区| 十八禁av无码免费网站APP| 久久久久久中文字幕中文字幕最新| www久久精品| 亚洲国产成人福利在线观看| 少妇与黑人高潮在线| 久久岛国| 99精品无码| 久久久一区二区三区麻豆| 日韩av不卡在线观看| 2026国产精品视频| 精品午夜福利国产一区二区在线观看| 久久人人爽爽爽人久久久| 天天综合网~91| 婷婷丁香五月综合| 日韩无码第3页| 大地资源在线观看中文第二页| 天天操天天7| 色乱二区| 久艹视频在线| 秋霞曰韩R级| 亚洲综合草草| 天天色综合天天操| 农村少妇久久久久久久| 玖玖色综合| 黄页av| 日本一区二区电影网站| 日韩国产精品人妻无码久久久| 毛片视频白嫩| 国产美女在线精品免费看| av操操不卡| 日韩电影免费网站麻豆视频| 9999亚洲精品| 久久综合日韩亚洲欧美| 超碰97网站| 精品人妻二区三区| 91看黄片| 欧美亚洲高清不卡| 蜜臀操逼黄色视频操的好爽| 天天综合~91| 欧美日韩性感| 国产精品永久免费10000| 99黄页网站| 牛牛aV| 亚洲操操操无码| 亚洲综合五月天| 日本一级特级毛片视频| 性性欧美| 久热9| 强奸a片网| 视频二区美腿丝袜制服人妻欧美| 亚洲乱妇p22| 91jk色拍| 丰满人妻一区二区三区大胸懂色| 啊啊啊啊好疼| 亚洲射综合网| 性做久久久久久久| 人妻欧美| 国产精品高潮久久AV| 天天干夜夜一操| 久久久久久久9| 9999亚洲电影| 9999久久久久| 2017人人操,人人摸| 东京男人天堂| 男女激情中文字幕| 婷婷伊人| 精品人妻中文字幕4399| 91观看 国产白丝| 精品97精品97| 丁香色色网| 人人看人人爰人人操| 国产精品农村妇女精品| 99www.bibizy香蕉资源国产一区二区三区高清 | 久久久久亚洲精品| 久久综合九九| 亚洲天堂AV在线播放| 97超碰美女| 美国三级日本三级久久99| 四虎永久在线精品免费网址| 黄aaaaaaaaaaaaaaaaaa色网站| 岛国免费视频在线| 精品一区二区三区蜜桃| 粉嫩久久久久| 夜夜操天天肏| 99激情| 懂色AV蜜臀无码精品APP| 国产精品第一区第一页| 亚洲男人天堂AV| 乱操9999| 综合久久99亚洲人妻中文在线| 91啪9色| 五月婷婷六月激情| 被体育老师抱着c到高潮| 福利操逼| 色y情视频免费看| 国产高清自拍| 91bbbbbb| 亚洲情色 自拍| 亚洲91综合| 伊人aaa| 操b网站亚洲无码| 爆乳免费黄网站| 日韩欧美视频青青| 丁香五月婷婷基地| 欧美网站免费| 乱伦3P视频| 日本操逼二区| 秋霞成人一级在线观看| 久久精品人人做人人看| a片 xxxx受爽视频| 欧美第一页| 啊啊啊免费| 91综合站| 激情色图| 精品久久久av无码免费| 天天澡天天爽日日AV| 天天综合97| 91美女网站| 翔田千里AV无码秘 三区| 久久久久久久97| 婷婷涩嫩草鲁丝久久午夜精品| 91老司机在线| 日韩兔费看黄片| 懂色av一区二区三区天美传媒| 欧美综合网A| 国产精品人妻无码久久久互動交流 | 欧美黄色片在线播放| 91亚洲色人| av在线不卡一区二区三区| 美女极品一区二区三区| 日本一区二区成人在线| 亚卅熟女乱色| 97色色网| 高清不卡视频| 国产不卡中文字幕免费avi| 人妻免费观看| 人人操人人精品影片| henhen91| 国产精品成人AV片免费看网站| 91精品亚洲内射孕妇| 伊人久久大香线蕉无码| 国产激情片在线观看| 亚洲婷婷五月天| 亚洲国产剧情少妇激情| 98精品国产乱码久久久久久| wuyechaopeng| 久久精品超碰| 午夜视频黄| 在线精品福利免费播放| 欧美激情综合色综合啪啪五月| 99999久久久久9国产精品| 日本东京热大香蕉a片| 青青草中日韩在线| 日韩无限资源| 园内精品自拍视频在线播放| 色播综合| A啊啊在线观看| 一本一道久久综合久久| 五月丁香激情四射| 亚洲中文国际强奸字幕| 天天做天天爱天天高潮| 老熟妇综合| 欧美亚州综合网图片| 99精品国产户外露出| 激情啪啪拍91| 青青草在线成人视频| 4虎在线视频| 97在线免费观看视频| 亚洲日韩美国人妻| 国产精品一区人妻精品阁在线| 中文字幕AV片| 亚洲97在线观看| 色噜噜精品一区二区三| 99啪| 亚洲日精品| 国产一区二区三区视频在线看| 曰韩av中文字幕专区| 情色av电影| 欧美碰碰综合色| 乱伦av麻豆| 国产视频三区四区| 天美传媒精品久久视频| 18啪啪手机免费性爱| 98色网| 少妇蹲下买菜露大唇0| 乱抡国产91| 婷婷五月天av| 97超碰色中文字幕| 手机看片日韩人妻| 人人喜人人妻| AV天堂因数| 懂色AV蜜臀无码精品APP| 美女淫穴| av影片在线观看不卡| 国产日比| 天天干夜夜操一区二区| 精品国产人成在线| 97色色国产视频| 国产午夜在线观看| 五月天综合| 一本一道久久综合久久| 视频在线观看免费一区二区三区 | 亚洲无 码A片在线观看麻豆| 亚洲五月婷| 日韩电影免费网站麻豆视频| 国产精品无码av嫩草| 一区中文字幕二区日韩| 天天澡天天狠天天天做| 丝袜美腿诱惑亚洲欧美视频在线观看 | 色欧洲| 亚洲 日本 一 二 三| 国产又粗又长又大的视频| 国产高清无码一区二区三区四区皇冠| 国产精品久久久久久久久久久久久久久久 | 久久久久久性爱视频| 久久久91| 久久九九99| 蜜桃久久一区| 极品色www影院| 中文字幕无码不卡啪啪| 殴美在线AⅤ| 色九九综合AV| 无码精品人妻一区二区三区妖精| 一区二区蜜臀| 欧美日日操| 九九自拍伦理| 人人人人插| 日本天堂在线播放| 亚洲最大无码中文字幕网站| 91精品国| 超碰国产在线| 操人妻视频| 天天淫人人妻日日色| 乱伦熟妇一区二区| 国产欧美日韩女同性恋ww喷水精品 | 射欧美综合| 99亚洲精品| 超碰在线97国产| 操逼啊啊啊91| 99热这里只有精品1| 婷婷激情五月| 欧美在线天堂| 91丝袜美女| 国产成人自拍视频视频| 激情婷婷丁香| 少妇滛荡视频| 好吊色综合| 亚洲熟妇无码一区二区三区| 婷婷丁香九月| 超碰偷拍| 翘臀vidoes| 69少妇一区二区| 少好三P| 黑丝内射一区二区三区| 日本操逼aaaaa| 成人久久久精品| 91综合在线| 超碰免费人妻人人| 99精品丰满人妻无码| 色婷婷电影网| 中文?日韩?免费?精品| 九九九九免费高| 人人爱操| 第四色奇米影视777| 日日摸日日弄日日拍| 日韩熟女精品无码专区一区二区| 亚洲综合另类小说色区亚洲成av人片在www| 91少妇通奸网站| 精品少妇后入一区二区三区四区人妻巨乳 | 最新国产精品久久精品| 综合久久97| 久久综合久色欧美综合狠狠| 91操熟妇| 大香蕉视频一二三区| 69人妻精品丰满熟女区| 亚洲激情在线一区二区| a片久久久久久久久久久久| 久9爱经典视频| 91 国产丝袜在线放观看| 在线中文字幕极品av| 啪啪视频免费在线观看| 久久中文字幕女同性恋一区| 精品一区二区三区最新| 日本日皮视频逼| 香伊人在线| 欧美亚洲手机在线| 亚洲天堂美臀在线| 日本一区二区电影网站| 欧美日韩性爱精品| 亚洲国产欧美另类自拍| 中文字幕后石码四区五区| 少妇特黄一区二区三区| 欧美综合色站| 色婷婷基地| 日韩/97| 丁香五月婷婷啪啪| 熟女精品va中文字幕| 综合网天天| 9精品久久久久| 91伊人久久在线| 男人的天堂色偷偷青青草视频婷婷网| 国产女人成人精品视频| 国产久久成人| 日韩欧美性吧婷婷乱伦大香蕉 | 久操操AV电影| 丰满人妻一区二区三区| 99re99在线视频| 蜜桃视频啊啊啊啊| 人妻酒店出差被中出免费在线播放| 中文字幕一区 二区三四五 区日 日骚| 国产欧美亚洲精品a第2页| 国产精品嫩草影院免费| 国产三级在线现体验区| 草草草视频在线免费看| 午夜超碰| 成人国产二区三区在线,男女精品。| 色69大色97香蕉| 国产丝袜高跟美女av免费观看| 欲香欲色天天天综合和网| 91天堂视频| 亚州精品丝袜-不卡成人免费| 色女网日韩| 国产精品久久久久久夜夜夜| 大香蕉碰碰| 天天流夜夜操| 69超碰综合| 好湿好紧好爽 视频| 麻豆精品久久久久久久| 色女女女导航| 黄色大片一区二区密桃丝袜| 殴美性色a级欧美| 又黑又大又粗| 一牛影视久久久一区二区三区| 日本天天吊| 夜夜高潮夜夜爽| 丝袜综合| 亚洲精品1区| 97国产伦理| 亚洲图片偷拍欧美| 夜夜黄| 亚洲成人贴图|