首页 > 其他分享 > #我的新年Flag#storageClass

#我的新年Flag#storageClass

时间:2023-02-14 21:33:19浏览次数:37  
标签:name 新年 root volume Flag nfs storageClass test data

概念
StorageClass 可以动态生成一个存储卷PV 供K8s pvc 使用,它的作用是创建PV模板
创建NFS共享目录
[root@k8smaster5 ~]# mkdir /data/storageClass
[root@k8smaster5 ~]# vim /etc/exports
[root@k8smaster5 ~]# cat /etc/exports
/data/volumes *(rw,no_root_squash)
/data/volume_test/v1 *(rw,no_root_squash)
/data/volume_test/v2 *(rw,no_root_squash)
/data/volume_test/v3 *(rw,no_root_squash)
/data/volume_test/v4 *(rw,no_root_squash)
/data/volume_test/v5 *(rw,no_root_squash)
/data/volume_test/v6 *(rw,no_root_squash)
/data/volume_test/v7 *(rw,no_root_squash)
/data/volume_test/v8 *(rw,no_root_squash)
/data/volume_test/v9 *(rw,no_root_squash)
/data/volume_test/v10 *(rw,no_root_squash)
/data/storageClass *(rw,no_root_squash)
导入NFS新增共享目录
[root@k8smaster5 ~]# exportfs -arv
exporting *:/data/storageClass
exporting *:/data/volume_test/v10
exporting *:/data/volume_test/v9
exporting *:/data/volume_test/v8
exporting *:/data/volume_test/v7
exporting *:/data/volume_test/v6
exporting *:/data/volume_test/v5
exporting *:/data/volume_test/v4
exporting *:/data/volume_test/v3
exporting *:/data/volume_test/v2
exporting *:/data/volume_test/v1
exporting *:/data/volumes
导入镜像
[root@k8snode4 ~]# ctr -n=k8s.io images import nfs-subdir-external-provisioner.tar.gz
创建SA
[root@k8smaster4 storage]# cat serviceaccount.yaml 
apiVersion: v1
kind: ServiceAccount
metadata:
name: nfs-provisioner
查看SA
[root@k8smaster4 storage]# kubectl get sa
绑定SA
[root@k8smaster4 storage]# kubectl create clusterrolebinding nfs-provisioner-clusterrolebinding --clusterrole=cluster-admin --serviceaccount=default:nfs-provisioner
clusterrolebinding.rbac.authorization.k8s.io/nfs-provisioner-clusterrolebinding created
创建存储类(storageClass)
[root@k8smaster4 storage]# cat storageclass.yaml 
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: nfs
provisioner: example.com/nfs
查看执行结果
查看存储类创建结果
[root@k8smaster4 storage]# kubectl get storageclass
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
nfs example.com/nfs Delete Immediate false 15s
创建PVC,关联存储类
[root@k8smaster4 storage]# cat pvc.yaml 
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: test-claim
spec:
accessModes: ["ReadWriteMany"]
resources:
requests:
storage: 1Gi
storageClassName: nfs
查看PVC创建结果(生成PV)
[root@k8smaster4 storage]# kubectl get pvc
[root@k8smaster4 storage]# kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
test-claim Bound pvc-b709529d-7015-4eb0-ace8-077ccd94779d 1Gi RWX nfs 6s
创建控制器Pod
[root@k8smaster4 storage]# cat nfs-deployment.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:
name: nfs-provisioner
spec:
selector:
matchLabels:
app: nfs-provisioner
replicas: 1
strategy:
type: Recreate
template:
metadata:
labels:
app: nfs-provisioner
spec:
serviceAccount: nfs-provisioner
containers:
- name: nfs-provisioner
image: registry.cn-beijing.aliyuncs.com/mydlq/nfs-subdir-external-provisioner:v4.0.0
imagePullPolicy: IfNotPresent
volumeMounts:
- name: nfs-client-root
mountPath: /persistentvolumes
env:
- name: PROVISIONER_NAME
value: example.com/nfs
- name: NFS_SERVER
value: 192.168.0.220
- name: NFS_PATH
value: /data/storageClass/
volumes:
- name: nfs-client-root
nfs:
server: 192.168.0.220
path: /data/storageClass/
查看执行结果
[root@k8smaster4 storage]# kubectl get deploy
验证内容同步Pod
[root@k8smaster4 storage]# cat testclass.yaml 
apiVersion: v1
kind: Pod
metadata:
name: test-storageclass
spec:
containers:
- name: test-container
image: docker.io/library/nginx
imagePullPolicy: IfNotPresent
volumeMounts:
- name: nfs-pvc
mountPath: /usr/share/nginx/html
volumes:
- name: nfs-pvc
persistentVolumeClaim:
claimName: test-claim


标签:name,新年,root,volume,Flag,nfs,storageClass,test,data
From: https://blog.51cto.com/u_11726705/6057424

相关文章

  • gdb debug python2.7 AttributeError: module 'enum' has no attribute 'IntFlag'
    gdbpythoncore之后报如下错误:该错误会导致后续bt命令无法解析名称符号。如果enum34不是用过pip安装的,则进入pythonimportenum,然后print(enum.__file__)找到......
  • flannel 低版本glog flag redefined error 问题解决
    最近在构建一个老版本的flannel的时候碰到了此问题,记录下,方便使用解决方法glideinstall--strip-vendor--strip-vcs参考资料https://stackoverflo......
  • GFlags
    GFlagsGFlags(全局标志编辑器)启用和禁用高级调试、诊断和故障排除功能。它最常用于打开其他工具跟踪、计数和记录的指示器。在何处获取GFlagsGFlags包含在适用......
  • #我的新年Flag#Pod生命周期
    生命周期流程创建主容器(containers)是必现的操作;初始化容器(initContainers)容器启动后钩子启动探测、存活性探测(livenessprobe)、就绪性探测(readnessprobe)容器终止前钩子......
  • #我的新年Flag#
    在新的一年里,我为自己定下了目标:1.提前学习一些后面会学习的专业知识。2.提升自己的英语能力,争取考完四六级,并得高分。3.坚持读一些对自己有益的书籍。4.在空闲时间锻炼身......
  • #我的新年Flag#
    时间过得飞快,转眼已经2023年了。刚进入大学才半年的我,总会感到迷茫。这种迷茫让自己感到了焦虑。遇到这种情况时,我们更应该去把握当下,认真过好每一天,让自己更优秀。来为自己......
  • #我的新年Flag#
    新年新气象,作为一个​​5ICTO博​客,我会在大学努力学习知识,遇到不会的及时去请教,在里面进行提问,进而提升自己的能力,虽然旅途很艰辛,会很枯燥乏味,这个过程坚持最重要。虽然我......
  • 融云 x 好柿花生:您有新 Flag 待打卡,坚持就有「好事发生」
    早睡半小时告别黑眼圈,一天八杯水四季不求医,定量背单词雅思一定行……新的一年,我们来浅浅立一下Flag吧~如果你自认为自制力不足,那么,打卡软件会出手的。好柿花生App就是这......
  • 新年首捷 | 全息网御入选《CCSIP 2022中国网络安全产业全景图(第五版)》
    2023年2月1日,FreeBuf咨询正式发布 《CCSIP(ChinaCyberSecurityPanorama)2022中国网络安全行业全景册(第五版)》,旨在帮助企业更好地了解中国网络安全技术与市场的发展趋势,并......
  • #我的新年Flag#ADB 常用指令
    It'snotaboutideas,it'saboutmakingideashappen查看当前连接设备C:\Users\BZZX>adbdevicesListofdevicesattached192.168.30.16:5555device连接指定设备a......