k8s之PV、PVC

技术k8s之PV、PVC k8s之PV、PVC目录一、PVC和PV1.1 PV概念1.2 PVC概念1.3 PV与PVC之间的关系1.4 两种PV的提供方式二、基于nfs创建静态PV资源和PVC资源2.

k8s的光伏和聚氯乙烯

一、目录、PVC和PV1.3 PV概念1.2 PVC概念1.3 PV和PVC的关系1.4提供PV的两种方式二。基于nfs创建静态PV资源和PVC资源2.1配置nfs存储(192.168.80.14)2.2 k8s主节点定义PV2.3定义PVC2.4测试多访问读写三基于动态存储创建PV和pvc3.1存储类的用处3.2存储类的yaml格式

一、PVC和PV

1.1 PV概念

1.PersistentVolume(PV)是网络存储的一部分,由集群中的管理员配置。集群中的资源就像节点是集群资源一样,可以从远程NFS或分布式对象存储系统(pv存储空间大小、访问模式)创建。

2.Pv是一个卷插件,如一个卷,但仅独立于使用Pv的任何单个pod的生命周期。

3.此API对象捕获存储的实施细节,即NFS、isCSI或云提供商特定的存储系统。

4.PV是从存储设备中的空间创建存储资源。

1.2 PVC概念

PersistentVolumeClaim (Pvc)是用户存储的请求。Pvc的使用逻辑:在podt中定义了一个存储卷(存储卷类型是pvc)。定义时,直接按指定尺寸。pvc必须与相应的pv建立关系。根据定义,pvc将适用于pv,而pv是由存储空间创建的。Pr和pvc是kubernetes提取的一种存储资源。

虽然PersistentVolumeClaims允许用户使用抽象的存储资源,但共同的需求是用户需要根据不同的需求为不同的场景创建V。此时,集群管理员有必要为Pv提供不同的需求,不仅是Pv的大小和访问方式,还有必要让用户知道这些卷的实现细节。

对于这样的需求,此时可以使用storageclass资源。

1.3 PV与PVC之间的关系

是光伏集群中的一种资源。Pvc是对这些资源的请求,也是对资源的索引检查。光伏和聚氯乙烯之间的相互作用遵循这个生命周期:供应-绑定-使用-释放-回收。

1.4 两种PV的提供方式

提供PV有两种方式,静态或动态。

静态直接固定存储空间:

集群管理员创建一些PVS。它们携带集群用户可用的真实存储的详细信息。它们存在于Ktbernetes API中,可用于消费。

动态-通过存储类动态创建存储空间:

当管理员创建的静态PVS与用户的PvC不匹配时,群集可能会尝试为Pvc动态配置卷。该配置基于StorageClasses: PvC。必须请求存储类,并且管理员必须已经创建并配置了该类,然后才能执行动态配置。要求声明此类以有效禁用其自身的动态配置。

二、基于nfs创建静态PV资源和PVC资源

2.1 配置nfs存储(192.168.80.14)

1.mkdir -p /data/v{1.5}

chmod 777-R/数据/*

2.vim/etc/出口

/data/v1 192.168.10.0/24(rw,no _ root _ puck,sync)

/data/v2 192.168.10.0/24(rw,no _ root _ puck,sync)

/data/v3 192.168.10.0/24(rw,no _ root _ puck,sync)

/data/v4 192.168.10.0/24(rw,no _ root _ puck,sync)

/data/v5 192.168.10.0/24(rw,no _ root _ puck,sync)

3.系统ctl启动rpcbind

systemctl启动nfs

4.showmount -e

5.主机名ctl集-主机名nfs01

苏联(USSR的缩写)

6.echo '11111' /data/v1/index.html

echo '22222' /data/v2/index.html

echo '33333' /data/v3/index.html

echo '44444' /data/v4/index.html

echo '55555' /data/v5/index.html

2.2 k8s的master节点定义PV

//在此定义5。

个Pv,并且定义挂载的路径以及访问模式,还有pv划分的大小
vim pv-demo.yaml
==========================================================
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv001
labels:
name: pv001
spec:
nfs:
path: /data/v1
server: nfs01
accessModes: ["ReadWriteMany","ReadWriteOnce"]
capacity:
storage: 1Gi
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv002
labels:
name: pv002
spec:
nfs:
path: /data/v2
server: nfs01
accessModes: ["ReadWriteOnce"]
capacity:
storage: 2Gi
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv003
labels:
name: pv003
spec:
nfs:
path: /data/v3
server: nfs01
accessModes: ["ReadWriteMany","ReadWriteOnce"]
capacity:
storage: 2Gi
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv004
labels:
name: pv004
spec:
nfs:
path: /data/v4
server: nfs01
accessModes: ["ReadWriteMany","ReadWriteOnce"]
capacity:
storage: 4Gi
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv005
labels:
name: pv005
spec:
nfs:
path: /data/v5
server: nfs01
accessModes: ["ReadWriteMany","ReadWriteOnce"]
capacity:
storage: 5Gi
==========================================================
kubectl apply -f pv-demo.yaml
kubectl get pv

2.3 定义PVC

//这里定义了pvc的访问模式为多路读写,该访问模式必须在前面pv定义的访问模式之中。定义Pvc申请的大小为2Gi,此时pvc会自动去匹配多路读写且大小为2Gi的Pv,匹配成功获取PVC的状态即为Bound
vim pvc-demo.yaml
==========================================================
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: mypvc
spec:
  accessModes: ["ReadWriteMany"]
  resources:
    requests:
      storage: 2Gi
---
apiVersion: v1
kind: Pod
metadata:
  name: pv-pvc
spec:
  containers:
  - name: myapp
    image: nginx
    volumeMounts:
    - name: html
      mountPath: /usr/share/nginx/html
  volumes:
  - name: html
    persistentVolumeClaim:
      claimName: mypvc
==========================================================
kubectl apply -f pvc-demo.yaml
kubectl get pv

2.4 测试多路读写

1. 我们通过相同的存储卷,只修改pod的名称
cp pvc-demo.yaml 1.yaml
cp pvc-demo.yaml 2.yaml
2. 修改pod的名称后,apply执行创建
kubectl apply -f 1.yaml
kubectl apply -f 2.yaml
3. 查看ip
kubectl get pod -o wide 
4. curl进行测试,查看是否共享存储卷,多路读写

三、基于动态storageclass创建pv与pvc

3.1 storageclass的用处

在pv和pvc使用过程中存在的问题,在pvc申请存储空间时,未必就有现成的pv符合pvc申请的需求,上面nfs在做pvc可以成功的因素是因为我们做了指定的需求处理。当PvC申请的存储空间不一定有满足PvC要求的Pv时,Kubernetes为管理员提供了描述存储"class(类)"的方法(StorageClass)。举个例子,在存储系统中划分一个1TB的存储空间提供给Kubernetes使用,当用户需要一个10G的PvC时,会立即通过restful发送请求,从而让存储空间创建一个10G的image,之后在我们的集群中定义成10c的Pv供给给当前的Pvc作为挂载使用。在此之前我们的存储系统必须支持restful接口,比如ceph分布式存储,而glusterfs则需要借助第三方接口完成这样的请求

3.2 storageclass的yaml格式

kubectl explain storageclass #storageclass也是k8s上的资源
KIND: Storageclass
VERSION: storage.k8s.io/vl
FIELDS:
  allowVolumeExpansion boolean
  allowedTopologies[]Objectapiversionstring
  kind string
  metadata object
  mountOptions []string挂载选项
  parameters map[string]string#参数,取决于分配器,可以接受不同的参数。例如,参数type的值 io1和参数iopsPerGB特定于EBS PV。当参数被省略时,会使用默认值。
  provisioner string-requred-#存储分配器,用来决定使用哪个卷插件分配 PV。该字段必须指定。
  reclaimPolicy string#回收策略,可以是 Delete或者 Retain。如果 StorageClass 对象被创建时没有指定 reclaimPolicy,它将默认为 Delete。
  volumeBindingModestring#卷的绑定模式
StorageClass 中包含 provisioner、parameters和 reclaimPolicy字段,当 class需要动态分配 PersistentVolume时会使用到。由于storageclass需要一个独立的存储系统,此处就不再演示。从其他资料查看定义storageclass的方式如下:
==========================================================
kind: storageClass
apiversion: storage.k8s.io/v1432
metadata :
  name : standard
provisioner: kubernetes.iol aws-ebs435 parameters:
  type: gp2
reclaimPolicy: Retain
mountoptions:
  - debug

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/81982.html

(0)

相关推荐

  • Linux虚拟机简介和系统要求是什么

    技术Linux虚拟机简介和系统要求是什么本篇文章给大家分享的是有关Linux虚拟机简介和系统要求是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1、 V

    攻略 2021年11月23日
  • 香港服务器租用有哪些好处

    技术香港服务器租用有哪些好处租用香港服务器有许多好处。它们有助于克服在其他海外服务器上网站时可能面临的所有缺点和限制。虽然,香港服务器租用服务比其他租用解决方案昂贵。但是,对于大陆地区的站长来说香港服务器的CN2线路能够

    礼包 2021年12月21日
  • m是什么,“S”和“M”是什么意思

    技术m是什么,“S”和“M”是什么意思S是施虐症:指中世纪法国一个侯爵叫做萨德m是什么,他在生活中喜欢对女性施加虐待,在他的作品中有大量性变态行为的描述,所以后来的学者把主动的虐待症,也就是喜欢虐待别人,命名为萨德现象(

    生活 2021年10月23日
  • 数据库迁移需要多长时间

    技术数据库迁移需要多长时间这篇文章将为大家详细讲解有关数据库迁移需要多长时间,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。什么是数据库迁移?数据库迁移是从一个数据库到另一个数据库的任何

    攻略 2021年10月26日
  • 洛谷 P5858 「SWTR-03」Golden Sword

    技术洛谷 P5858 「SWTR-03」Golden Sword 洛谷 P5858 「SWTR-03」Golden Sword题目链接:
    https://www.luogu.com.cn/problem

    礼包 2021年11月7日
  • 使用代理ip效率高(怎么样可以提高代理ip的速度)

    技术使用代理IP速度缓慢的原因有哪些小编给大家分享一下使用代理IP速度缓慢的原因有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!使用代理I

    攻略 2021年12月14日