Kubernetes存储之Rook的ceph搭建

环境准备:

主机名 IP 角色
master01 192.168.200.182 k8s-master,rook release-0.9
node 192.168.200.183 k8s-node01
node 192.68.200.184 k8s-node02

ceph简介:

Ceph 是一个开源的分布式存储系统,包括对象存储、块设备、文件系统。它具有高可靠性、安装方便、管理简便、能够轻松管理海量数据。Ceph 存储集群具备了企业级存储的能力,它通过组织大量节点,节点之间靠相互通讯来复制数据、并动态地重分布数据,从而达到高可用分布式存储功能

rook简介:

Rook 是专用于 Cloud-Native 环境的文件、块、对象存储服务。它实现了一个自动管理的、自动扩容的、自动修复的分布式存储服务。Rook 支持自动部署、启动、配置、分配、扩容/缩容、升级、迁移、灾难恢复、监控以及资源管理。为了实现所有这些功能,Rook 需要依赖底层的容器编排平台,例如 kubernetes、CoreOS 等。Rook 目前支持 Ceph、NFS、Minio Object Store、Edegefs、Cassandra、CockroachDB 存储的搭建,后期会支持更多存储方案。

Rook的主要组件有两个,功能如下:
Rook Operator:
Rook与Kubernetes交互的组件
整个Rook集群只有一个

Rook Agent:
与Rook Operator交互,执行命令
每个Kubernetes的Node上都会启动一个
不同的存储系统,启动的Agent是不同的

获取rook源,切换为release1.1

[root@master01 ~]# git clone https://github.com/rook/rook.git
[root@master01 ~]# cd rook/
[root@master01 rook]# [root@master01 rook]# git checkout -b release-0.9 remotes/origin/release-0.9
分支 release-0.9 设置为跟踪来自 origin 的远程分支 release-0.9。
切换到一个新分支 'release-0.9'
[root@master01 rook]# git branch -a
  master
* release-0.9
  release-1.1
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
  remotes/origin/release-0.4
  remotes/origin/release-0.5
  remotes/origin/release-0.6
  remotes/origin/release-0.7
  remotes/origin/release-0.8
  remotes/origin/release-0.9

为什么要切换?这里是个深坑。

[root@master01 ~]# git clone https://github.com/rook/rook.git
[root@master01 ~]# cd rook//cluster/examples/kubernetes/ceph/
[root@master01 ceph]# kubectl create -f operator.yaml 
[root@master01 ceph]# kubectl create -f cluster.yaml 

如果正常的话,Rook 会创建好所有需要的资源,但是很遗憾,你会发现当 cluster.yaml 创建完毕后,不会创建 rook-ceph-mgr、rook-ceph-mon、rook-ceph-osd 等资源。参考https://github.com/rook/rook/issues/2338这里,我们可以通过查看 rook-ceph-operator Pod 的日志来分析下:

[root@master01 ~]# kubectl logs -n rook-ceph-system rook-ceph-operator-68576ff976-m9m6l
......
E0107 12:06:23.272607       6 reflector.go:205] github.com/rook/rook/vendor/github.com/rook/operator-kit/watcher.go:76: Failed to list *v1beta1.Cluster: the server could not find the requested resource (get clusters.ceph.rook.io)
E0107 12:06:24.274364       6 reflector.go:205] github.com/rook/rook/vendor/github.com/rook/operator-kit/watcher.go:76: Failed to list *v1beta1.Cluster: the server could not find the requested resource (get clusters.ceph.rook.io)
E0107 12:06:25.288800       6 reflector.go:
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值