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

kubernetes-使用ceph-csi

kubernetes-使用ceph-csi

Kubernetes (简称K8s)和Ceph都是开源的云计算技术,K8s是一个容器编排平台,而Ceph是一个分布式存储系统。将K8s和Ceph集成在一起可以为应用程序提供高可用性和持久性存储。本文主要介绍如何在使用openEuler 22.03操作系统的鲲鹏服务器上操作K8s集成Ceph。
在这里插入图片描述

Ceph是一个可靠的、自动重均衡、自动恢复的分布式存储系统,根据场景划分可以将Ceph分为三大块,分别是对象存储、块设备存储和文件系统服务。Ceph提供统一的横向扩展存储,带有自我修复和智能预测故障的功能,已经成为软件定义存储的事实上的标准之一。

Ceph是开源的,它使许多供应商能够提供基于Ceph的软件去定义合适的存储系统。K8s是用于自动部署、扩展和管理容器化(Containerized)应用程序的开源系统。它旨在提供“跨主机集群的自动部署、扩展以及运行应用程序容器的平台”。因各个项目集群在部署时对存储的需求各有差异,使用Ceph作为统一储存,则在确保可靠性的同时又能具备相应的灵活性,将计算与存储解耦与K8s灵活的部署方式相得益彰。

img

这里主要讲解集成使用ceph rbd 功能

1. 创建 rbd pool

rbd 块存储于ceph pool中,所以需要创建一个pool 用于存储后续的pv disk

#ceph osd pool create kubernetes
#rbd pool init kubernetes
2. 配置ceph-csi

ceph 如果需要通过cephx认证的情况下,需要创建config map 传递 ceph config 以及secret。如果不开启cephx,下面的cephx改成none即可。

# cat <<EOF > ceph-config.yaml
---
apiVersion: v1
kind: ConfigMap
data:ceph.conf: |[global]auth_cluster_required = cephxauth_service_required = cephxauth_client_required = cephx# keyring is a required key and its value should be emptykeyring: |
metadata:name: ceph-config
EOF
# kubectl apply -f ceph-config.yaml

配置ceph monitor

# cat <<EOF > csi-config-map.yaml
---
apiVersion: v1
kind: ConfigMap
data:ceph.conf: |[{"clusterID":"80451321eeqeqw-eqeq-eqeq-eqeqewqeq-dqeq-eqe","monitors":["10.220.134.7:6789","10.220.134.43:6789","10.220.130.200:6789"]}]
metadata:name: ceph-csi-config
EOF
# kubectl apply -f csi-config-map.yaml
3. 配置cephx

配置cephx的账号和密码(ceph auth 的账号和密码在ceph侧自行生成即可,当然如果不开启cephx的情况下,这里userID和userKey随便填就行)

#cat <<EOF > csi-rbd-secret.yaml
---
apiVersion: v1
kind: Secret
metadata:name: csi-rbd-secretnamespace: default
stringData:userID: kubernetesuserKey: AQD9o0Fd6hQRChAAt7fMaSZXduT3NWEqylNpmg==
EOF
# kubectl apply -f csi-rbd-secret.yaml
3. 配置ceph-csi
3.1 选择和ceph、kubernetes版本对应的ceph-csi版本
#ceph -v
ceph version 14.2.22
# kubectl version
Client Version: v1.31.4
Kustomize Version: v5.4.2
Server Version: v1.31.4
3.2 选择对应的ceph-csi版本

这里选择使用ceph-csi v3.7.2 , 和用的ceph 和kubernetes匹配

#git clone -b v3.7.2 https://github.com/ceph/ceph-csi.git
#cd ceph-csi/deploy/rbd/kubernetes

配置访问Kubernetes API对象的ServiceAccount和RBAC

#kubectl apply -f csi-provisioner-rbac.yaml 
#kubectl apply -f csi-nodeplugin-rbac.yaml

部署csi 程序与节点插件

修改 csi-rbdplugin.yaml 和 csi-rbdplugin-provisioner.yaml,注释掉csi-rbdplugin.yaml和csi-rbdplugin-provisioner.yaml文件中kms相关内容

#kubectl apply -f csi-rbdplugin.yaml 
#kubectl apply -f csi-rbdplugin-provisioner.yaml
4. 检查
# kubectl get pods -o wide
NAME                                         READY   STATUS    RESTARTS   AGE     IP              NODE    NOMINATED NODE   READINESS GATES
csi-rbdplugin-2xb7k                          3/3     Running   0          2m34s   172.22.2.55     node3   <none>           <none>
csi-rbdplugin-k6wjl                          3/3     Running   0          2m34s   172.22.4.4      node1   <none>           <none>
csi-rbdplugin-provisioner-7586c58d96-26rjk   7/7     Running   0          2m30s   10.233.65.112   node2   <none>           <none>
csi-rbdplugin-provisioner-7586c58d96-7kfxx   7/7     Running   0          2m30s   10.233.64.124   node1   <none>           <none>
csi-rbdplugin-provisioner-7586c58d96-qn4jl   7/7     Running   0          2m30s   10.233.66.161   node3   <none>           <none>
csi-rbdplugin-vv7ds                          3/3     Running   0          2m34s   172.22.3.50     node2   <none>           <none>

参考:

https://docs.ceph.com/en/latest/rbd/rbd-kubernetes/

https://www.hikunpeng.com/document/detail/zh/kunpengcpfs/ecosystemEnable/Kubernetes/kunpengk8sceph_04_0008.html

相关文章:

  • vscode中markdown一些插件用不了解决方式
  • HTML 初识
  • 本地部署ai图片转生成视频,一键运行包的制作教程。
  • AbMole| Lofexidine hydrochloride(CAS号21498-08-8;目录号M3169)
  • 大模型面经 | DeepSpeed中ZeRO-1、ZeRO-2和ZeRO-3的区别是什么?
  • QT常见显示类控件及其属性
  • 学习设计模式《二》——外观模式
  • 快手本地生活2024年GMV同增200%,“新线城市+AI”将成增长引擎
  • LabVIEW油气井井下集成监测系统
  • 492Q 型气缸盖双端面铣削组合铣床总体设计
  • OpenGauss 数据库介绍
  • CentOS 7 linux系统从无到有部署项目
  • Python爬虫第17节-动态渲染页面抓取之Selenium使用下篇
  • 使用Selenium和Python实现Web抓取指南
  • vscode按Ctrl+Shift+B无法编译no build to run found,没有catkin_make build怎么办
  • ESP32 搭建IDF+Vscode环境(详细教程)
  • 深度学习中的概念——元素积(哈达玛积)
  • C++学习:六个月从基础到就业——内存管理:堆与栈
  • RHCE的简单配置
  • 设计模式从入门到精通之(五)观察者模式
  • Meta一季度净利增长三成:上调全年资本支出,受关税影响亚洲出口电商广告支出减少
  • 人民日报钟声:国际社会应共同维护科学溯源的正确方向
  • 迎接八方来客:全国多地“五一”假期党政机关大院停车场免费开放
  • 特朗普加征关税冲击波:美国零售、汽车、航空、科技企业纷纷预警业绩波动
  • 徐徕任上海浦东新区副区长,此前已任区委常委
  • 君亭酒店:2024年营业收入约6.76亿元, “酒店行业传统增长模式面临巨大挑战”