当前位置:   article > 正文

ceph-csi 环境搭建_ceph csi

ceph csi

1、创建rbd pool --pg_num看情况设置,最好按小的来

ceph osd pool create rbd 128 
rbd pool init rbd
  • 1
  • 2

2、为名为 rbd 的池创建一个新用户

 ceph auth get-or-create client.rbd mon 'profile rbd' osd 'profile rbd pool=rbd' mgr 'profile rbd pool=rbd' 
  • 1
#  操作正常返回: 
 [client.rbd]
	key = AQBYAIlft1ACFRAAaCwh6XjiUZSPW841oBmQdA==
  • 1
  • 2
  • 3

3、生成ceph-csi的kubernetes configmap

[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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

注意:

这里一共有两个需要使用的信息,第一个是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和端口号

用以上信息生成configmap:

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

在kubernetes集群上,将此configmap存储到集群
kubectl apply -f csi-config-map.yaml

4、生成ceph-csi cephx的secret

cat <<EOF > csi-rbd-secret.yaml
---
apiVersion: v1
kind: Secret
metadata:
  name: csi-rbd-secret
  namespace: default
stringData:
  userID: rbd
  userKey: AQBYAIlft1ACFRAAaCwh6XjiUZSPW841oBmQdA==
EOF
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

这里就用到了之前生成的用户的用户id(kubernetes)和key
将此配置存储到kubernetes中
kubectl apply -f csi-rbd-secret.yaml

5、 ceph-csi 2.1 3.0版本部署时遇到的新问题

新版本的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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/832918
推荐阅读
  

闽ICP备14008679号