2019独角兽企业重金招聘Python工程师标准>>>

使用Docker快速部署Ceph集群 , 然后使用这个Ceph集群作为Kubernetes的动态分配持久化存储。

Kubernetes集群要使用Ceph集群需要在每个Kubernetes节点上安装ceph-common

    1. 为kubernetes创建一个存储池

1

2

# ceph osd pool create k8s 128

pool 'k8s' created

 2. 创建用户

1

# ceph auth add client.k8s mon 'allow rx' osd 'allow rwx pool=k8s'

k8s用户只能对k8s这个存储池有读写权限,注意一定要有执行权限才能执行ceph命令

通过ceph auth list 查看

1

2

3

4

client.k8s

    key: AQC3Hm5Zan9LDhAAXZHCdAF39bXcEwdpV6y/cA==

    caps: [mon] allow r

    caps: [osd] allow rw pool=k8s

在存储池k8s下创建一个镜像测试下k8s这个用户是否可以操作

1

2

3

4

# rbd create k8s/foo --size 1G --id k8s

# rbd map k8s/foo --id k8s

/dev/rbd0

k8s这个ceph用户可以对k8s这个存储池进行操作了

  3.为ceph添加一个kubernetes secret

1

2

# echo "$(ceph auth get-key client.k8s)"|base64

QVFDM0htNVphbjlMRGhBQVhaSENkQUYzOWJYY0V3ZHBWNnkvY0E9PQo=

ceph-secret.yaml

1

2

3

4

5

6

7

8

apiVersion: v1

kind: Secret

metadata:

  name: ceph-secret

  namespace: kube-system

type: "kubernetes.io/rbd"

data:

  key: "QVFDM0htNVphbjlMRGhBQVhaSENkQUYzOWJYY0V3ZHBWNnkvY0E9PQo="

type这一行一定要有

1

# kubectl create -f ceph-secret.yaml

1

2

# kubectl get secret -n=kube-system|grep ceph

ceph-secret                     kubernetes.io/rbd                     1         1m

   4.创建一个StorageClass

ceph-rbd-storageclass.yaml

1

2

3

4

5

6

7

8

9

10

11

12

13

apiVersion: storage.k8s.io/v1beta1

kind: StorageClass

metadata:

   name: fast

provisioner: kubernetes.io/rbd

parameters:

  monitors: 172.30.30.215:6789,172.30.30.217:6789,172.30.30.219:6789

  adminId: k8s

  adminSecretName: ceph-secret

  adminSecretNamespace: kube-system

  pool: k8s

  userId: k8s

  userSecretName: ceph-secret

Kubernetes 1.6 以上使用 storage.k8s.io/v1

1

# kubectl create -f ceph-rbd-storageclass.yaml

1

2

3

# kubectl get storageclass

NAME      TYPE

fast      kubernetes.io/rbd

5.测试

ceph-pvc.json

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

{

  "kind": "PersistentVolumeClaim",

  "apiVersion": "v1",

  "metadata": {

    "name": "claim1",

    "annotations": {

        "volume.beta.kubernetes.io/storage-class": "fast"

    }

  },

  "spec": {

    "accessModes": [

      "ReadWriteOnce"

    ],

    "resources": {

      "requests": {

        "storage": "3Gi"

      }

    }

  }

}

1

2

3

4

5

6

# kubectl create -f ceph-pvc.json

# kubectl get pvc

NAME      STATUS    VOLUME                                     CAPACITY   ACCESSMODES   AGE

claim1    Bound     pvc-28b66dcb-6c82-11e7-94da-02672b869d7f   3Gi        RWO           11m

现在就可以使用Ceph RBD作为Kubernetes的动态分配持久化存储了。

转载于:https://my.oschina.net/xiaominmin/blog/1632894

使用Ceph集群作为Kubernetes的动态分配持久化存储相关推荐

  1. Ceph集群搭建及其运用(块存储、ceph文件系统)

    一.ceph简介 ceph被称作面向未来的存储, 可以实现的存储方式: 块存储:提供像普通硬盘一样的存储,为使用者提供"硬盘" 文件系统存储:类似于NFS的共享方式,为使用者提供共 ...

  2. 【CEPH-初识篇】ceph详细介绍+“ 一 ” 篇解决ceph集群搭建, “ 三 ” 大(对象、块、文件)存储使用

    文章目录 前言 简介(理论篇) 逻辑结构 数据存储原理 三大存储 RADOSGW(对象网关) BRD(块存储) CEPHFS(文件存储) 所有组件结合起来 POOL.PG简介 组件结合 搭建ceph( ...

  3. ceph-deploy离线部署ceph集群及报错解决FAQ

    Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/cou ...

  4. K8s——kubernetes集群中ceph集群使用【下】

    kubernetes集群中ceph集群使用 一:CephFS 创建和使用 CephFS 允许用户挂载一个兼容posix的共享目录到多个主机,该存储和NFS共享存储以及CIFS共享目录相似 1.file ...

  5. K8s——kubernetes集群中ceph集群使用【上】

    kubernetes集群中ceph集群使用 块设备创建和使用 Ceph 能够为 pod 提供裸的块设备卷,定义在Ceph数据冗余级别的一个池中 1.storageclass 配置 storagecla ...

  6. k8s——kubernetes使用rook部署ceph集群

    kubernetes使用rook部署ceph集群 一:环境准备 1.安装时间服务器进行时间同步 所有的kubernetes的集群节点 [root@master ~]# yum -y install n ...

  7. ceph实战之ceph集群搭建

    Ceph基础 一.ceph起源 Ceph项目最早起源于Sage就读博士期间的工作(最早的成果于2004年发表),并随后贡献给开源社区.在经过了数年的发展之后,目前已得到众多云计算厂商的支持并被广泛应用 ...

  8. 17-kubernetes集群中ceph集群使用

    <文章感谢 xingdian > 文章目录 kubernetes集群中ceph集群使用 一:CephFS 创建和使用 1.filesystem 配置 2.查看资源配置 3.创建相对应的st ...

  9. 16-kubernetes集群中ceph集群使用

    <文章感谢 xingdian > 文章目录 kubernetes集群中ceph集群使用 一:块设备创建和使用 1.storageclass 配置 2.查看配置结果 3.kubernetes ...

最新文章

  1. c语言表达逻辑量的方法,c语言中用什么表示逻辑量为真
  2. IE中页面不居中,火狐谷歌等正常
  3. 解决Windows接收IPSEC(IKE)流量的问题
  4. JAVA报表工具中更为动态的SQL查询(FineReport)
  5. ImageList控件 图片容器控件 1130
  6. 中国餐馆过程(Chinese restaurant process)
  7. 如何规划农商行商业智能系统中的决策分析系统?
  8. Convert.ToInt32()与int.Parse()的区别
  9. 查看 Oracle 是用spfile 启动还是 pfile 启动
  10. Http Status Code (http 状态号)
  11. 教职工信息管理系统(C++)
  12. 修改博图组态原有GSD文件
  13. 怎么更改wifi频段_如何更改wifi的频段
  14. 【渝粤题库】陕西师范大学200611 英语修辞 作业
  15. vs code 插件change-case, 修改变量名 驼峰和常量等
  16. 产品通过WHQL认证后的好处
  17. C语言实现float类型到int类型的转化(位运算基础知识)
  18. 深入探究linux_深入探究GraphQL查询
  19. 工业物联网与物联网区别_企业可以从物联网中受益的7种方法
  20. S5PV210 led.bin Makefile 浅析

热门文章

  1. C++中局部类的使用
  2. 利用CxImage实现编解码Gif图像代码举例
  3. opencv使用cvFindContours提取联通域
  4. 大数据的两面性_大数据,多大的数据才是大数据?
  5. Nginx学习4:负载均衡实例
  6. List常用方法总结 遍历集合的方法
  7. 工厂模式 android,当Android遇见工厂模式
  8. python中集合的元素可以是任意数据类型_Python之基本数据类型——集合数据类型...
  9. [微信小程序]物流信息样式加动画效果(源代码附效果图)
  10. Swift学习总结【持续更新】