基于k8s搭建本地存储(PVC)
一、搭建存储(PVC)
由于此教程基于Windows环境搭建k8s单节点存储PVC,故存储使用
local-storage
,关于k8s储存(PVC)此处不做过多介绍
1、创建PV
(1)编辑local-pv.yaml内容如下
apiVersion: v1
kind: PersistentVolume
metadata:
name: local-pv
spec:
capacity:
storage: 50Gi
volumeMode: Filesystem
accessModes:
- ReadWriteMany #允许被单个节点以读写的模式进行挂载,local
persistentVolumeReclaimPolicy: Delete
storageClassName: local-storage
local: # local类型
path: /run/desktop/mnt/host/e/docker/mount #这是windows WSL 2 挂载路径写法
nodeAffinity: # 这里就设置了节点亲和
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- docker-desktop # 这里我们指定节点,该节点有path路径
(2)创建PV
kubectl create -f .\local-pv.yaml
(3)查看PV
kubectl get pv
2、创建StorageClass
(1)编辑local-sc.yaml内容如下
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: local-storage
provisioner: kubernetes.io/no-provisioner # 存储插件名称 进行动态创建 PV
volumeBindingMode: WaitForFirstConsumer # 很关键 延迟绑定 Pod 的调度要参考卷PV的分布
(2)创建StorageClass
kubectl create -f .\local-sc.yaml
3、创建PVC
(1)编辑local-pvc.yaml内容如下
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: local-pvc
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
storageClassName: local-storage
(2)创建PVC
kubectl create -f .\local-pvc.yaml
(3)查看PVC
kubectl get pvc
可以看到PV绑定了PVC,到此结束。