一、安装 1.1、创建operator # 安装 git clone --single-branch --branch v1.8.7 https://github.com/rook/rook.git cd...rollout restart deployment rook-ceph-operator 3.2、移除osd # 移除osd # 需先确认移除osd后集群又足够的空间进行数据存储,否则先增加osd...# 确认剩余osd和pg正常 # 不要一次移除过多osd # operator副本数设置为0,防止自动重建 kubectl -n rook-ceph scale deployment rook-ceph-operator...--replicas=0 # 删除集群中对应osd kubectl edit cephclusters.ceph.rook.io -n rook-ceph rook-ceph # 从ceph集群清除...osd # 编辑移除yaml 修改OSD-IDs vim osd-purge.yaml # 执行删除job kubectl create -f osd-purge.yaml # 执行完成后删除该
Ceph 可以将一个卷的数据分布在多个磁盘上,因此可以让一个卷实际使用比单个磁盘更多的磁盘空间,这很方便。当向集群添加更多磁盘时,它会自动在磁盘之间重新平衡/重新分配数据。...Rook使用Kubernetes原语使Ceph存储系统能够在Kubernetes上运行 3 安装部署 3.1 安装前准备 #确认安装lvm2 yum install lvm2 -y #启用rbd模块...1/1 Running 0 40m 3.5 创建ceph集群 kubectl create -f cluster.yaml 创建完成后,可以查看pod的状态: [root...40m 其中osd-0、osd-1、osd-2容器必须是存在且正常的,如果上述pod均正常运行成功,则视为集群安装成功。...3.6 安装ceph 客户端工具 这个文件的路径还是在ceph文件夹下 kubectl create -f toolbox.yaml -n rook-ceph 待容器Running后,即可执行相关命令
2、环境、软件准备 本次演示环境,我是在虚拟机上安装 Linux 系统来执行操作,通过虚拟机完成 Kubernetes HA 集群的搭建,以下是安装的软件及版本: Oracle VirtualBox:...3、Kubernetes HA 集群搭建 Kubernetes HA 集群搭建,主要包含 Etcd HA 和 Master HA。...Master HA 这个稍微麻烦一些,多主的意思就是多个 Kubernetes Master 节点组成,任意一个 Master 挂掉后,自动切换到另一个备用 Master,而且整个集群 Cluster-IP...它提供了单节点、单主多节点、多主多节点、在公有云上部署等方案,通过它很容易就能完成各种类型版本 k8s 集群的搭建。...B 0 67 GiB 0 可以看到在 toolbox 内部可以执行 CLI 相关命令,此时我们在 Dashboard 上就可以看到创建的 pool 了
在 Kubernetes 中,PVC 是管理有状态应用的一个推荐方案。有了 PVC 的帮助,Pod 可以申请并连接到存储卷,这些存储卷在 Pod 生命周期结束之后,还能独立存在。...Rook 简化了 Ceph 在 Kubernetes 集群中的部署过程。...在 Kubernetes 上部署 Rook 下面我们会在 Kubernetes 上分步骤部署 Rook,并在同一集群中作为客户端来使用其存储服务。...在 rook 源码中找到 cluster/examples/kubernetes/ceph/cluster.yaml,进行查看和修改。集群 CRD 中定义了存储集群的内容。...修改副本数量 如果副本数量设置有误,可以在运行中的副本池中修改设置,在工具箱 Pod 中执行: ceph osd pool set replicapool size 3 ceph osd pool set
在每个存储节点上,将找到Ceph存储对象的文件系统和Ceph OSD(对象存储守护程序)进程。在Ceph集群上,还存在Ceph MON(监控)守护程序,它们确保Ceph集群保持高可用性。...》,如上工具中也支持使用独立的ceph命令ceph osd pool create ceph-test 512创建相关pool,实际Kubernetes rook中,不建议直接操作底层Ceph,以防止上层...七 集群管理 7.1 修改配置 默认创建Ceph集群的配置参数在创建Cluster的时候生成Ceph集群的配置参数,若需要在部署完成后修改相应参数,可通过如下操作试下: [root@k8smaster01...最后是one-by-one的,等待ceph集群状态为HEALTH_OK后再delete另一个。...7.2 创建Pool 对rook Ceph集群的pool创建,建议采用Kubernetes的方式,而不建议使用toolbox中的ceph命令。 使用如下官方提供的默认yaml可部署Pool。
为了使集群在重启后不受影响,请确保设置的 dataDirHostPath 属性值为有效得主机路径。...rook-ceph-osd-prepare-ydzs-node1-qgmsc 0/1Completed05m2s rook-ceph-osd-prepare-ydzs-node2-h667n...Pod 的数量将取决于集群中的节点数量以及配置的设备和目录的数量。..."-o jsonpath='{.items[0].metadata.name}') bash 工具箱中的所有可用工具命令均已准备就绪,可满足您的故障排除需求。...Ceph Dashboard Ceph 有一个 Dashboard 工具,我们可以在上面查看集群的状态,包括总体运行状态,mgr、osd 和其他 Ceph 进程的状态,查看池和 PG 状态,以及显示守护进程的日志等等
文章目录 安装 使用 创建pool 创建pvc 总结 kubernetes集群三步安装 安装 git clone https://github.com/rook/rook cd cluster/examples...63m rook-ceph-osd-2-6cf58ddb6f-wkwp6 1/1 Running 0 63m rook-ceph-osd-3-6f8b78c647-...AGE wordpress NodePort 10.109.30.99 80:30130/TCP 148m 总结 分布式存储在容器集群中充当非常重要的角色...,使用容器集群一个非常重要的理念就是把集群当成一个整体使用,如果你在使用中还关心单个主机,比如调度到某个节点, 挂载某个节点目录等,必然会导致不能把云的威力百分之百发挥出来。...一旦计算存储分离后,就可真正实现随意漂移,对集群维护来说是个极大的福音。
下图说明了 Ceph Rook 如何与 Kubernetes 集成: 随着 Rook 在 Kubernetes 集群中运行,Kubernetes 应用程序可以挂载由 Rook 管理的块设备和文件系统,...同时,可以在需要时使用 Ceph 工具应用高级配置。 Rook 在 golang 中实现。Ceph 在 C ++ 中实现,其中数据路径被高度优化。我们相信这种组合可以提供两全其美的效果。...: 192.168.92.56 k8s-master 192.168.92.57 k8s-node1 192.168.92.58 k8s-node2 在集群中至少有三个节点可用,满足 ceph 高可用要求...Ceph 集群 Ceph 集群部署成功后,可以查看到的 pods 如下,其中 osd 数量取决于你的节点数量: [centos@k8s-master ~]$ kubectl get pod -n rook-ceph...Ceph 集群,可执行下面命令: # kubectl delete -f cluster.yaml 删除 Ceph 集群后,在之前部署 Ceph 组件节点的 / var/lib/rook / 目录,会遗留下
这次,来一篇实战,使用rook在k8s上把ceph集群搞起来。后续,还会陆续分享如何对接k8s(作为k8s的后端存储)、以及分享一些在生产上的实践经验。...在 Kubernetes 中,PVC 用于向存储系统请求指定大小的存储空间。如果请求的 PVC 大小无法得到强制执行,则无法保证所请求的存储空间大小。...exists:表示该 OSD 配置存在,但尚未启动或加入集群。 “ 在我这里,exists,up 表示该 OSD 配置存在,并且已经成功启动并参与了数据存储和恢复。...exists 状态表示 OSD 配置已经存在,但是 OSD 还没有启动。只有当 OSD 运行后,状态才会变为 up。...” 暴露Dashboard Dashboard可以让我们查看Ceph集群的状态,包括整体的运行状况、mon仲裁状态、mgr、osd 和其他Ceph守护程序的状态、查看池和PG状态、显示守护程序的日志等。
为了使集群在重启后不受影响,请确保设置的 dataDirHostPath 属性值为有效得主机路径。...-qgmsc 0/1Completed05m2srook-ceph-osd-prepare-ydzs-node2-h667n 0/1Completed04m59srook-discover-bd8qh...Pod 的数量将取决于集群中的节点数量以及配置的设备和目录的数量。..."-o jsonpath='{.items[0].metadata.name}') bash 工具箱中的所有可用工具命令均已准备就绪,可满足您的故障排除需求。...Ceph Dashboard Ceph 有一个 Dashboard 工具,我们可以在上面查看集群的状态,包括总体运行状态,mgr、osd 和其他 Ceph 进程的状态,查看池和 PG 状态,以及显示守护进程的日志等等
这从一个侧面反应了分布式存储的技术难度和兼容性是一个长期的迭代过程,Rook 的本意是为了降低部署管理 Ceph 集群的难度,但是事与愿违,初期使用的过程并不友好,有很多不知名的问题存在官方文档中。...在安装 Ceph 前要注意,目前最新的 Ceph 支持的存储后端 BlueStore 仅支持裸设备,不支持在本地文件系统之上建立存储块。..., 0 B usage: 45 GiB used, 19 TiB / 19 TiB avail pgs: 1 active+clean # ceph 集群可以使用的容量 $...安装 rook 之前需要先安装 NFS Client 安装包。在 CentOS 节点上安装 nf-utils,在 Ubuntu 节点上安装 nf-common。然后就可以安装 Rook 了。...所以大家在使用过程中,还是要仔细熟悉一遍 yaml 文档的内容,了解到它的功能后在安装,就会事半功倍。
元数据服务器使得 POSIX 文件系统的用户们,可以在不对 Ceph 存储集群造成负担的前提下,执行诸如 ls、find 等基本命令。 Ceph 把客户端数据保存为存储池内的对象。...部署ceph集群 因为后续创建osd会挂载数据盘,所以我们提前在tke的节点挂载一块空的数据盘,创建集群默认会部署Ceph Dashboard,默认配置是https访问,可以配置为不使用ssl证书访问,...create -f cluster.yaml 所有pod运行成功后,则说明ceph集群搭建好了 [niewx@VM-0-4-centos ~]$ k get pod -n rook-ceph NAME...0/1 Completed 0 27s 部署完集群后,可以部署下ceph-tools的客户端工具,这样可以方便执行ceph...登录Dashboard 集群安装了nginx-ingress,我们通过ingress来暴露一个域名来访问ceph的dashboard apiVersion: networking.k8s.io/v1beta1
Ruby III 我想在新的Kubernetes集群上安装Prometheus和Grafana,但为了使这些软件包能够工作,他们需要一些地方来存储持久数据。...当我在Seagate担任云架构师时,我已经对Ceph进行了性能和规模测试,并且在过去的一年里玩过Rook,所以我决定安装Rook+Ceph,并将其用于Kubernetes集群的数据存储。...在每个存储节点上,您将找到Ceph存储对象的文件系统和Ceph OSD(对象存储守护程序)进程。在Ceph集群上,您还可以找到Ceph MON(监控)守护程序,它们确保Ceph集群保持高可用性。...https://github.com/rook/rook/blob/master/README.md 当我创建集群时,我构建了具有40GB硬盘的VM,所以使用5个Kubernetes节点,在我的集群上提供了大约...Rook将POD部署在两个命名空间中,即rook-ceph-system和rook-ceph。
92mrook-ceph-osd-0-6bb747b6c5-lnvb6 1/1 Running 0 23srook-ceph-osd...0/2 Completed 0 60srook-ceph-osd-prepare-node2-ab3fd 0/2 Completed...0 60srook-ceph-osd-prepare-node3-w4xyz 0/2 Completed 0...CSI 沙箱容器代码 kubernetes/docker_sandbox.go at d541872f9a036ed4f792232e43fde6dacf0e1084 · kubernetes/kubernetes...· GitHub 应用容器 kubernetes/kubelet.go at d541872f9a036ed4f792232e43fde6dacf0e1084 · kubernetes/kubernetes
通过这些API,可以查询和操作Kubernetes中API对象的状态。 API server是Kubernetes集群中的一个组件,它公开了这些REST API。...在Kubernetes中,每个API对象都有一个对应的Protobuf定义文件。这些文件描述了对象的结构和字段。...” 请求API之前准备一个普通用户 所有 Kubernetes 集群都有两类用户: 由 Kubernetes 管理的服务账号 普通用户 在实际工作中要调用K8S API,为了增加安全性,建议创建一个专用的普通程序账号...” 下面的命令是在Kubernetes集群中创建一个名为developer-binding-tantianran的角色绑定对象,其作用是将一个用户(tantianran)与一个名为developer的角色关联起来...--namespace=rook-ceph 表示在 rook-ceph 命名空间中使用该用户凭据。命名空间用于将 Kubernetes 资源划分为不同的逻辑组。
实例名称)/bin/bash 在容器中使用ceph命令查看集群状态 此步骤为修复集群后执行结果。...-7467d8bf8-x7scq /]# 第二种:使用kubectl exec -it podname(toolbox的pod实例名称) /bin/bash -n rook-ceph -- 集群操作命令...rook-ceph-mgr-dashboard-external-https NodePort 10.109.252.219 8443:30653/TCP 2m49s [root@kmaster ceph]# 在浏览器中访问...-x7scq /]# [root@rook-ceph-tools-7467d8bf8-x7scq /]# [root@kmaster kubernetes]# k exec -it -n rook-ceph...]# [root@kmaster kubernetes]# k exec -it -n rook-ceph rook-ceph-tools-7467d8bf8-zqqlj /bin/bash -
镜像分享链接https://share.weiyun.com/MnHSOLNc在master节点执行:docker load -i rook-img-master.tarhttps://rook.iohttps...集群状态查看ceph集群状态两用方式进行查看第一种:使用kubectl exec -it podname(toolbox的pod实例名称)/bin/bash在容器中使用ceph命令查看集群状态此步骤为修复集群后执行结果...-7467d8bf8-x7scq /]# 第二种:使用kubectl exec -it podname(toolbox的pod实例名称) /bin/bash -n rook-ceph -- 集群操作命令...-7467d8bf8-x7scq /bin/bash -n rook-ceph -- ceph osd pool lsdevice_health_metrics[root@kmaster ceph]#...2m45srook-ceph-mgr-dashboard-external-https NodePort 10.109.252.219 8443:30653/TCP 2m49s[root@kmaster ceph]# 在浏览器中访问
二、Rook 介绍 1、简介 Rook 项目是一个基于 Ceph 的 Kubernetes 存储插件(后期也在加入对更多存储的支持)。...,而接下来在 Kubernetes 项目上创建的所有 Pod 就能够通过 Persistent Volume(PV)和 Persistent Volume Claim(PVC)的方式,在容器里挂载由 Ceph...状态,显示日志用于守护程序等等。...将创建一个服务对象以在 Kubernetes 集群中公开该端口。Rook 将启用端口 8443 进行 https 访问。 五、确认验证 登录 dashboard 需要安全访问。...大概是在上游解决此问题后,可以删除新角色并将管理员角色重新分配给 admin 用户。
2、环境、软件准备 要使用基于 Rook 的 Ceph 存储中的块设备、文件系统以及对象存储,必须保证已通过 Rook 完成 Ceph 存储集群的搭建,并且保证 Ceph 存储集群处于 active +...字段和 spec.dataPools.replicated.size 配置为集群 OSD 个数。...这里 metadataPool.replicated.size 字段配置为集群 OSD 个数。...5.3、集群内访问 我们可以进入到 rook-toolbox 容器内访问该文件存储。首先需要安装一下 s3cmd 客户端工具,该工具提供 CLI 专门用来操作 s3 存储。...经过一番排查后,的确是这个问题,因为集群外部机器时间跟集群内 Pod 时间是不一致的,相差了 10 个小时左右,初步判断应该是时区设置不正确。
领取专属 10元无门槛券
手把手带您无忧上云