【CKA 2024】CKA 考前自学 (十一)

题目内容

设置配置环境:

[candidate@node-1] $ kubectl config use-context ok8s

Task

创建一个新的 PersistentVolumeClaim:

名称: pv-volume

Class: csi-hostpath-sc

容量: 10Mi

创建一个新的 Pod,来将 PersistentVolumeClaim 作为 volume 进行挂载:

名称:web-server

Image:nginx:1.16

挂载路径:/usr/share/nginx/html

配置新的 Pod,以对 volume 具有 ReadWriteOnce 权限。

最后,使用 kubectl edit 或 kubectl patch 将 PersistentVolumeClaim 的容量扩展为 70Mi,并记录此更改。


考点相关内容分析

PVC

PersistentVolumeClaim 是 Kubernetes 中的一种资源对象,用于请求持久化存储资源。当应用程序需要使用持久化存储时,可以创建一个 PersistentVolumeClaim,该声明描述了对存储的需求,比如存储大小和访问模式等。然后 Kubernetes 系统会根据这些声明去匹配可用的 PersistentVolume,并自动将其绑定到相应的 Pod 上,从而提供持久化存储支持。PVC 可以与 StatefulSet、Deployment 等资源一起使用,以确保应用程序的数据持久性和可靠性。

PVC常见操作

  1. 查看 PVC
$ kubectl get pvc
  1. 查看 PVC
$ kubectl describe pvc <pvc_name>
  1. 删除 PVC
$ kubectl delete pvc <pvc_name>

PVC yaml 格式示例:

apiVersion: v1  # Kubernetes API 版本
kind: PersistentVolumeClaim  # 资源类型为持久卷声明
metadata:
  name: myclaim  # PVC 的名称
spec:
  accessModes:  # 访问模式
    - ReadWriteOnce  # 读写一次
  volumeMode: Filesystem  # 卷模式为文件系统
  resources:  # 资源请求
    requests:
      storage: 8Gi  # 请求 8GB 的存储空间
  storageClassName: slow  # 存储类名称为 slow
  selector:  # 选择器用于选择 PV
    matchLabels:  # 匹配标签
      release: "stable"  # 匹配 release=stable 的标签
    matchExpressions:  # 匹配表达式
      - {key: environment, operator: In, values: [dev]}  # 匹配环境为 dev 的标签

题目操作步骤

  1. (标准步骤) 进入题目指定集群
$ kubectl config use-context ok8s
  1. 创建一个 pvc.yaml 复制官网示例修改
$ vim pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
 name: pv-volume
spec:
  storageClassName: csi-hostpath-sc
  accessModes:
    - ReadWriteOnce
  resources:
    request:
      storage: 10Mi
$ kubectl apply -f pvc.yaml

在这里插入图片描述

  1. 创建 Pod
$ vim pvc-pod.yaml
apiVersion: v1
kind: Pod
metadata:
  name: web-server
spec:
  containers:
    - name: nginx
      image: nginx:1.16
      volumeMounts:
        - mountPath: "/usr/share/nginx/html"
          name: data
  volumes:
    - name: data
      persistentVolumeClaim:
        claimName: pv-volume
$ kubectl apply -f pvc-pod.yaml

在这里插入图片描述
4. 修改 pvc 配置文件

$ kuectl edit pvc pv-volume --record

将 storage: 10Mi 改为 storage: 70Mi
在这里插入图片描述

检查命令

确保 pod 是 running 的

$  kubectl get pod web-server

在这里插入图片描述

参考链接:https://kubernetes.io/zh-cn/docs/concepts/storage/persistent-volumes/#types-of-persistent-volumes

请添加图片描述

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安破戎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值