赞
踩
ceph osd pool create rbd 128
rbd pool init rbd
ceph auth get-or-create client.rbd mon 'profile rbd' osd 'profile rbd pool=rbd' mgr 'profile rbd pool=rbd'
# 操作正常返回:
[client.rbd]
key = AQBYAIlft1ACFRAAaCwh6XjiUZSPW841oBmQdA==
[root@k8s-node-1 k8s-sh]# ceph mon dump
dumped monmap epoch 1
epoch 1
fsid e808ab4d-c7c8-46a2-b82a-59840020829e
last_changed 2020-10-15 20:28:28.739282
created 2020-10-15 20:28:28.739282
min_mon_release 14 (nautilus)
0: [v2:172.23.5.158:3300/0,v1:172.23.5.158:6789/0] mon.k8s-node-2
1: [v2:172.23.6.214:3300/0,v1:172.23.6.214:6789/0] mon.k8s-node-1
2: [v2:172.23.6.215:3300/0,v1:172.23.6.215:6789/0] mon.k8s-node-3
这里一共有两个需要使用的信息,第一个是fsid(可以称之为集群id),第二个是监控节点信息0: [v2:172.23.5.158:3300/0,v1:172.23.5.158:6789/0] mon.k8s-node-2(可能有多个,这里配置了0 1 2 三个)
另外,目前的ceph-csi只支持V1版本的协议,所以监控节点那里我们只能用v1的那个IP和端口号
cat <<EOF > csi-config-map.yaml --- apiVersion: v1 kind: ConfigMap data: config.json: |- [ { "clusterID": "e808ab4d-c7c8-46a2-b82a-59840020829e", "monitors": [ "172.23.5.158:6789", "172.23.6.214:6789", "172.23.6.215:6789" ] } ] metadata: name: ceph-csi-config EOF
在kubernetes集群上,将此configmap存储到集群
kubectl apply -f csi-config-map.yaml
cat <<EOF > csi-rbd-secret.yaml
---
apiVersion: v1
kind: Secret
metadata:
name: csi-rbd-secret
namespace: default
stringData:
userID: rbd
userKey: AQBYAIlft1ACFRAAaCwh6XjiUZSPW841oBmQdA==
EOF
这里就用到了之前生成的用户的用户id(kubernetes)和key
将此配置存储到kubernetes中
kubectl apply -f csi-rbd-secret.yaml
新版本的ceph-csi中需要一个ConfigMap,其名为ceph-csi-encryption-kms-config
解决方案:
找到需要用到它的yaml,注释掉所有相关引用
引用了该ConfigMap的yaml文件
deploy/rbd/kubernetes/csi-rbdplugin-provisioner.yaml
deploy/rbd/kubernetes/csi-rbdplugin.yaml
部署一个
样例路径ceph-csi/examples/kms/vault/kms-config.yaml
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。