官方文档:https://kubernetes.io/zh-cn/docs/tasks/configure-pod-container/configure-persistent-volume-storage/

题目1:按要求创建PV
设置配置环境kubectl config use-context k8s
创建名为app-data的persistent volume,容量为1Gi,访问模式为ReadWriteMany。volume,类型为hostPath,位于/srv/app-data。
解答:
# 1.切换环境
kubectl config use-context k8s # 2.编写yaml文件
[root@master2 pv]# cat pv.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: app-data
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteMany
hostPath:
path: "/srv/app-data" [root@master2 pv]# kubectl apply -f pv.yaml
persistentvolume/app-data created
[root@master2 pv]# kubectl get pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
app-data 1Gi RWX Retain Available 4s
题目2:创建和使⽤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,并记录此次更改。
解答2:
# 根据题目,可以看出我们需要一个pv,让新建的pvc绑定到pv上,可以在题目1的yaml修改增加storageClassName: csi-hostpath-sc,以便让pvc自动绑定到这个pv上,考试的时候看看是否有了 # 1.切换配置环境
kubectl config user-context k8s # 2.创建pvc
[root@master2 pvc]# cat pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvvolume
spec:
storageClassName: "csi-hostpath-sc"
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Mi kubectl apply -f pvc.yaml
[root@master2 pvc]# kubectl get pvc pvvolume
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
pvvolume Bound app-data 1Gi RWO csi-hostpath-sc 27m # 3.创建pod,并挂载使用pvc
[root@master2 pvc]# cat pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: web-server
spec:
containers:
- name: nginx-pvc
image: docker.io/janakiramm/myapp:v1
imagePullPolicy: IfNotPresent
volumeMounts:
- mountPath: "/usr/share/nginx/html"
name: nginx-data
volumes:
- name: nginx-data
persistentVolumeClaim:
claimName: pvvolume [root@master2 pvc]# kubectl apply -f pod.yaml
pod/web-server created
[root@master2 pvc]# kubectl get pods
NAME READY STATUS RESTARTS AGE
web-server 1/1 Running 0 4s # 4.修改pvc容量:扩容
[root@master2 pvc]# kubectl edit pv app-data
persistentvolume/app-data edited
[root@master2 pvc]# kubectl get pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
app-data 2Gi RWO Retain Bound default/pvvolume csi-hostpath-sc 23m

9.按需创建PV和PVC并使用的更多相关文章

  1. K8S 使用NFS 创建PV和PVC的例子 学习From https://blog.csdn.net/xts_huangxin/article/details/51494472

    1. 获取资料 网址: https://blog.csdn.net/xts_huangxin/article/details/51494472  感谢原作者 这里面 按照自己的机器情况进行了学习模仿 ...

  2. pv与pvc

    目的: 为了屏蔽底层存储实现的细节, 让用户方便使用同时让管理员方便管理, 引入了pv与pvc两种资源对象实现对存储的管理子系统 pv: 对底层网络共享存储的抽象, 将共享存储定义为一种资源 pvc: ...

  3. MySQL 如何使用 PV 和 PVC?- 每天5分钟玩转 Docker 容器技术(154)

    本节演示如何为 MySQL 数据库提供持久化存储,步骤为: 创建 PV 和 PVC. 部署 MySQL. 向 MySQL 添加数据. 模拟节点宕机故障,Kubernetes 将 MySQL 自动迁移到 ...

  4. PV、PVC、StorageClass讲解

    PV.PVC.StorageClass讲解 为了方便开发人员更加容易的使用存储才出现的概念.通常我们在一个POD中定义使用存储是这样的方式,我们以hostpath类型来说: apiVersion: v ...

  5. Kubernetes 系列(六):持久化存储 PV与PVC

    在使用容器之后,我们需要考虑的另外一个问题就是持久化存储,怎么保证容器内的数据存储到我们的服务器硬盘上.这样容器在重建后,依然可以使用之前的数据.但是显然存储资源和 CPU 资源以及内存资源有很大不同 ...

  6. MySQL 如何使用 PV 和 PVC?【转】

    本节演示如何为 MySQL 数据库提供持久化存储,步骤为: 创建 PV 和 PVC. 部署 MySQL. 向 MySQL 添加数据. 模拟节点宕机故障,Kubernetes 将 MySQL 自动迁移到 ...

  7. kubernetes 使用 PV 和 PVC 管理数据存储

    文章链接 容器磁盘上的文件的生命周期是短暂的,这就使得在容器中运行重要应用时会出现一些问题.首先,当容器崩溃时,kubelet 会重启它,但是容器中的文件将丢失--容器以干净的状态(镜像最初的状态)重 ...

  8. k8s之PV、PVC

    目录 一.PVC和PV 1.1 PV概念 1.2 PVC概念 1.3 PV与PVC之间的关系 1.4 两种PV的提供方式 二.基于nfs创建静态PV资源和PVC资源 2.1 配置nfs存储(192.1 ...

  9. 容器编排系统K8s之PV、PVC、SC资源

    前文我们聊到了k8s中给Pod添加存储卷相关话题,回顾请参考:https://www.cnblogs.com/qiuhom-1874/p/14180752.html:今天我们来聊一下持久存储卷相关话题 ...

  10. 4.k8s存储之Volume、PV、PVC和StatefulSet

    3.Volume 容器磁盘上的文件的生命周期是短暂的,这就使得在容器中运行重要应用时会出现一些问题.首先,当容器崩溃时,kubelet 会重启它,但是容器中的文件将丢失--容器以干净的状态(镜像最初的 ...

随机推荐

  1. C#人脸对比服务(基于虹软人脸识别SDKV4.1封装)

    软件截图   项目截图 部分代码 using System; using System.Collections.Generic; using System.Linq; using System.Tex ...

  2. 基于proteus的4019的移位设计

    基于proteus的4019的移位设计 1.实验原理 4019是一个基于CMOS的数字集成芯片,具有数据选择和逻辑门或两种工作状态.这里利用数据选择的切换,实现数据的左移和右移操作.简而言之就是左移使 ...

  3. KingbaseES自动生成列介绍

    在KingbaseES中create table语句支持GENERATED column(生成列). 生成列是一种特别的列类型,它的值基于其他列的值计算得出.因此,生成列之于列,有点像视图之于表的关系 ...

  4. kingbaseES V8R3集群运维案例之---集群部署前后ssh端口修改

    kingbaseES V8R3集群运维案例之---集群部署前后ssh端口修改 案例说明: kingbaseES V8R3集群部署读写分离的集群是使用ssh的默认端口(22)部署,当改为非默认端口时,在 ...

  5. https://codeforces.com/gym/496137

    AB略. C:想复杂了. 只要判断最大的那个能不能继续吃即可. D:我的做法是建完全图然后跑生成树. 实际上可以这么考虑:和a[1]不同的直接连,相同的就和上一轮和a[1]不同的店去连可以O(n). ...

  6. 【已解决】hive导出mysql报错:Container [pid=3962,containerID=container_1632883011739_0002_01_000002] is running 270113280B beyond the 'VIRTUAL' memory limit.

    问题描述 Container [pid=3962,containerID=container_1632883011739_0002_01_000002] is running 270113280B b ...

  7. #离线,倒序,线段树#Comet OJ - Contest #15 E 栈的数据结构题

    题目 初始时有 \(N\) 个空的栈,编号为 \(1 \sim N\),有以下三种类型的指令: push \(L\) \(R\) \(v\):把编号 \(L \sim R\) 这连续 \(R-L+1\ ...

  8. MySQL学习路线一条龙

    引言 在当前的IT行业,无论是校园招聘还是社会招聘,MySQL的重要性不言而喻. 面试过程中,MySQL相关的问题经常出现,这不仅因为它是最流行的关系型数据库之一,而且在日常的软件开发中,MySQL的 ...

  9. HarmonyOS应用侧与前端页面数据通道建立

    一.  应用侧调用前端页面函数 应用侧可以通过runJavaScript()方法调用前端页面的JavaScript相关函数.在下面的示例中,点击应用侧的"runJavaScript" ...

  10. 在 Visual Studio 2022 中创建一个类似于旧版本 Visual Studio 中的 Win32 Console Application 项目

    在 Visual Studio 2022 中创建一个项目,其自动生成的源文件内容包含 #include "stdafx.h" 和使用_tmain 作为入口点,意味着你需要创建一个基 ...