版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/signmem/article/details/88538745
说明
对 ceph cluster 进行扩容操作
ceph/rook 集群配置查询
参考之前创建 rook 集群 yaml 中 kind 字段
kind: CephCluster
可以通过下面命令查询集群配置信息
[root@ns-yun-020065 ceph]# kubectl -n rook-ceph get CephCluster
NAME DATADIRHOSTPATH MONCOUNT AGE STATE
rook-ceph /var/lib/rook 3 16h Created
查询方法
[root@ns-yun-020065 ceph]# kubectl -n rook-ceph describe CephCluster
Name: rook-ceph
Namespace: rook-ceph
Labels: <none>
Annotations: kubectl.kubernetes.io/last-applied-configuration:
{"apiVersion":"ceph.rook.io/v1","kind":"CephCluster","metadata":{"annotations":{},"name":"rook-ceph","namespace":"rook-ceph"},"spec":{"cep...
API Version: ceph.rook.io/v1
Kind: CephCluster
Metadata:
Creation Timestamp: 2019-02-28T08:33:05Z
Finalizers:
cephcluster.ceph.rook.io
Generation: 8
Resource Version: 3643762
Self Link: /apis/ceph.rook.io/v1/namespaces/rook-ceph/cephclusters/rook-ceph
UID: 77d06b7b-3b33-11e9-a21b-ec388f792726
Spec:
Ceph Version:
Image: ceph/ceph:v13.2.2-20181023
Dashboard:
Enabled: true
Data Dir Host Path: /var/lib/rook
Mon:
Allow Multiple Per Node: true
Count: 3
Network:
Host Network: false
Rbd Mirroring:
Workers: 0
Storage:
Config:
Database Size MB: 2048
Journal Size MB: 2048
Osds Per Device: 1
Store Type: bluestore
Nodes:
Config: <nil>
Devices:
Full Path:
Config: <nil>
Name: sdb
Full Path:
Config: <nil>
Name: sdc
Full Path:
Config: <nil>
Name: sdd
Full Path:
Config: <nil>
Name: sde
Full Path:
Config: <nil>
Name: sdf
Location: rack=rack1
Name: ns-storage-020100.vclound.com
Resources:
Limits:
Cpu: 1
Memory: 8Gi
Requests:
Cpu: 1
Memory: 8Gi
Config: <nil>
Devices:
Full Path:
Config: <nil>
Name: sdb
Full Path:
Config: <nil>
Name: sdc
Full Path:
Config: <nil>
Name: sde
Full Path:
Config: <nil>
Name: sdf
Full Path:
Config: <nil>
Name: sdd
Location: rack=rack2
Name: ns-storage-020101.vclound.com
Resources:
Limits:
Cpu: 1
Memory: 8Gi
Requests:
Cpu: 1
Memory: 8Gi
Config: <nil>
Devices:
Full Path:
Config: <nil>
Name: sdb
Full Path:
Config: <nil>
Name: sdc
Full Path:
Config: <nil>
Name: sdd
Full Path:
Config: <nil>
Name: sde
Full Path:
Config: <nil>
Name: sdf
Location: rack=rack3
Name: ns-storage-020102.vclound.com
Resources:
Limits:
Cpu: 1
Memory: 8Gi
Requests:
Cpu: 1
Memory: 8Gi
Config: <nil>
Devices:
Full Path:
Config: <nil>
Name: sdb
Full Path:
Config: <nil>
Name: sdc
Full Path:
Config: <nil>
Name: sdd
Full Path:
Config: <nil>
Name: sde
Full Path:
Config: <nil>
Name: sdf
Location: rack=rack3
Name: ns-storage-020104.vclound.com
Resources:
Limits:
Cpu: 1
Memory: 8Gi
Requests:
Cpu: 1
Memory: 8Gi
Use All Devices: false
Status:
State: Created
Events: <none>
ceph/rook 扩容
存储需要进行初始化
存储需要假如 kubernetes 成为集群中一个节点
当存储加入后, 该节点会自动运行 rook-discover rook-ceph-agent 两个 pod
对需要加入 osd 的磁盘进行初始化独立 r0 设备
dd if=/dev/zero of=/dev/xxx bs=1M count=10
parted -s /dev/xxxx mklabel gpt
编辑 cephcluster 配置
添加类似下面配置
[root@ns-yun-020065 ceph]# kubectl -n rook-ceph edit CephCluster
- config: null
devices:
- FullPath: ""
config: null
name: sdb
- FullPath: ""
config: null
name: sdc
- FullPath: ""
config: null
name: sdd
- FullPath: ""
config: null
name: sde
- FullPath: ""
config: null
name: sdf
location: rack=rack3 <- 自行定义 crush map
name: ns-storage-020104.vclound.com
resources:
limits:
cpu: "1"
memory: 8Gi
requests:
cpu: "1"
memory: 8Gi
operator 会调用 rook-ceph-osd-prepare 对该节点执行磁盘初始化
该存储会自动创建对应 rook-ceph-osd pod
自动完成加入 rook-ceph 集群
如果需要,执行修改 crush map
自动进行数据 rebalance