ceph存放mysql备份_Kubernetes持久化Ceph存储

一、依然简介

Kubernetes使用Persistent Volume和Persistent Volume Claim两种API资源来管理存储。

PersistentVolume(简称PV):由管理员设置的存储,它是集群的一部分。就像节点(Node)是集群中的资源一样,PV也是集群中的资源。它包含存储类型,存储大小和访问模式。它的生命周期独立于Pod,例如当使用它的Pod销毁时对PV没有影响。

PersistentVolumeClaim(简称PVC): 是用户存储的请求。它和Pod类似。Pod消耗Node资源,PVC消耗PV资源。Pod可以请求特定级别的资源(CPU和MEM)。PVC可以请求特定大小和访问模式的PV。

可以通过两种方式配置PV:静态或动态。

静态PV:集群管理员创建许多PV,它们包含可供集群用户使用的实际存储的详细信息。

动态PV:当管理员创建的静态PV都不匹配用户创建的PersistentVolumeClaim时,集群会为PVC动态的配置卷。此配置基于StorageClasses:PVC必须请求存储类(storageclasses),并且管理员必须已创建并配置该类,以便进行动态创建。

二、关于PersistentVolume的访问方式

ReadWriteOnce- 卷以读写方式挂载到单个节点

ReadOnlyMany- 卷以只读方式挂载到多个节点

ReadWriteMany- 卷以读写方式挂载到多个节点

在CLI中,访问模式缩写为:RWO - ReadWriteOnce

ROX - ReadOnlyMany

RWX - ReadWriteMany

重要:卷只能一次使用一种访问模式安装,即使它支持很多。

三、关于回收策略Retain-  手动回收

Recycle-  基本擦洗(rm -rf /thevolume/*)

Delete -  关联的存储资产(如AWS EBS,GCE PD,Azure磁盘或OpenStack Cinder卷)将被删除。

目前,只有NFS和HostPath支持回收。AWS EBS,GCE PD,Azure磁盘和Cinder卷支持删除。

四、关于PersistentVolume(PV)状态Available(可用状态)-   一块空闲资源还没有被任何声明绑定

Bound(绑定状态)       -   声明分配到PVC进行绑定,PV进入绑定状态

Released(释放状态)    -   PVC被删除,PV进入释放状态,等待回收处理

Failed(失败状态)      -   PV执行自动清理回收策略失败

五、关于PersistentVolumeClaims(PVC)状态Pending(等待状态)-   等待绑定PV

Bound(绑定状态)-   PV已绑定PVC

六、在所有k8s节点上安装ceph-common

七、配置静态PV

1.在默认的RBD pool中创建一个1G的image(ceph集群)# ceph osd pool create rbd 128

pool 'rbd' created

# ceph osd lspools

# rbd create ceph-image -s 1G --image-feature layering       ##创建1G的镜像并指定layering特性

# rbd ls

ceph-image

# ceph osd pool application enable rbd ceph-image            ##进行关联

enabled application 'ceph-image' on pool 'rbd'

# rbd info ceph-image

rbd image 'ceph-image':

size 1 GiB in 256 objects

order 22 (4 MiB objects)

id: 13032ae8944a

block_name_prefix: rbd_data.13032ae8944a

format: 2

features: layering

op_features:

flags:

create_timestamp: Sun Jul 29 13:00:36 2018

2.配置ceph secret(ceph+kubernetes)# ceph auth get-key client.admin | base64        ##获取client.admin的keyring值,并用base64编码(ceph集群)

QVFDOUgxdGJIalc4SWhBQTlCOXRNUCs5RUV3N3hiTlE4NTdLVlE9PQ==

# vim ceph-secret.yaml

apiVersion: v1

kind: Secret

metadata:

name: ceph-secret

type: kubernetes.io/rbd

data:

key: QVFDOUgxdGJIalc4SWhBQTlCOXRNUCs5RUV3N3hiTlE4NTdLVlE9PQ==

# kubectl create -f ceph-secret.yaml

secret/ceph-secret created

# kubectl get secret ceph-secret

NAME             TYPE                       DATA   AGE

ceph-secret      kubernetes.io/rbd          1      3s

3.创建PV(kubernetes)# vim ceph-pv.yaml

apiVersion: v1

kind: PersistentVolume

metadata:

name: ceph-pv

spec:

capacity:

storage: 1Gi

accessModes:

- ReadWriteOnce

storageClassName: "rbd"

rbd:

monitors:

- 192.168.100.116:6789

- 192.168.100.117:6789

- 192.168.100.118:6789

pool: rbd

image: ceph-image

user: admin

secretRef:

name: ceph-secret

fsType: xfs

readOnly: false

persistentVolumeReclaimPolicy: Recycle

# kubectl create -f ceph-pv.yaml

persistentvolume/ceph-pv created

# kubectl get pv

NAME    CAPACITY   ACCESS MODES   RECLAIM POLICY

ceph-pv   1Gi         RWO            Recycle

STATUS   CLAIM     STORAGECLASS   REASON    AGE

Available             rbd                   1m

4.创建PVC(kubernet

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值