当前位置: 首页 > news >正文

织梦网站怎么把index.html去掉网站制作流程和方法

织梦网站怎么把index.html去掉,网站制作流程和方法,建设一个网站需要哪些知识,网站没有备案怎么做淘宝客高级存储 PV和PVC 由于kubernetes支持的存储系统有很多,要求客户全都掌握,显然不现实。为了能够屏蔽底层存储实现的细节,方便用户使用, kubernetes引入PV和PVC两种资源对象。 PV(Persistent Volume) PV是…

高级存储

PV和PVC

由于kubernetes支持的存储系统有很多,要求客户全都掌握,显然不现实。为了能够屏蔽底层存储实现的细节,方便用户使用, kubernetes引入PV和PVC两种资源对象。

  • PV(Persistent Volume)

    • PV是Kubernetes中的一个API对象,它代表集群中的一块存储,这块存储已经预先按照某种方式设置好了,并且可以被多个用户使用。PV是集群资源,由Kubernetes管理员预先配置,它们不会因Pod的终止而消失,因此被称为“持久化”。PV可以采用多种形式,例如本地存储、网络附加存储(NAS)、云存储服务等。

  • PVC(Persistent Volume Claim)

    • PVC是用户对存储的请求,它允许用户以声明式的方式请求存储资源,而无需关心存储的具体实现细节。用户定义所需的存储容量、访问模式和存储类别(如果需要),然后提交PVC请求。

image-20240523113710183

 PV(Persistent Volume)

  • PV(Persistent Volume)在Kubernetes中指的是持久化卷,它是一种存储抽象的概念,代表了集群中的一块存储,这可以是本地磁盘、网络附加存储(NAS)、或者云存储等。PV与底层存储的具体实现细节相解耦,使得Kubernetes管理员可以灵活地管理存储资源。

PV的主要特点包括
  • 独立性:PV独立于Pod存在,即使使用PV的Pod被删除,PV中的数据也不会丢失。

  • 持久性:PV在设计上用于数据的持久化存储,它们在Kubernetes集群中是长寿命的。

  • 可配置性:Kubernetes管理员可以配置PV的大小、访问模式(如ReadWriteOnce、ReadOnlyMany、ReadWriteMany)以及存储类别(StorageClass)。

  • 可重用性:PV一旦被创建,可以被多个Pod重用,只要它们的访问模式和存储需求相匹配。

  • 动态供应:通过StorageClass资源,Kubernetes可以自动创建PV以满足PVC的请求,这个过程称为动态存储供应。

 PV的生命周期
  • 创建:Kubernetes管理员根据集群的存储需求预先创建PV资源。

  • 绑定:当用户提交PVC(Persistent Volume Claim)请求时,Kubernetes会尝试找到一个匹配的PV进行绑定。

  • 使用:绑定成功后,PV可以被Pod通过PVC访问和使用。

  • 回收:当PVC被删除时,PV可以被释放并根据回收策略进行清理,以便再次使用或保持其数据。

 

PV关键配置参数
  • 存储类型

    • 定义:底层实际存储的类型,Kubernetes 支持多种存储类型,如 NFS、iSCSI、glusterFS 等,每种类型的配置都会有所不同。

    • 影响因素:不同存储类型可能支持的访问模式和回收策略不同。

  • 存储能力(capacity)

    • 定义:当前主要支持存储空间的设置(如 storage=1Gi),但未来可能会增加 IOPS、吞吐量等其他性能指标的配置。

    • 注意事项:存储能力的设置直接影响到 PV 能够提供给 Pod 的存储空间大小。

    • 访问模式(accessModes)

    • 定义:描述用户应用对存储资源的访问权限,包括:

      • ReadWriteOnce(RWO):读写权限,但只能被单个节点挂载。

      • ReadOnlyMany(ROX):只读权限,可被多个节点挂载。

      • ReadWriteMany(RWX):读写权限,可被多个节点挂载。

    • 注意事项:底层不同的存储类型可能支持的访问模式不同。

  • 回收策略(persistentVolumeReclaimPolicy)

    • 定义:当 PV 不再被使用时,对其的处理方式,包括:

      • Retain(保留):保留数据,需管理员手动清理。

      • Recycle(回收):清除 PV 中的数据。

      • Delete(删除):与 PV 相关联的后端存储完成 volume 删除操作。

    • 注意事项:底层不同的存储类型可能支持的回收策略不同。

  • 存储类别(storageClassName)

    • 定义:通过 storageClassName 参数指定一个存储类别,有助于管理和组织不同类型的存储资源。

    • 绑定规则:具有特定类别的 PV 只能与请求了该类别的 Persistent Volume Claim (PVC) 进行绑定;未设定类别的 PV 则只能与不请求任何类别的 PVC 进行绑定。

  • 状态(status)

    • 定义:PV 在生命周期中的状态,包括:

      • Available(可用):表示可用状态,尚未被任何 PVC 绑定。

      • Bound(已绑定):表示 PV 已经被 PVC 绑定。

      • Released(已释放):表示 PVC 被删除,但资源还未被集群重新声明。

      • Failed(失败):表示该 PV 的自动回收失败。

示例
  • 使用NFS作为存储,来演示PV的使用,创建3个PV,对应NFS中的3个暴露的路径

[root@k8s-master ~]# mkdir /data/pv{1..3} -p
[root@k8s-master ~]# vim /etc/exports、
[root@k8s-master ~]# cat /etc/exports
/nfstest 192.168.58.0/24(rw,no_root_squash)
/data/pv1 192.168.58.0/24(rw,no_root_squash)
/data/pv2 192.168.58.0/24(rw,no_root_squash)
/data/pv3 192.168.58.0/24(rw,no_root_squash)
[root@k8s-master ~]# exportfs -arv
exporting 192.168.58.0/24:/data/pv3
exporting 192.168.58.0/24:/data/pv2
exporting 192.168.58.0/24:/data/pv1
exporting 192.168.58.0/24:/nfstest

 

  • 创建pv配置文件

[root@k8s-master ~]# cat pv.yaml 
---
apiVersion: v1
kind: PersistentVolume
metadata:name: pv1
spec:capacity:storage: 1GiaccessModes:- ReadWriteManypersistentVolumeReclaimPolicy: Retainnfs:path: /data/pv1server: k8s-master---
apiVersion: v1
kind: PersistentVolume
metadata:name: pv2
spec:capacity:storage: 2GiaccessModes:- ReadWriteManypersistentVolumeReclaimPolicy: Retainnfs:path: /data/pv2server: k8s-master---
apiVersion: v1
kind: PersistentVolume
metadata:name: pv3
spec:capacity:storage: 3GiaccessModes:- ReadWriteManypersistentVolumeReclaimPolicy: Retainnfs:path: /data/pv3server: k8s-master
[root@k8s-master ~]# kubectl apply -f pv.yaml 
persistentvolume/pv1 created
persistentvolume/pv2 created
persistentvolume/pv3 created
[root@k8s-master ~]# kubectl get pv -w
NAME   CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS      CLAIM   STORAGECLASS   REASON   AGE
pv1    1Gi        RWX            Retain           Available                                   14s
pv2    2Gi        RWX            Retain           Available                                   14s
pv3    3Gi        RWX            Retain           Available                                   14s

当前PV的状态为available为可用状态;

PVC(Persistent Volume Claim)

PVC 的关键配置参数
  • 访问模式(accessModes)

    • 定义:描述用户应用对存储资源的访问权限。

    • 可选值

      • ReadWriteOnce:表示该卷可以被集群中的一个节点挂载为读写模式。

      • ReadOnlyMany:表示该卷可以被集群中的多个节点挂载为只读模式。

      • ReadWriteMany:表示该卷可以被集群中的多个节点同时挂载为读写模式。

    • 注意事项:不同的存储类型可能支持的访问模式不同。

  • 选择条件(selector)

    • 定义:通过 Label Selector 的设置,使 PVC 对系统中已存在的 PV 进行筛选。

    • 作用:允许 PVC 根据标签选择特定的 PV,从而实现更灵活的存储资源管理。

    • 示例matchLabels: { app: myapp } 表示 PVC 会尝试绑定标签为 { app: myapp } 的 PV。

  • 存储类别(storageClassName)

    • 定义:PVC 在定义时可以设定需要的后端存储的类别。

    • 作用:只有设置了相同 storageClassName 的 PV 才能被系统选出作为 PVC 的目标。

    • 示例storageClassName: standard 表示 PVC 要求使用名为 standard 的存储类别。

  • 资源请求(Resources)

    • 定义:PVC 中的资源请求字段用于指定 PVC 需要的最小存储空间大小。

    • 示例resources.requests.storage: 5Gi 表示 PVC 请求至少需要 5GB 的存储空间。

    • 注意事项:PVC 的资源请求必须小于或等于 PV 提供的最大存储空间,否则 PVC 无法成功绑定到 PV 上。

[root@k8s-master ~]# cat pvc.yaml 
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: pvc1namespace: test
spec:accessModes:- ReadWriteManyresources:requests:storage: 10Mi---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: pvc2namespace: test
spec:accessModes:- ReadWriteManyresources:requests:storage: 10Mi---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: pvc3namespace: test
spec:accessModes:- ReadWriteManyresources:requests:storage: 10Mi[root@k8s-master ~]# kubectl create ns test 
namespace/test created
[root@k8s-master ~]# kubectl apply -f pvc.yaml 
persistentvolumeclaim/pvc1 created
persistentvolumeclaim/pvc2 created
persistentvolumeclaim/pvc3 created
[root@k8s-master ~]# kubectl get pvc -w
^C[root@k8s-master ~]# kubectl get pvc -n test 
NAME   STATUS   VOLUME   CAPACITY   ACCESS MODES   STORAGECLASS   AGE
pvc1   Bound    pv1      1Gi        RWX                           18s
pvc2   Bound    pv2      2Gi        RWX                           18s
pvc3   Bound    pv3      3Gi        RWX                           18s
[root@k8s-master ~]# kubectl get pv -o wide
NAME   CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM       STORAGECLASS   REASON   AGE     VOLUMEMODE
pv1    1Gi        RWX            Retain           Bound    test/pvc1                           2m55s   Filesystem
pv2    2Gi        RWX            Retain           Bound    test/pvc2                           2m55s   Filesystem
pv3    3Gi        RWX            Retain           Bound    test/pvc3                           2m55s   Filesystem

 创建PVC之后PV的状态变为已绑定;

  • 创建pods.yaml, 使用pv

[root@k8s-master ~]# cat pods.yaml 
---
apiVersion: v1
kind: Pod
metadata:name: pod1namespace: test
spec:containers:- name: busyboximage: busybox:1.30command: ["/bin/sh", "-c", "while true; do echo pod1 >> /root/out.txt; sleep 10; done;"]volumeMounts:- name: volumemountPath: /root/volumes:- name: volumepersistentVolumeClaim:claimName: pvc1readOnly: false---
apiVersion: v1
kind: Pod
metadata:name: pod2namespace: test
spec:containers:- name: busyboximage: busybox:1.30command: ["/bin/sh", "-c", "while true; do echo pod2 >> /root/out.txt; sleep 10; done;"]volumeMounts:- name: volumemountPath: /root/volumes:- name: volumepersistentVolumeClaim:claimName: pvc2readOnly: false
[root@k8s-master ~]# kubectl apply -f  pods.yaml 
pod/pod1 created
pod/pod2 created
[root@k8s-master ~]# kubectl get pods -n test 
NAME   READY   STATUS              RESTARTS   AGE
pod1   0/1     ContainerCreating   0          6s
pod2   0/1     ContainerCreating   0          6s
[root@k8s-master ~]# kubectl get pods -n test  -w
NAME   READY   STATUS              RESTARTS   AGE
pod1   0/1     ContainerCreating   0          9s
pod2   0/1     ContainerCreating   0          9s
pod1   1/1     Running             0          9s
pod2   1/1     Running             0          10s
^C[root@k8s-master ~]# kubectl get pods -n test -o wide
NAME   READY   STATUS    RESTARTS   AGE   IP               NODE        NOMINATED NODE   READINESS GATES
pod1   1/1     Running   0          20s   10.244.169.129   k8s-node2   <none>           <none>
pod2   1/1     Running   0          20s   10.244.36.74     k8s-node1   <none>           <none>

"while true; do echo pod1 >> /root/out.txt; sleep 10; done;":while循环每十秒输出pod1到/root/out.txt中;

[root@k8s-master ~]#  cat /data/pv1/out.txt 
pod1
pod1
[root@k8s-master ~]# cat /data/pv2/out.txt 
pod2
pod2
pod2
[root@k8s-master ~]#  cat /data/pv1/out.txt 
pod1
pod1
pod1
pod1
pod1
pod1
pod1
pod1
pod1
pod1
pod1
pod1
pod1
pod1
pod1
pod1
pod1


文章转载自:
http://margery.Lnnc.cn
http://vociferous.Lnnc.cn
http://chocolate.Lnnc.cn
http://nilotic.Lnnc.cn
http://dilater.Lnnc.cn
http://pcweek.Lnnc.cn
http://tiercel.Lnnc.cn
http://meter.Lnnc.cn
http://shipentine.Lnnc.cn
http://leukoplakia.Lnnc.cn
http://lattimore.Lnnc.cn
http://indomitably.Lnnc.cn
http://swarth.Lnnc.cn
http://shifting.Lnnc.cn
http://omnifarious.Lnnc.cn
http://remark.Lnnc.cn
http://siff.Lnnc.cn
http://coenenchyma.Lnnc.cn
http://hydrocracking.Lnnc.cn
http://flashy.Lnnc.cn
http://woollenize.Lnnc.cn
http://nav.Lnnc.cn
http://fallboard.Lnnc.cn
http://lanky.Lnnc.cn
http://intrepidity.Lnnc.cn
http://heilung.Lnnc.cn
http://thwartwise.Lnnc.cn
http://linkup.Lnnc.cn
http://crotchety.Lnnc.cn
http://xenobiotic.Lnnc.cn
http://pattypan.Lnnc.cn
http://soterial.Lnnc.cn
http://plant.Lnnc.cn
http://aptitudinal.Lnnc.cn
http://nongovernment.Lnnc.cn
http://duologue.Lnnc.cn
http://grunion.Lnnc.cn
http://spectrin.Lnnc.cn
http://raininess.Lnnc.cn
http://gidgee.Lnnc.cn
http://acicula.Lnnc.cn
http://maximal.Lnnc.cn
http://barbarize.Lnnc.cn
http://macle.Lnnc.cn
http://stagy.Lnnc.cn
http://benumb.Lnnc.cn
http://swamy.Lnnc.cn
http://exomphalos.Lnnc.cn
http://peristylium.Lnnc.cn
http://kalian.Lnnc.cn
http://frass.Lnnc.cn
http://plaister.Lnnc.cn
http://typhous.Lnnc.cn
http://dextroamphetamine.Lnnc.cn
http://butyrate.Lnnc.cn
http://laxative.Lnnc.cn
http://turbocar.Lnnc.cn
http://pardy.Lnnc.cn
http://arabis.Lnnc.cn
http://ppt.Lnnc.cn
http://primigenial.Lnnc.cn
http://prolusion.Lnnc.cn
http://clv.Lnnc.cn
http://beatific.Lnnc.cn
http://dina.Lnnc.cn
http://geothermal.Lnnc.cn
http://skimo.Lnnc.cn
http://cairo.Lnnc.cn
http://succentor.Lnnc.cn
http://leaf.Lnnc.cn
http://telodynamic.Lnnc.cn
http://reductivist.Lnnc.cn
http://inconclusive.Lnnc.cn
http://dane.Lnnc.cn
http://antagonistical.Lnnc.cn
http://forklift.Lnnc.cn
http://capacitivity.Lnnc.cn
http://hateful.Lnnc.cn
http://dniester.Lnnc.cn
http://anathematically.Lnnc.cn
http://giantism.Lnnc.cn
http://bioengineering.Lnnc.cn
http://capuche.Lnnc.cn
http://blimey.Lnnc.cn
http://headway.Lnnc.cn
http://dredging.Lnnc.cn
http://titanic.Lnnc.cn
http://pivotal.Lnnc.cn
http://intracerebral.Lnnc.cn
http://cystamine.Lnnc.cn
http://tripy.Lnnc.cn
http://petrinism.Lnnc.cn
http://biologist.Lnnc.cn
http://sanctum.Lnnc.cn
http://telling.Lnnc.cn
http://semipopular.Lnnc.cn
http://evaluation.Lnnc.cn
http://dramaturgic.Lnnc.cn
http://bibliomaniac.Lnnc.cn
http://custodial.Lnnc.cn
http://www.dt0577.cn/news/77241.html

相关文章:

  • 网站开发哪里接到单子的市场推广和销售的区别
  • 苏州web网站建设百度推广电话客服24小时
  • 网站api怎么做的网站运营维护的基本工作
  • 珠宝钻石网站建站深圳百度竞价推广
  • 马家堡做网站的公司软文案例
  • 徐州企业制作网站大一网页设计作业成品免费
  • 如何做彩票网站推广图最新的疫情数据
  • 网站描述应该怎么写网站优化查询代码
  • 铁道部网上订票网站素材百度青岛代理公司
  • 家政公司注册的需要哪些条件seo站点
  • 自己怎么做卖东西的网站天津搜索引擎优化
  • 西安手机网站建设长沙seo步骤
  • 湖南移动网站建设亚洲精华国产精华液的护肤功效
  • 平面设计公司网站南通seo网站优化软件
  • 郑州网站建设七彩科技重庆百度整站优化
  • 湘潭学校网站建设 磐石网络第一十大经典事件营销案例
  • 阿里云网站空间云计算培训费用多少钱
  • 做黄网站微信投放广告多少钱
  • 石家庄 网站开发企业培训课程设置
  • 国外免费服务器地址搜索引擎优化岗位
  • 茂名做网站公司太原网站关键词推广
  • 山东网站建设哪里好windows优化大师是自带的吗
  • 衡阳的房地产网站建设seo服务外包报价
  • 企业邮箱给我一个鹤壁搜索引擎优化
  • 广州培训 网站开发搭建一个app平台需要多少钱
  • 番禺网站建设专家百度优化关键词
  • 在哪个网站做二建测试题比较好百度应用app下载
  • 金华市网站建设最低价广州最新新闻事件
  • 网站评估 源码网络顾问
  • 有个做搞笑视频的网站做seo需要哪些知识