天天看点

k8s学习-CKA真题-持久化存储

目录

  • ​​题目 - PV​​
  • ​​内容​​
  • ​​解析​​
  • ​​命令​​
  • ​​结果​​
  • ​​题目 - PVC​​
  • ​​内容​​
  • ​​解析​​
  • ​​命令​​
  • ​​搭建环境​​
  • ​​解题​​
  • ​​结果​​
  • ​​参考​​

题目 - PV

内容

k8s学习-CKA真题-持久化存储

解析

创建一个pv,名字为app-config,大小为2Gi,访问模式为ReadWriteMany。Volume的类型为hostPath,路径为/srv/app-config

命令

app-config.yaml

apiVersion: v1
kind: PersistentVolume
metadata:
  name: app-config
  labels:
    type: local
spec:
  storageClassName: manual
  capacity:
    storage: 2Gi
  accessModes:
    - ReadWriteMany
  hostPath:
    path: "/srv/app-config"      
kubectl create -f app-config.yaml      

结果

k8s学习-CKA真题-持久化存储

题目 - PVC

内容

k8s学习-CKA真题-持久化存储

解析

创建一个名字为pv-volume的pvc,指定storageClass为csi-hostpath-sc,大小为10Mi

然后创建一个Pod,名字为web-server,镜像为nginx,并且挂载该PVC至/usr/share/nginx/html,挂载的权限为ReadWriteOnce。之后通过kubectl edit或者kubectl path将pvc改成70Mi,并且记录修改记录。

命令

搭建环境

使用参考中的github项目的examples中的csi-storageclass.yaml

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: csi-hostpath-sc
provisioner: hostpath.csi.k8s.io
reclaimPolicy: Delete
volumeBindingMode: Immediate
allowVolumeExpansion: true      
k8s学习-CKA真题-持久化存储

解题

pv-volume-pvc.yaml

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: pv-volume
spec:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 10Mi
  storageClassName: csi-hostpath-sc      

web-server-pod.yaml

apiVersion: v1
kind: Pod
metadata:
  name: web-server
spec:
  containers:
    - name: nginx
      image: nginx
      volumeMounts:
      - mountPath: "/usr/share/nginx/html"
        name: pv-volume
  volumes:
    - name: pv-volume
      persistentVolumeClaim:
        claimName: pv-volume      

命令

kubectl create -f pv-volume-pvc.yaml
kubectl create -f web-server-pod.yaml      

结果

k8s学习-CKA真题-持久化存储

可以看到pvc和Pod均创建成功。

参考

继续阅读