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

做电影网站赚钱河南网站推广公司

做电影网站赚钱,河南网站推广公司,大连网站建设仟亿科技,重庆市建设工程管理协会网站Kubernetes高级存储 PV PVC k8s支持的存储系统很多,全部掌握不现实。为了屏蔽底层存储实现的细节,方便用户使用,k8s引入PV和PVC两种资源对象。 PV(Persistent Volume)持久化卷,对底层共享存储的抽象,一般由k8s管理员进…

Kubernetes高级存储

PV PVC

k8s支持的存储系统很多,全部掌握不现实。为了屏蔽底层存储实现的细节,方便用户使用,k8s引入PV和PVC两种资源对象。

PV(Persistent Volume)持久化卷,对底层共享存储的抽象,一般由k8s管理员进行创建配置,通过插件完成共享存储的对接。

PVC(Persistent Volume Claim)持久化声明,是用户对于存储需求的一种声明。PVC就是用户向k8s系统发出的一种资源需求申请。
在这里插入图片描述

PV

官方文档:

Kubernetes 文档
概念
存储
持久卷

资源清单:

apiVersion: v1  
kind: PersistentVolume
metadata:name: pv2
spec:nfs: # 存储类型,与底层真正存储对应capacity:  # 存储能力,目前只支持存储空间的设置storage: 2GiaccessModes:  # 访问模式storageClassName: # 存储类别persistentVolumeReclaimPolicy: # 回收策略

参数说明:

  • 存储类型

    底层实际存储的类型,kubernetes支持多种存储类型,每种存储类型的配置都有所差异

  • 存储能力

    目前只支持存储空间的设置( storage=1Gi )

  • 访问模式

    ReadWriteOnce(RWO):读写权限,但是只能被单个节点挂载ReadOnlyMany(ROX): 只读权限,可以被多个节点挂载ReadWriteMany(RWX):读写权限,可以被多个节点挂载

  • 回收策略

    Retain (保留) 保留数据,需要管理员手工清理数据Recycle(回收) 清除 PV 中的数据,效果相当于执行 rm -rf /thevolume/* Delete (删除) 与 PV 相连的后端存储完成 volume 的删除操作

实验:

使用NFS作为存储,创建3个PV,对应三个暴露路径

  1. 准备环境

    #创建目录
    [root@master ~]# mkdir /root/data/{pv1,pv2,pv3} -pv
    mkdir: created directory ‘/root/data/pv1’
    mkdir: created directory ‘/root/data/pv2’
    mkdir: created directory ‘/root/data/pv3’
    # 暴露服务 IP网段是你集群节点所在的网段
    [root@master ~]# vim /etc/exports
    [root@master ~]# more /etc/exports
    /root/data/pv1     192.168.126.0/24(rw,no_root_squash)
    /root/data/pv2     192.168.126.0/24(rw,no_root_squash)
    /root/data/pv3     192.168.126.0/24(rw,no_root_squash)
    #重启服务
    [root@master ~]# systemctl restart nfs
  2. 创建pv.yaml

    apiVersion: v1
    kind: PersistentVolume
    metadata:name:  pv1
    spec:capacity: storage: 1GiaccessModes:- ReadWriteManypersistentVolumeReclaimPolicy: Retainnfs:path: /root/data/pv1server: 192.168.126.132---apiVersion: v1
    kind: PersistentVolume
    metadata:name:  pv2
    spec:capacity: storage: 2GiaccessModes:- ReadWriteManypersistentVolumeReclaimPolicy: Retainnfs:path: /root/data/pv2server: 192.168.126.132---apiVersion: v1
    kind: PersistentVolume
    metadata:name:  pv3
    spec:capacity: storage: 3GiaccessModes:- ReadWriteManypersistentVolumeReclaimPolicy: Retainnfs:path: /root/data/pv3server: 192.168.126.132
    
  3. 操作

    [root@master ~]# vim pv.yaml
    #创建pv
    [root@master ~]# kubectl create -f pv.yaml
    persistentvolume/pv1 created
    persistentvolume/pv2 created
    persistentvolume/pv3 created
    #查看pv
    [root@master ~]# kubectl get pv -o wide
    NAME   CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS      CLAIM   STORAGECLASS   REASON   AGE   VOLUMEMODE
    pv1    1Gi        RWX            Retain           Available                                   44s   Filesystem
    pv2    2Gi        RWX            Retain           Available                                   44s   Filesystem
    pv3    3Gi        RWX            Retain           Available                                   44s   Filesystem

PVC

PVC是资源申请,用来声明对存储空间,访问模式,存储类别需求信息

资源清单:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: pvcnamespace: dev
spec:accessModes: # 访问模式selector: # 采用标签对PV选择storageClassName: # 存储类别resources: # 请求空间requests:storage: 5Gi

参数说明:

  • 访问模式:描述用户应用对存储资源的访问权限
  • 选择条件:通过Label Selector使PVC对于系统中已存在的PV进行筛选
  • 存储类别:PVC定义时可设定需要的后端存储类别
  • 资源请求:描述对存储资源的请求

实验:

  1. 创建pvc.yaml,申请pv

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:name: pvc1namespace: dev
    spec:accessModes: - ReadWriteManyresources:requests:storage: 1Gi---apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:name: pvc2namespace: dev
    spec:accessModes: - ReadWriteManyresources:requests:storage: 1Gi---apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:name: pvc3namespace: dev
    spec:accessModes: - ReadWriteManyresources:requests:storage: 1Gi
    
    #创建pvc
    [root@master ~]# kubectl create -f pvc.yaml
    persistentvolumeclaim/pvc1 created
    persistentvolumeclaim/pvc2 created
    persistentvolumeclaim/pvc3 created
    #查看pvc
    [root@master ~]# kubectl get pvc  -n dev -o wide
    NAME   STATUS   VOLUME   CAPACITY   ACCESS MODES   STORAGECLASS   AGE   VOLUMEMODE
    pvc1   Bound    pv1      1Gi        RWX                           14s   Filesystem
    pvc2   Bound    pv2      2Gi        RWX                           14s   Filesystem
    pvc3   Bound    pv3      3Gi        RWX                           14s   Filesystem
    #查看pv
    [root@master ~]# kubectl get pv -o wide
    NAME   CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM      STORAGECLASS   REASON   AGE   VOLUMEMODE
    pv1    1Gi        RWX            Retain           Bound    dev/pvc1                           22m   Filesystem
    pv2    2Gi        RWX            Retain           Bound    dev/pvc2                           22m   Filesystem
    pv3    3Gi        RWX            Retain           Bound    dev/pvc3                           22m   Filesystem
  2. 创建pods.yaml,实验pv

    apiVersion: v1
    kind: Pod
    metadata:name: pod1namespace: dev
    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: dev
    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        
    
    #创建Pod
    [root@master ~]# kubectl create -f pods.yaml
    pod/pod1 created
    pod/pod2 created
    #查看Pod
    [root@master ~]# kubectl get pods -n dev -o wide
    NAME   READY   STATUS    RESTARTS   AGE    IP            NODE    NOMINATED NODE   READINESS GATES
    pod1   1/1     Running   0          103s   10.244.1.5    node1   <none>           <none>
    pod2   1/1     Running   0          103s   10.244.2.11   node2   <none>           <none>
    #查看PVC
    [root@master ~]#  kubectl get pvc -n dev -o wide
    NAME   STATUS   VOLUME   CAPACITY   ACCESS MODES   STORAGECLASS   AGE   VOLUMEMODE
    pvc1   Bound    pv1      1Gi        RWX                           10m   Filesystem
    pvc2   Bound    pv2      2Gi        RWX                           10m   Filesystem
    pvc3   Bound    pv3      3Gi        RWX                           10m   Filesystem
    #查看数据卷输出信息
    [root@master ~]#  more /root/data/pv1/out.txt
    pod1
    pod1
    pod1
    pod1
    pod1
    [root@master ~]#  more /root/data/pv2/out.txt
    pod2
    pod2
    pod2
    pod2
    pod2#数据已经同步
    

生命周期

PV和PVC一一对应,类似于键值对,遵循以下生命周期:

  • 资源供应:手动创建底层存储和PV
  • 资源绑定:PV创建后,k8s负责根据PVC声明去寻找PV,并绑定(如果找不到,PVC会一直处于Pending状态,直到管理员创建了符合要求的PV),PV一旦绑定PVC,就会被这个PVC独占,不能再与其他PVC进行绑定
  • 资源使用:可在Pod里像Volume使用数据卷
  • 资源释放:用户删除PVC来释放PV

在这里插入图片描述

http://www.hkea.cn/news/285852/

相关文章:

  • 企业怎样选择域名做网站电脑突然多了windows优化大师
  • 网站一元空间有哪些呀品牌策划方案范文
  • 最便宜的网站建设企点
  • 网站代码加密深圳新闻今日最新
  • 不要钱做网站软件网站seo优化效果
  • 公司做网站提供产品加盟费互联网销售怎么做
  • 视频网站开发架构百度app最新版本
  • 网站上内容列表怎么做的网站模板中心
  • 上海利恩建设集团有限公司网站国内好用的搜索引擎
  • 网站模板论坛今日重大军事新闻
  • 昆山自适应网站建设电商平台的营销方式
  • 盘龙区网站建设外包高级搜索引擎技巧
  • 什么做的网站吗58百度搜索引擎
  • wordpress 企业站开发口碑营销的概念
  • 广州免费核酸检测点东莞seo项目优化方法
  • 学风建设网站版块设计个人网站
  • 网站底部连接怎么做福州seo推广
  • 生猪价格今日猪价行情关键词优化是什么工作
  • 网站建设公司下载搜索引擎查询
  • 韩国吃秀在哪个网站做直播企业宣传
  • 江西网站建设成都百度
  • 糯米团网站怎么做微信软文范例100字
  • 如何在社交网站上做视频推广seo营销的概念
  • 大连做网站仟亿科技最新域名查询
  • 网站开发实施计划与安排宁波网络推广方式
  • 企业网站建设公司注意哪些问题软件开发外包公司
  • abc网站建设怎么样yandex引擎搜索入口
  • wordpress屏蔽f12广州seo网络优化公司
  • 南宁网站建设推广服务云服务器免费
  • 大数据营销是什么seo站长