ckad练习题-State Persistence
State Persistence (8%)
Defining and Mounting a PersistentVolume
- Create a Persistent Volume named
pv
, access modeReadWriteMany
, storage class nameshared
, 512MB of storage capacity and the host path/data/config
. - Create a Persistent Volume Claim named
pvc
that requests the Persistent Volume in step 1. The claim should request 256MB. Ensure that the Persistent Volume Claim is properly bound after its creation. - Mount the Persistent Volume Claim from a new Pod named
app
with the path/var/app/config
. The Pod uses the imagenginx
. - Check the events of the Pod after starting it to ensure that the Persistent Volume was mounted properly.
Solution:
Create a YAML file for the Persistent Volume and create it with the command kubectl create
command.
apiVersion: v1 kind: PersistentVolume metadata: name: pv spec: capacity: storage: 512m accessModes: - ReadWriteMany storageClassName: shared hostPath: path: /data/config
You will see that the Persistent Volume has been created but and is available to be claimed.
$ kubectl get pv NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE pv 512m RWX Retain Available shared 4s
Create a YAML file for the Persistent Volume Claim and create it with the command kubectl create
command.
kind: PersistentVolumeClaim apiVersion: v1 metadata: name: pvc spec: accessModes: - ReadWriteMany resources: requests: storage: 256m storageClassName: shared
You will see that the Persisten Volume Claim has been created and has been bound to the Persisten Volume.
$ kubectl get pvc NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE pvc Bound pv 512m RWX shared 2s $ kubectl get pv NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE pv 512m RWX Retain Bound default/pvc shared 1m
Create a YAML file for the Pod and create it with the command kubectl create
command.
apiVersion: v1 kind: Pod metadata: creationTimestamp: null labels: run: app name: app spec: containers: - image: nginx name: app volumeMounts: - mountPath: "/var/app/config" name: configpvc resources: {} volumes: - name: configpvc persistentVolumeClaim: claimName: pvc dnsPolicy: ClusterFirst restartPolicy: Never status: {}
You can check the events of a Pod with the kubectl describe
command. You should see an entry that indicates the successful mount.
$ kubectl describe pod app ... Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 16s default-scheduler Successfully assigned app to docker-for-desktop Normal SuccessfulMountVolume 16s kubelet, docker-for-desktop MountVolume.SetUp succeeded for volume "pv" Normal SuccessfulMountVolume 16s kubelet, docker-for-desktop MountVolume.SetUp succeeded for volume "default-token-fsmmp" Normal Pulling 15s kubelet, docker-for-desktop pulling image "nginx" Normal Pulled 14s kubelet, docker-for-desktop Successfully pulled image "nginx" Normal Created 14s kubelet, docker-for-desktop Created container Normal Started 13s kubelet, docker-for-desktop Started container
分类:
k8s
, cloud native
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
2017-05-06 Yii2 Restful Api 401