Kubernetes 静态PV使用

Kubernetes  静态PV使用

Kubernetes支持持久卷的存储插件:
https://kubernetes.io/docs/concepts/storage/persistent-volumes/

  • 缺点:手动创建pv比较繁琐、不适合大工程
  • 优点:小规模使用方便灵活

1、创建pvc yaml文件
vim pvc.yaml

apiVersion: v1
kind: Pod
metadata:
  name: nginx6
spec:
  containers:
  - name: nginx6
    image: nginx
    # 挂在点
    volumeMounts:
    - name: wwwroot
      mountPath: /usr/share/nginx/html
    ports:
    - containerPort: 80
  # 挂载来源
  volumes:
  - name: wwwroot
    # 定义PVC
    persistentVolumeClaim:
      # 定义PVC名称
      claimName: my-pvc

---

apiVersion: v1
# 使用PVC类型
kind: PersistentVolumeClaim
metadata:
  # 与容器应用PVC相同
  name: my-pvc
spec:
  # 定义读写权限
  accessModes:
    - ReadWriteMany
  # 请求资源
  resources:
    requests:
      # 存储空间 5G
      storage: 5Gi

2、创建pv yaml文件
vim pv.yaml

apiVersion: v1
# PV类型
kind: PersistentVolume
metadata:
  # PV名称与PVC相同
  name: my-pv
spec:
  # 定义容量
  capacity:
    storage: 5Gi
  # 读写权限
  accessModes:
    - ReadWriteMany
  # nfs分配网络存储
  nfs:
    path: /data/nfs
    server: 192.168.1.115

3、执行创建pv容器

kubectl apply -f pv.yaml 

4、查看创建pv
kubectl get pv

NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
# RWX:读写模式、Available:为可用状态
my-pv 5Gi RWX Retain Available 23s

5、创建pvc容器

kubectl apply -f pvc.yaml

6、查看pvc创建容器
kubectl get pod

NAME READY STATUS RESTARTS AGE
nginx6 1/1 Running 0 20s

7、查看pv与pvc状态
kubectl get pv,pvc

NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
# Bound:已经使用以成绑定装填
persistentvolume/my-pv 5Gi RWX Retain Bound default/my-pvc 3m44s
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
# 以绑定到pv
persistentvolumeclaim/my-pvc Bound my-pv 5Gi RWX 78s

8、nfs共享目录下创建一个index.html

echo "<h1>xxxxxxxxx</h1>" > /data/nfs/index.html

9、进入容器测试
kubectl exec -it nginx6 bash

ls /usr/share/nginx/html
index.html
原文地址:https://www.cnblogs.com/xiangsikai/p/11424168.html