整个过程可以分为以下步骤:
| 步骤 | 操作 |
|----|----|
| 1 | 部署 Rook Operator |
| 2 | 部署 Ceph 集群 |
| 3 | 使用 Ceph 存储 |
### 步骤一:部署 Rook Operator
1. 首先,需要创建 Rook 的命名空间 rook-ceph:
```bash
kubectl create namespace rook-ceph
```
2. 部署 Rook Operator:
```bash
kubectl apply -f https://raw.githubusercontent.com/rook/rook/release-1.8/cluster/examples/kubernetes/ceph/common.yaml
kubectl apply -f https://raw.githubusercontent.com/rook/rook/release-1.8/cluster/examples/kubernetes/ceph/operator.yaml
```
### 步骤二:部署 Ceph 集群
1. 创建 Ceph 集群的配置文件 cluster.yaml:
```yaml
apiVersion: ceph.rook.io/v1
kind: CephCluster
metadata:
name: rook-ceph
namespace: rook-ceph
spec:
dataDirHostPath: "/var/lib/rook"
mon:
count: 3
allowMultiplePerNode: false
dashboard:
enabled: false
```
2. 根据配置文件创建 Ceph 集群:
```bash
kubectl apply -f cluster.yaml
```
### 步骤三:使用 Ceph 存储
1. 创建 Ceph 存储类 storageclass.yaml:
```yaml
apiVersion: ceph.rook.io/v1
kind: CephBlockPool
metadata:
name: replicapool
namespace: rook-ceph
spec:
replicated:
size: 3
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: rook-ceph-block
provisioner: ceph.rook.io/block
parameters:
blockPool: replicapool
```
2. 根据配置文件创建存储类:
```bash
kubectl apply -f storageclass.yaml
```
通过以上步骤,你已经成功在 Kubernetes 上部署了 Rook Operator,并创建了一个 Ceph 集群。接下来,你可以使用这个 Ceph 存储来存储你的应用程序数据。
总结一下,通过部署 Rook Operator 和 Ceph 集群,我们可以在 Kubernetes 上使用 Rook 来实现存储系统的部署和管理。希望本文能够帮助你快速上手使用 K8s 上的 Rook,更好地管理你的存储资源。