云原生存储现在比较火的是Rook和Longhorn,本篇是关于 运行在Kubernetes之上的rook ceph云原生存储的部署。...rook-ceph-cmd-reporter created serviceaccount/rook-ceph-mgr created serviceaccount/rook-ceph-osd created...serviceaccount/rook-ceph-purge-osd created serviceaccount/rook-ceph-rgw created serviceaccount/rook-ceph-system... ~/rook/deploy/examples master kubectl create -f cluster.yaml cephcluster.ceph.rook.io/rook-ceph...⚡ root@centos9 ~/rook master kubectl -n rook-ceph logs -l job-name=rook-ceph-toolbox-job Defaulted
一、安装 1.1、创建operator # 安装 git clone --single-branch --branch v1.8.7 https://github.com/rook/rook.git cd...exec -it rook-ceph-tools-68955c4f99-8kmgb -- bash ceph mgr module enable rook ceph orch set backend...get pod -l app=rook-ceph-rgw kubectl -n rook-ceph get svc -l app=rook-ceph-rgw # 创建storageclasses...-n rook-ceph rook-ceph # 从ceph集群清除osd # 编辑移除yaml 修改OSD-IDs vim osd-purge.yaml # 执行删除job kubectl...rook-ceph-osd- # operator副本数设置为1 kubectl -n rook-ceph scale deployment rook-ceph-operator --replicas
以下是部署Rook的步骤:步骤1:安装Rook Operator首先,我们需要部署Rook Operator。...您可以使用以下命令从Rook GitHub存储库中下载并部署Rook Operator:$ kubectl apply -f https://raw.githubusercontent.com/rook...步骤2:创建Rook Cluster创建Rook集群需要使用Rook Operator创建一个名为“Cluster”的自定义资源定义(CRD)对象。...Rook的功能和优势Rook提供了以下主要功能和优势:可扩展的存储:Rook支持多种存储后端,包括Ceph、EdgeFS、MinIO等。...假设我们已经在Kubernetes集群中部署了Rook Operator和Rook集群,并创建了一个名为“rook-ceph-block”的StorageClass。
Rook 是什么 Rook 是一个可以提供 Ceph 集群管理能力的 Operator。Rook 使用 CRD 一个控制器来对 Ceph 之类的资源进行部署和管理。 ?...Rook 包含多个组件: Rook Operator:Rook 的核心组件,Rook Operator 是一个简单的容器,自动启动存储集群,并监控存储守护进程,来确保存储集群的健康。...-name rook --namespace rook-ceph-system rook-stable/rook-ceph $ kubectl get po -n rook-ceph-system -...的相关 Pod(rook-operator、rook-discover 以及 rook-agent),以及相关的 CRD。...只重装 Rook 删除 rook-ceph 以及 rook-ceph-system 命名空间会造成很大麻烦。
rook-ceph-mon-a-5d7fcfb6ff-2wq9l 1/1 Running 0 81m rook-ceph-mon-b-7cfcd567d8-lkqff...rook-ceph-osd-0-56bd7545bd-5k9xk 1/1 Running 0 63m rook-ceph-osd-1-77f56cd549-7rm4l...rook-ceph-osd-3-6f8b78c647-8xjzv 1/1 Running 0 63m 参数说明: apiVersion: ceph.rook.io/v1...kind: CephCluster metadata: name: rook-ceph namespace: rook-ceph spec: cephVersion: # For...数据源要配置成: 1 http://rook-prometheus.rook-ceph.svc.cluster.local:9090 导入dashboard ? ? ?
Rook 目前已经是 Ceph 官方文档推荐的 Kubernetes 部署 Ceph 集群的方式了。本文主要记录一下部署的过程和遇到的一些问题。...# The deployment for the rook operator # Contains the common settings for most Kubernetes deployments.... # For example, to create the rook-ceph cluster: kubectl create -f common.yaml kubectl create -f operator.yaml...common.yaml 包含了 Rook 里的关于 Ceph 的一些 CRD 定义 operator.yaml 自然就是 Rook 的 Operator 的部署,可以看到官方是以 Deployment...CustomResourceDefinition kind: ObjectBucket kind: CustomResourceDefinition kind: ObjectBucketClaim 从上面的 CRD 类型可以看到,Rook
有关 Rook 当前支持的存储解决方案的状态的更多详细信息,可以参考 Rook 仓库(https://github.com/rook/rook/blob/master/README.md#project-status...本文试验环境: Kubernetes: v1.16.2 Docker:18.09.9 Rook:release-1.1 部署 Rook Operator 我们这里部署 release-1.1 版本的 Rook...rook-ceph-agent 和 rook-discover 是否存在也是依赖于我们的配置的。...Rook 工具箱 要验证集群是否处于正常状态,我们可以使用 Rook 工具箱(https://rook.io/docs/rook/v1.1/ceph-toolbox.html) 来运行 ceph status...namespace: rook-ceph labels: app: rook-ceph-mgr rook_cluster: rook-ceph spec: ports:
确切地说,希望利用Rook改进以下领域: 减少新集群的部署时间 简化升级 更灵活的横向扩展 更好的容错 减少对专业Ceph操作员的依赖 我的工作是在虚拟和物理环境中使用Rook部署Ceph,看看是否实现了上述改进...当Rook的最新版本0.8部署时,安装过程非常直接;只要设置一个Kubernetes环境,就可以使用两个命令轻松部署它。...Rook建立在Kubernetes之上,因此节点可靠性和改进的故障容忍度成为一等特性。带有Rook后端的编排器CLI可以轻松操作部署的集群,特别是对于那些已经熟悉Ceph CLI的人来说。...然而,Ceph的升级还没有自动化,Rook和Ceph版本之间存在耦合,这使得整体部署的灵活性降低。这些特性计划在即将发布的Rook v0.9提供。...在我看来,Rook看起来是一个很有前途的开源项目,目标是让存储更适合云环境。
前言 最近 CNCF 宣布 rook 毕业,kubeSphere 正好也发布了 3.0.0 版本,由于 rancher 开源的 longhorn 还处于孵化阶段,不太适合生产环境使用,这次使用 rook...rook 简介 rook[2]是 Kubernetes 的开源云原生存储解决方案,能够为 kubernetes 提供生产就绪的文件、块和对象存储。...,rook 只能使用干净的裸盘或分区,所以在每个 node 上添加一块 vdc 盘。...存储 下载 rook 的 release 版本 wget https://github.com/rook/rook/archive/v1.4.4.tar.gz tar -zxvf v1.4.4.tar.gz...exec -it $(kubectl -n rook-ceph get pod -l "app=rook-ceph-tools" -o jsonpath='{.items[0].metadata.name
j += 1 return count Reference https://leetcode.com/problems/available-captures-for-rook
://github.com/rook/rook.git)Cloning into 'rook'...remote: Enumerating objects: 63522, done.remote: Counting...rook/rook.git)cd rook/cluster/examples/kubernetes/cephkubectl create -f crds.yaml -f common.yaml -f operator.yaml.../rook-ceph-cmd-reporter-psp createdserviceaccount/rook-csi-cephfs-plugin-sa createdserviceaccount/rook-csi-cephfs-provisioner-sa...Toolboxhttps://rook.io/docs/rook/v1.6/ceph-toolbox.htmlcd rook/cluster/examples/kubernetes/cephkubectl...-it rook-ceph-tools-7467d8bf8-x7scq /bin/bash -n rook-ceph -- ceph osd treekubectl exec -it rook-ceph-tools
文章目录 安装 使用 创建pool 创建pvc 总结 kubernetes集群三步安装 安装 git clone https://github.com/rook/rook cd cluster/examples...rook-ceph-mon-a-5d7fcfb6ff-2wq9l 1/1 Running 0 81m rook-ceph-mon-b-7cfcd567d8-lkqff...79m rook-ceph-osd-0-56bd7545bd-5k9xk 1/1 Running 0 63m rook-ceph-osd-1-77f56cd549-...63m rook-ceph-osd-3-6f8b78c647-8xjzv 1/1 Running 0 63m 参数说明: apiVersion: ceph.rook.io.../v1 kind: CephCluster metadata: name: rook-ceph namespace: rook-ceph spec: cephVersion:
有关 Rook 当前支持的存储解决方案的状态的更多详细信息,可以参考 Rook 仓库(https://github.com/rook/rook/blob/master/README.md#project-status...本文试验环境: Kubernetes: v1.16.2 Docker:18.09.9 Rook:release-1.1 部署 Rook Operator 我们这里部署 release-1.1 版本的 Rook...rook-ceph-agent 和 rook-discover 是否存在也是依赖于我们的配置的。...Rook 工具箱 要验证集群是否处于正常状态,我们可以使用 Rook 工具箱(https://rook.io/docs/rook/v1.1/ceph-toolbox.html) 来运行 ceph status...namespace: rook-ceph labels: app: rook-ceph-mgr rook_cluster: rook-cephspec: ports: - name
目录 Rook是什么,要解决什么问题 通过Rook部署Ceph集群 部署前准备 部署Ceph集群 使用Ceph集群 理解Access Mode属性 使用CephFS测试ReadWriteMany(RWX...)模式 更深入地观察存储挂载机制 Ceph界面化管理Ceph Dashboard 总结 Rook是什么,要解决什么问题 First thing first,Rook is not a CSI driver.... —— 首先,Rook不是一个容器存储驱动。...通过Rook部署Ceph集群 目前Rook支持多种存储集群的部署,包括: Ceph,它是一个高度可扩展的分布式存储解决方案,适用于块存储、对象存储和共享文件系统,具有多年的生产部署经验。...标准版部署Rook已经自带这个功能,默认是无法集群外访问的,手动expose为nodeport模式即可: > kubectl -n rook-ceph get svc |grep dash rook-ceph-mgr-dashboard
://github.com/rook/rook.git) Cloning into 'rook'... remote: Enumerating objects: 63522, done. remote:.../rook/rook.git) cd rook/cluster/examples/kubernetes/ceph kubectl create -f crds.yaml -f common.yaml -...47s [root@kmaster ceph]# Rook Toolbox https://rook.io/docs/rook/v1.6/ceph-toolbox.html cd rook/cluster...-it rook-ceph-tools-7467d8bf8-x7scq /bin/bash -n rook-ceph -- ceph osd tree kubectl exec -it rook-ceph-tools...@rook-ceph-tools-7467d8bf8-x7scq /]# [root@kmaster kubernetes]# k exec -it -n rook-ceph rook-ceph-tools
Rook机制: Rook 提供了卷插件,来扩展了 K8S 的存储系统,使用 Kubelet 代理程序 Pod 可以挂载 Rook 管理的块设备和文件系统。...更多参考如下官网: https://rook.io https://ceph.com/ 1.3 Rook架构 Rook架构如下: ? Kubernetes集成Rook架构如下: ?...会在每个节点创建 rook-ceph-agent 和 rook-discover。...5 namespace: rook-ceph 6 labels: 7 app: rook-ceph-mgr 8 rook_cluster: rook-ceph...提示:其他更多rook配置参数参考:https://rook.io/docs/rook/v1.1/。
Cassandra Operator: $ git clone --single-branch --branch v1.6.8 https://github.com/rook/rook.git cd rook...要检查集群的当前状态,请运行: kubectl -n rook-cassandra describe clusters.cassandra.rook.io rook-cassandra 访问数据库 从...$ git clone --single-branch --branch v1.6.8 https://github.com/rook/rook.git cd rook/cluster/examples...部署 Rook Operator 第一步是部署 Rook operator。检查您是否正在使用与您的 Rook 版本相对应的示例 yaml 文件。...创建 Rook Ceph 集群 现在 Rook operator 正在运行,我们可以创建 Ceph 集群。
Rook 管理 Ceph 集群 Ceph 分布式存储是 Rook 支持的第一个标记为 Stable 的编排存储引擎,在笔者验证 Rook 操作 Ceph 的过程中发现,其社区文档、脚本都放在一起,初次新手很难知道如何一步一步体验...因为 Rook 文档的混乱,一开始我们需要自己找到安装脚本目录,它在https://github.com/rook/rook/tree/master/cluster/examples/kubernetes.../ceph $ git clone https://github.com/rook/rook.git $ cd rook $ git checkout release-1.4 $ cd cluster/...namespace: rook-ceph labels: app: rook-ceph-mgr rook_cluster: rook-ceph spec: ports:...-n rook-ceph delete cephcluster rook-ceph $ kubectl -n rook-ceph get cephcluster # 确认 rook-ceph 被删除
下图说明了 Ceph Rook 如何与 Kubernetes 集成: 随着 Rook 在 Kubernetes 集群中运行,Kubernetes 应用程序可以挂载由 Rook 管理的块设备和文件系统,...部署环境准备 官方参考: root 项目地址:https://github.com/rook/rook rook 官方参考文档:https://rook.io/docs/rook/v0.9/ceph-quickstart.html...rook 使用存储方式 rook 默认使用所有节点的所有资源,rook operator 自动在所有节点上启动 OSD 设备,Rook 会用如下标准监控并发现可用设备: 设备没有分区 设备没有格式化的文件系统...部署 Rook Operator 克隆 rook github 仓库到本地 git clone https://github.com/rook/rook.git cd rook/cluster/examples...资源,给 Rook 创建的 Pod 使用 deployment:rook-ceph-operator,部署 rook ceph 相关的组件 部署 rook-ceph-operator 过程中,会触发以