当前位置: 首页 > news >正文

最新版Ceph( Reef版本)块存储简单对接k8s(上集)

在这里插入图片描述

当前ceph

在这里插入图片描述

你的ceph集群上执行

1.创建名为k8s-rbd 的存储池
ceph osd pool create k8s-rbd  64 642.初始化
rbd pool init k8s-rbd3 创建k8s访问块设备的认证用户
ceph auth get-or-create client.kubernetes mon 'profile rbd' osd 'profile rbd pool=k8s-rbd'

在这里插入图片描述

部署 ceph-rbd-csi

cat <<EOF > csi-config-map.yaml
---
apiVersion: v1
kind: ConfigMap
data:config.json: |-[{"clusterID": "76e8c1f6-0baa-11ef-ae7a-bc24115bcbdc","monitors": ["192.168.0.26:6789","192.168.0.27:6789","192.168.0.28:6789"]}]
metadata:name: ceph-csi-config
EOF###说明###
"clusterID": "76e8c1f6-0baa-11ef-ae7a-bc24115bcbdc"  通过 ceph mon dump 中的 fsid 获取
创建名为“ceph-csi-encryption-kms-config”的ConfigMap,因没有使用KMS,配置内容为空(不能省略,否则后面容器启动会报错
 cat <<EOF > csi-kms-config-map.yaml
---
apiVersion: v1
kind: ConfigMap
data:config.json: |-{}
metadata:name: ceph-csi-encryption-kms-config
EOF

最新版本的Ceph - CSI还需要另一个ConfigMap对象来定义Ceph配置,以添加到CSI容器内的Ceph .conf文件中:

 cat <<EOF > ceph-config-map.yaml
---
apiVersion: v1
kind: ConfigMap
data:ceph.conf: |[global]auth_cluster_required = cephxauth_service_required = cephxauth_client_required = cephxkeyring: |
metadata:name: ceph-config
EOF
创建 secret对象,存储访问ceph的 key
cat <<EOF > csi-rbd-secret.yaml
---
apiVersion: v1
kind: Secret
metadata:name: csi-rbd-secretnamespace: default
stringData:userID: kubernetesuserKey: AQAnEjpmMbBeOhAA8SDvxVDYCGcOWtiQjhS+sg==
EOF###说明###
userID 为上面在 ceph 集群中创建的 kubernetes
userKey 通过下面获取,这里无需通过 base64 加密,切记!# ceph auth get client.kubernetes
[client.kubernetes]key = AQAnEjpmMbBeOhAA8SDvxVDYCGcOWtiQjhS+sg==caps mon = "profile rbd"caps osd = "profile rbd pool=k8s-rbd"

再部署官网提供的yaml文件

$ kubectl apply -f https://raw.githubusercontent.com/ceph/ceph-csi/master/deploy/rbd/kubernetes/csi-provisioner-rbac.yaml
$ kubectl apply -f https://raw.githubusercontent.com/ceph/ceph-csi/master/deploy/rbd/kubernetes/csi-nodeplugin-rbac.yaml$ wget https://raw.githubusercontent.com/ceph/ceph-csi/master/deploy/rbd/kubernetes/csi-rbdplugin-provisioner.yaml
$ kubectl apply -f csi-rbdplugin-provisioner.yaml$ wget https://raw.githubusercontent.com/ceph/ceph-csi/master/deploy/rbd/kubernetes/csi-rbdplugin.yaml
$ kubectl apply -f csi-rbdplugin.yaml

创建SC

 cat <<EOF > csi-rbd-sc.yaml
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:name: csi-rbd-sc
provisioner: rbd.csi.ceph.com
parameters:clusterID: 76e8c1f6-0baa-11ef-ae7a-bc24115bcbdcpool: k8s-rbd <<<<<<<<<<<<<<<<<---------------(注意你的池)imageFeatures: layeringcsi.storage.k8s.io/provisioner-secret-name: csi-rbd-secretcsi.storage.k8s.io/provisioner-secret-namespace: defaultcsi.storage.k8s.io/controller-expand-secret-name: csi-rbd-secretcsi.storage.k8s.io/controller-expand-secret-namespace: defaultcsi.storage.k8s.io/node-stage-secret-name: csi-rbd-secretcsi.storage.k8s.io/node-stage-secret-namespace: default
reclaimPolicy: Delete
allowVolumeExpansion: true
mountOptions:- discard
EOF

####创建一个pvc 试一试

cat <<EOF > raw-block-pvc.yaml
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: raw-block-pvc
spec:accessModes:- ReadWriteOncevolumeMode: Blockresources:requests:storage: 1GistorageClassName: csi-rbd-sc
EOF

在这里插入图片描述

helm在部署一个redis

在这里插入图片描述

http://www.lryc.cn/news/348669.html

相关文章:

  • 稳态大面积光伏组件IV测试太阳光模拟器
  • 编写HTTP协议代理的一些知识(源码)
  • LabVIEW天然气压缩因子软件设计
  • GCP谷歌云有什么数据库类型,该怎么选择
  • 项目经理之路:裁员与内卷下的生存策略
  • MWM触摸屏工控机维修TEM-EV0 EN00-Z312yy-xx
  • idm下载到99.99%不动了 idm突然不下载了 idm下载到最后没速度咋办 IDM下载后没网了是怎么回事
  • 设计模式-07 设计模式-观察者模式(Observer Pattern)
  • 戒烟网站|基于SSM+vue的戒烟网站系统的设计与实现(源码+数据库+文档)
  • 研发管理之认识DevOps
  • Spring MVC(五) 文件上传
  • Redis——Redis数据分片的三种算法
  • 【专利】一种日志快速分析方法、设备、存储介质
  • HFSS学习-day5-边界条件
  • spring Aop使用示例
  • MySQL-InnoDB数据存储结构
  • 【吊打面试官系列】Java高并发篇 - 什么是 Java Timer 类?如何创建一个有特定时间间隔的任务?
  • Spring生命周期深度解析
  • 基于 Windows 的记事本简单功能开发及部署发布--迭代2.0
  • Java lambda
  • 【智能算法】河马优化算法(HO)原理及实现
  • spring基础使用(案例)
  • 相同的树LeetCode
  • Vue中如何抽取部分代码到单独的ts文件
  • 山东齐鲁文化名人颜廷利:朱郭有文才,曲高‘菏’寡星光路
  • 嵌入式学习70-复习(wireshark使用和http协议)
  • idea配置MySQL提示
  • 如何利用AI生成答辩PPT?笔灵AI答辩PPT,智能识别关键点
  • 速盾:怎么设置cdn加速小程序图片?
  • Android bootchart 分析启动性能工具使用