Kubernetes集成Ceph

本文档详细介绍了在Kubernetes环境中配置Ceph块存储和对象存储(RBD和CephFS)的过程,包括CSI模式的配置、测试、问题排查和解决方案。涉及到的组件包括Docker、Kubernetes、Ceph、ceph-csi和external-storage。在配置过程中,重点强调了CSI模式的使用,包括配置ConfigMap、Secret、RBAC、Provisioner和Node Plugins,并提供了测试PVC和Pod的步骤。同时,文档还提到了旧版external-storage模式的问题以及解决方法,如升级ceph-common版本和调整csi镜像版本。最后,文章列举了一些可能出现的问题,如PVC处于pending状态,以及如何进行故障排查。

1. 版本

软件名 版本 备注
docker 19.03.14
kubernetes 1.19.7
ceph 14.2.21 nautilus
ceph-csi release-v3.3 手动更新quay.io/cephcsi/cephcsi:v3.3.0为 quay.io/cephcsi/cephcsi:v3.2-canary 否则由于ceph版本问题认证会不通过
external-storage master

2. 块存储

2.1. 准备

  • 创建ceph pool
ceph osd pool create k8s 64 64
rbd pool init k8s
  • 获取ceph keyring
ceph auth get client.admin
# 输出如下
key = AQDk18FgMo7NABAA4ufuz3O6/0lE4vsVgHs1yQ==
  • 获取clusterid
ceph -s
# 输出如下
    id:     8cfb6405-d75e-466a-8abf-51ba0480d783
...
  • 获取mon信息
ceph mon stat
# 输出如下
e2: 3 mons at {
   
   ceph01=[v2:172.16.2.237:3300/0,v1:172.16.2.237:6789/0],ceph02=[v2:172.16.2.238:3300/0,v1:172.16.2.238:6789/0],ceph03=[v2:172.16.2.239:3300/0,v1:172.16.2.239:6789/0]}, election epoch 10, leader 0 ceph01, quorum 0,1,2 ceph01,ceph02,ceph03
  • 每个客户端安装ceph-common
yum install ceph-common -y 

2.2. csi模式–当前使用

2.2.1. 配置configmap

  • 生成configmap

    修改字段

    • clusterID
    • monitors
cat <<EOF > csi-config-map.yaml
---
apiVersion: v1
kind: ConfigMap
data:
  config.json: |-
    [
      {
   
   
        "clusterID": "8cfb6405-d75e-466a-8abf-51ba0480d783",
        "monitors": [
          "172.16.2.237:6789",
          "172.16.2.238:6789",
          "172.16.2.239:6789"
        ]
      }
    ]
metadata:
  name: ceph-csi-config
EOF
  • 导入configmap
kubectl apply -f csi-config-map.yaml
  • 配置kms
cat <<EOF > csi-kms-config-map.yaml
---
apiVersion: v1
kind: ConfigMap
data:
  config.json: |-
    {
   
   }
metadata:
  name: ceph-csi-encryption-kms-config
EOF
kubectl apply -f csi-kms-config-map.yaml

2.2.2. 配置secret

  • 生成secret
    修改字段:
    • userID
    • userKey
cat <<EOF > csi-rbd-secret.yaml
---
apiVersion: v1
kind: Secret
metadata:
  name: csi-rbd
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值