k8s-kubernettes-sercet存储】的更多相关文章

背景 近来在研究k8s,学习到pv.pvc .storageclass的时候,自己捣腾的时候使用nfs手工提供pv的方式,看到官方文档大量文档都是使用storageclass来定义一个后端存储服务, 使用pvc来自动申请pv, 所以花了点时间研究了下glusterfs配合heketi如果为k8s动态提供存储. 环境 主机名 ip地址 角色 备注 master 192.168.16.10 k8s-master,glusterfs,heketi  heketi只需要一个节点部署就可以了. node0…
PV和PVC 前面已经学习了使用NFS提供存储,此时就会要求用户会搭建NFS系统,并且会在yaml配置nf's,由于k8s支持的存储系统有很多,要求客户全部掌握,显然不现实.为了能够屏蔽底层存储实现的细节,方便用户使用,k8s引入PV和PVC两种资源对象. PV(Persistent Volume)是持久化卷的意思,是对底层的共享存储的一种抽象.一般情况下PV由k8s管理员进行创建和配置,它与底层具体的共享存储技术有关,并通过插件完成与共享存储的对接. PVC(Persistent Volume…
前提条件:已经部署好ceph集群 本次实验由于环境有限,ceph集群是部署在k8s的master节点上的 一.创建ceph存储池 在ceph集群的mon节点上执行以下命令: ceph osd pool create k8s-volumes 64 64 查看下副本数 [root@master ceph]# ceph osd pool get k8s-volumes size size: pg的设置参照以下公式: Total PGs = ((Total_number_of_OSD * ) / max…
1.PV和PVC的引入 Volume 提供了非常好的数据持久化方案,不过在可管理性上还有不足. 拿前面 AWS EBS 的例子来说,要使用 Volume,Pod 必须事先知道如下信息: 当前 Volume 来自 AWS EBS. EBS Volume 已经提前创建,并且知道确切的 volume-id. Pod 通常是由应用的开发人员维护,而 Volume 则通常是由存储系统的管理员维护.开发人员要获得上面的信息: 要么询问管理员. 要么自己就是管理员. 这样就带来一个管理上的问题:应用开发人员和…
需求: 在k8s集群里的某个模块生成的目录文件或者更新的目录文件,存储到外面某台服务器上 1.安装nfs服务(192.168.1.2  Ubuntu 16.04) apt-get install nfs-kernel-server nfs-common 2.配置nfs挂载目录 vi /etc/exports /data *(rw,sync,no_root_squash) /data:共享目录 *:所有主机能访问 rw:读写权限 ro:只读 sync:同步 no_root_squash:不降低ro…
目录 ceph配置 k8s 配置 通过静态pv,pvc使用ceph 测试多pod挂载静态pv数据不一致问题 StoragaClass 方式 ceph 常用命令 k8s 常用命令 k8s各类端口及IP说明 端口说明 问题 PV访问模式 测试结果 参考 ceph配置 rbd create --size 100 rbd/nginx-image [root@localhost my-cluster]# rbd list nginx-image [root@localhost my-cluster]# r…
共享存储机制 k8s对有状态的容器应用或者需要对数据进行持久化的应用,在之前的篇章说过,可以将容器内的目录挂载到宿主机的容器目录或者emptyDir临时存储卷. 另外,k8s还开放了两个资源,分别是PersistentVolume(PV)和PersistentVolumeClaim(PVC), 这两个资源对象可允许k8s使用外部的存储设备. 比如在生产环境中有一个专门的文件服务器,那么就可以使用PV对文件服务器的资源进行定义,比如总共有多少容量等,然后用PVC对PV资源进行申请,申请多少容量,然…
ConfigMap configmap是一种比较特殊的存储卷,它的主要作用是用来存储配置信息的 创建configmap.yaml,内容如下 apiVersion: v1 kind: ConfigMap metadata: name: configmap namespace: dev data: info: username:admin password:123456 接下来,使用此配置文件创建configmap [root@master ~]# vim configmap.yaml [root@…
StorageClass的作用: 创建pv时,先要创建各种固定大小的PV,而这些PV都是手动创建的,当业务量上来时,需要创建很多的PV,过程非常麻烦. 而且开发人员在申请PVC资源时,还不一定有匹配条件的PV可用,这又带来了新的问题. 于是Kubernetes提供了StorageClass来动态创建PV,StorageClass大大简化了PV的创建过程. 当申请PVC资源时, 如果匹配到满足条件的StorageClass,还会自动为PVC创建对应大小的 PV并进行绑定. 下面就来仔细讲讲现在如何…
本例使用nfs 创建pv [root@k8s-master data]# vi pv.yaml apiVersion: v1kind: PersistentVolumemetadata: name: webspec: capacity: storage: 5Gi accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Recycle nfs: path: /data server: 10.10.1.10 字段说明: ========…