04存储
考试大纲
存储:10%
-
了解存储类、持久卷
-
了解卷模式、访问模式和卷回收策略
-
理解持久容量声明原语
-
了解如何配置具有持久性存储的应用程序
PV
题目描述:
-
设置配置环境 kubectl config use-context k8s
-
创建名为 app-data 的 persistent volume,容量为 1Gi,访问模式为 ReadWriteMany。volume 类型为 hostPath,位于
/srv/app-data
官方文档:
参考解答:
apiVersion: v1
kind: PersistentVolume
metadata:
name: app-data
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteMany
hostPath:
path: "/srv/app-data"
PVC
题目描述:
-
置配置环境 kubectl config use-context k8s
-
创建一个新的 PersistentVolumeClaim:
-
名称:pvvolume
-
class:csi-hostpath-sc
-
容量:10Mi
-
创建一个新的 pod,此 pod 将作为 volume 挂载到PersistentVolumeClaim:
-
名称:web-server
-
image: nginx
-
挂载路径: /usr/share/nginx/html
-
配置新的 pod,以对 volume 具有 ReadWriteOnce 权限。
-
最后,使用 kubectl edit 或者 kubectl patch 将 PersistentVolumeClaim 的容量扩展为 70Mi,并记录此次更改。
官方文档:
- https://kubernetes.io/docs/tasks/configure-pod-container/configure-persistent-volume-storage/
- https://kubernetes.io/zh-cn/docs/tasks/configure-pod-container/configure-persistent-volume-storage/
参考解答:
- pvc 配置文件
cat > /cka/pvc.yaml <<EOF
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvvolume
spec:
accessModes:
- ReadWriteOnce
volumeMode: Filesystem
resources:
requests:
storage: 10Mi
storageClassName: csi-hostpath-sc
EOF
- pod 配置文件
cat > /cka/pod.yaml <<EOF
apiVersion: v1
kind: Pod
metadata:
name: web-server
spec:
containers:
- name: nginx
image: nginx
volumeMounts:
- mountPath: "/usr/share/nginx/html"
name: mypd
volumes:
- name: mypd
persistentVolumeClaim:
claimName: pvvolume
EOF
- 创建
- 扩展 pvc 容量