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
kubectl create -f cluster.yaml分为三个步骤。
然后我们逐个 yaml 分析一下。
common.yaml 文件内容非常多,但是仔细看,可以发现其实大部分内容都是关于 Role, ClusterRole, RoleBinding, ClusterRoleBinding, ServiceAccount 之类的内容。但我们还是要自己把真正的 Ceph 集群相关的 CRD 找出来,通过 grep 命令操作一下 common.yaml 文件可以得到下面的结果。
kind: CustomResourceDefinition
kind: CephCluster
kind: CustomResourceDefinition
kind: CephClient
kind: CustomResourceDefinition
kind: CephRBDMirror
kind: CustomResourceDefinition
kind: CephFilesystem
kind: CustomResourceDefinition
kind: CephNFS
kind: CustomResourceDefinition
kind: CephObjectStore
kind: CustomResourceDefinition
kind: CephObjectStoreUser
kind: CustomResourceDefinition
kind: CephObjectRealm
kind: CustomResourceDefinition
kind: CephObjectZoneGroup
kind: CustomResourceDefinition
kind: CephObjectZone
kind: CustomResourceDefinition
kind: CephBlockPool
kind: CustomResourceDefinition
kind: Volume
kind: CustomResourceDefinition
kind: ObjectBucket
kind: CustomResourceDefinition
kind: ObjectBucketClaim从上面的 CRD 类型可以看到,Rook 里有很多种 CRD,主要包括 CephCluster 应该是作为全局的,另外如 CephFS, 对象存储, RBD 这些 Ceph 组件都会以 CRD 的形式存在。
