日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

K8S环境中NAS卷添加noresvport方法

發(fā)布時(shí)間:2024/8/23 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 K8S环境中NAS卷添加noresvport方法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

通過K8S使用NAS卷,請(qǐng)區(qū)分以下場(chǎng)景:

靜態(tài)存儲(chǔ)卷:
? ?使用阿里云ACK,PV、PVC方式,nfs驅(qū)動(dòng);
? ?使用阿里云ACK,PV、PVC方式,Flexvolume驅(qū)動(dòng);
? ?使用阿里云ACK,Volume方式,nfs驅(qū)動(dòng);
? ?使用阿里云ACK,Volume方式,Flexvolume驅(qū)動(dòng);
? ?自建K8S,PV、PVC方式,nfs驅(qū)動(dòng);
? ?自建K8S,Volume方式,nfs驅(qū)動(dòng);

動(dòng)態(tài)存儲(chǔ)卷:
? ?使用阿里云ACK
? ?使用自建K8S

靜態(tài)卷-使用阿里云Kubernetes(ACK)時(shí)

1. 使用PV、PVC方式(nfs驅(qū)動(dòng))

首先確認(rèn)當(dāng)前的掛載是否配置了noresvport參數(shù),參考NAS團(tuán)隊(duì)提供的方式;

例如當(dāng)前的pv如下面yaml:

apiVersion: v1 kind: PersistentVolume metadata:name: pv-nas spec:accessModes:- ReadWriteOncecapacity:storage: 2GimountOptions:- vers=3nfs:path: /defaultserver: 2564f49129-ggu23.cn-shenzhen.nas.aliyuncs.compersistentVolumeReclaimPolicy: Retain

編輯PV:

kubectl edit pv pv-nas
更新mountOptions:

mountOptions:- vers=4.0- noresvport

或者:

mountOptions:- vers=3- nolock,tcp,noresvport

重啟使用這個(gè)pv的pod;

需要注意:

由于一個(gè)節(jié)點(diǎn)上,如果已經(jīng)有某個(gè)掛載點(diǎn)掛載在一個(gè)目錄下了,其他的掛載(相同掛載點(diǎn))即使配置了noresvport參數(shù),還是會(huì)follow以前的掛載參數(shù)。即noresvport不生效;

解決方法:
方法1:修改pv參數(shù)后,把所有使用這個(gè)掛載點(diǎn)的pod掉離這個(gè)節(jié)點(diǎn),然后再調(diào)回來。
方法2:使用新的掛載點(diǎn)創(chuàng)建新的pv使用(一個(gè)nas文件系統(tǒng)可以有2個(gè)掛載點(diǎn));

示例方法1:

集群中有2個(gè)worker節(jié)點(diǎn),部署一個(gè)deploy包含3個(gè)Pod; # kubectl get node | grep -v master NAME STATUS ROLES AGE VERSION cn-shenzhen.i-wz9c9m0m4oldr6mt89rd Ready <none> 55d v1.12.6-aliyun.1 cn-shenzhen.i-wz9gvy73m4qyk03xzg1y Ready <none> 60d v1.12.6-aliyun.1# kubectl get pod NAME READY STATUS RESTARTS AGE nas-static-784496fbb9-cqr97 1/1 Running 0 63m nas-static-784496fbb9-gljbq 1/1 Running 0 63m nas-static-784496fbb9-ngzkq 1/1 Running 0 63m編輯pv,添加- nolock,tcp,noresvport Options;編輯deploy,把這個(gè)deploy的pod都調(diào)度到節(jié)點(diǎn):cn-shenzhen.i-wz9c9m0m4oldr6mt89rd上; > 在deploy中添加 nodeName: cn-shenzhen.i-wz9c9m0m4oldr6mt89rd > 如果您的集群節(jié)點(diǎn)較多,可以給一批節(jié)點(diǎn)添加label,然后通過nodeSelector把pod調(diào)度到這寫節(jié)點(diǎn); > 參考:https://kubernetes.io/zh/docs/tasks/configure-pod-container/assign-pods-nodes/注意:如果您用的時(shí)候statefulset的應(yīng)用,需要把updateStrategy.type配置為RollingUpdate;然后再把pod調(diào)度到其他節(jié)點(diǎn):cn-shenzhen.i-wz9gvy73m4qyk03xzg1y到節(jié)點(diǎn)cn-shenzhen.i-wz9gvy73m4qyk03xzg1y 上驗(yàn)證noresport,已經(jīng)生效。 2564f49129-ggu23.cn-shenzhen.nas.aliyuncs.com:/default on /var/lib/kubelet/pods/aa79e380-9bdb-11e9-a545-00163e0eff42/volumes/kubernetes.io~nfs/pv-nas type nfs (rw,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,nolock,noresvport,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.0.11,mountvers=3,mountport=4002,mountproto=tcp,local_lock=all,addr=192.168.0.11)最后,由于當(dāng)前使用nas的pod是有nodeName標(biāo)簽的,可以編輯deploy,把nodeName(nodeSelector)去掉。

2. 使用PV、PVC方式(Flexvolume驅(qū)動(dòng))

首先確認(rèn)當(dāng)前的掛載是否配置了noresvport參數(shù),參考NAS團(tuán)隊(duì)提供的方式;

例如當(dāng)前的pv如下面yaml:

apiVersion: v1 kind: PersistentVolume metadata:name: pv-nas spec:capacity:storage: 5GistorageClassName: nasaccessModes:- ReadWriteManyflexVolume:driver: "alicloud/nas"options:server: "0cd8b4a576-uih75.cn-hangzhou.nas.aliyuncs.com"path: "/k8s"vers: "3"

重啟使用這個(gè)pv的pod(升級(jí)flexvolume版本到最新);

需要注意:

由于一個(gè)節(jié)點(diǎn)上,如果已經(jīng)有某個(gè)掛載點(diǎn)掛載在一個(gè)目錄下了,其他的掛載(相同掛載點(diǎn))即使配置了noresvport參數(shù),還是會(huì)follow以前的掛載參數(shù)。即noresvport不生效;

解決方法:
方法1:修改pv參數(shù)后,把所有使用這個(gè)掛載點(diǎn)的pod掉離這個(gè)節(jié)點(diǎn),然后再調(diào)回來。
方法2:使用新的掛載點(diǎn)創(chuàng)建新的pv使用(一個(gè)nas文件系統(tǒng)可以有2個(gè)掛載點(diǎn));

參考示例方法1

3. 使用Volume方式掛載(nfs驅(qū)動(dòng))

不支持添加noresvport 參數(shù),請(qǐng)使用pv、pvc方式;

apiVersion: v1 kind: Pod metadata:name: "flexvolume-nas-example" spec:containers:- name: "nginx"image: "nginx"volumeMounts:- name: "nas1"mountPath: "/data"volumes:- name: "nas1"nfs:path: /server: 0cd8b4a576-grs79.cn-hangzhou.nas.aliyuncs.com

4. 使用Volume方式掛載(flexvolume驅(qū)動(dòng))

apiVersion: v1 kind: Pod metadata:name: "flexvolume-nas-example" spec:containers:- name: "nginx"image: "nginx"volumeMounts:- name: "nas1"mountPath: "/data"volumes:- name: "nas1"flexVolume:driver: "alicloud/nas"options:server: "0cd8b4a576-grs79.cn-hangzhou.nas.aliyuncs.com"path: "/k8s"vers: "3"

重啟使用這個(gè)pv的pod(升級(jí)flexvolume版本到最新);

需要注意:

由于一個(gè)節(jié)點(diǎn)上,如果已經(jīng)有某個(gè)掛載點(diǎn)掛載在一個(gè)目錄下了,其他的掛載(相同掛載點(diǎn))即使配置了noresvport參數(shù),還是會(huì)follow以前的掛載參數(shù)。即noresvport不生效;

解決方法:
方法1:修改pv參數(shù)后,把所有使用這個(gè)掛載點(diǎn)的pod掉離這個(gè)節(jié)點(diǎn),然后再調(diào)回來。

方法2:使用新的掛載點(diǎn)創(chuàng)建新的pv使用(一個(gè)nas文件系統(tǒng)可以有2個(gè)掛載點(diǎn));

參考示例方法1

靜態(tài)卷-不使用ACK,自建K8S

參考上面ACK集群中使用nfs驅(qū)動(dòng)的解決方案;

動(dòng)態(tài)存儲(chǔ)卷:

自建集群和ACK同下面方式;

對(duì)于使用下面storageclass創(chuàng)建的pv,如果沒有添加noresvport參數(shù),其生成的pv也沒有添加noresvport:

apiVersion: storage.k8s.io/v1 kind: StorageClass metadata:name: alicloud-nas mountOptions: - vers=3 provisioner: alicloud/nas reclaimPolicy: Retain

處理動(dòng)態(tài)卷分為兩個(gè)部分:

1. 更新storageclass:

這樣后續(xù)生成的pv會(huì)默認(rèn)添加noresvport參數(shù);編輯stroageclass:

# kubectl edit sc alicloud-nasmountOptions: - nolock,tcp,noresvport - vers=3

2. 更新存量pv的掛載

# kubectl get pv pvc-b56f185a-9be4-11e9-a545-00163e0eff42 2Gi RWO Retain Bound default/html-web-0 alicloud-nas 5h14m pvc-bc6b1f8d-9be4-11e9-a545-00163e0eff42 2Gi RWO Retain Bound default/html-web-1 alicloud-nas 5h14m pvc-bf949736-9be4-11e9-a545-00163e0eff42 2Gi RWO Retain Bound default/html-web-2 alicloud-nas 5h14m

同方法:使用PV、PVC方式(nfs驅(qū)動(dòng))
在pv中添加noresvport,
調(diào)度pod到其他節(jié)點(diǎn);


原文鏈接
本文為云棲社區(qū)原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。

總結(jié)

以上是生活随笔為你收集整理的K8S环境中NAS卷添加noresvport方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。