0%

通过kubenetes Helm安装Ceph

准备环境

  • 公共网络和集群网络必须相同

  • 如果存储类用户标识不是admin,则必须在Ceph集群中手动创建用户并在Kubernetes中创建其密钥

  • ceph-mgr只能运行1个副本

启动本地Helm

ceph-helm项目默认使用本地Helm repo来存储images,要启动本地Helm repo服务器

1
2
$ helm serve &
$ helm repo add local http://localhost:8879/charts

增加本地helm仓库

1
2
3
$ git clone https://github.com/ceph/ceph-helm
$ cd ceph-helm/ceph
$ make

配置Ceph

创建一个ceph-overrides.yaml Ceph配置来覆盖ceph-helm默认值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$ cat ~/ceph-overrides.yaml
network:
public: 172.16.0.0/20
cluster: 172.16.0.0/20

osd_devices:
- name: dev-sdb
device: /dev/sdb
zap: "1"
- name: dev-sdc
device: /dev/sdc
zap: "1"

storageclass:
name: ceph-rbd
pool: rbd
user_id: k8s

创建kubernetes 命名空间

1
$ kubectl create namespace ceph

配置RBAC权限

Kubernetes> = v1.6使用RBAC为默认权限,rbac.yaml默认在git clone下来的文件夹里面

1
kubectl create -f ~/ceph-helm/ceph/rbac.yaml

创建标签

# Ceph Monitor
$ kubectl label node <nodename> ceph-mon=enabled ceph-mgr=enabled

# OSD node
$ kubectl label node <nodename> ceph-osd=enabled ceph-osd-device-dev-sdb=enabled ceph-osd-device-dev-sdc=enabled