基于kubesphere的k8s环境部署单点版本的rook-ceph

news/2024/10/19 21:34:30/

文章目录

  • 前言
  • 一、rook-ceph是什么?
  • 二、开始部署
    • 1.环境准备
    • 2.软件包准备
    • 3.下载rook-ceph文件
    • 4. 部署operator
    • 5.创建ceph集群
    • 6.创建工具容器,检查集群状态
    • 7.准备dashboard的nodeport端口映射服务
    • 8.准备prometheus的metric端口映射服务
  • 总结


前言

基于kubesphere的k8s环境部署单点版本的rook-ceph,实验性质大于使用性质,不推荐在物理资源有限的情况下使用。


一、rook-ceph是什么?

Rook is an open source cloud-native storage orchestrator, providing the platform, framework, and support for Ceph storage to natively integrate with cloud-native environments.
Rook是一个开源的云原生存储编排器,为Ceph存储提供平台、框架和支持,以便与云原生环境进行本地集成。

二、开始部署

1.环境准备

虚拟机一台

  • 镜像类型:CentOS-7-x86_64-Minimal-2009.iso
  • k8s环境:v1.23.6
  • ceph将使用的磁盘:vda(30G)、vdb(30G)、vdc(30G)

k8s的部署: 在centos7.9上以 All-in-One 模式安装 KubeSphere

2.软件包准备

安装软件包,加载rbd模块

#软件包装备
yum install -y git lvm2 gdisk
#内核加载rbd模块
modprobe rbd
lsmod | grep rbd

备注:删除残留数据,如果部署失败,一定清理下数据,不清理的话会影响下一次的部署

删除配置文件目录
rm -rf /var/lib/rook/
格式化磁盘
gdisk --zap-all /dev/vda
gdisk --zap-all /dev/vdb
gdisk --zap-all /dev/vdc
dd if=/dev/zero of=/dev/vda  bs=1M count=100 oflag=direct,dsync
dd if=/dev/zero of=/dev/vdb  bs=1M count=100 oflag=direct,dsync
dd if=/dev/zero of=/dev/vdc  bs=1M count=100 oflag=direct,dsync

3.下载rook-ceph文件

下载文件并提取核心文件到自己的部署文件夹

cd /tmp/
git clone --single-branch --branch v1.11.6 https://github.com/rook/rook.git
mkdir -p /data/rook-ceph/
cp /tmp/rook/deploy/examples/crds.yaml /data/rook-ceph/crds.yaml
cp /tmp/rook/deploy/examples/common.yaml /data/rook-ceph/common.yaml
cp /tmp/rook/deploy/examples/operator.yaml /data/rook-ceph/operator.yaml
cp /tmp/rook/deploy/examples/cluster-test.yaml /data/rook-ceph/cluster-test.yaml
cp /tmp/rook/deploy/examples/filesystem.yaml /data/rook-ceph/filesystem.yaml
cp /tmp/rook/deploy/examples/toolbox.yaml /data/rook-ceph/toolbox.yaml
cp /tmp/rook/deploy/examples/csi/rbd/storageclass.yaml /data/rook-ceph/storageclass-rbd.yaml
cp /tmp/rook/deploy/examples/csi/cephfs/storageclass.yaml /data/rook-ceph/storageclass-cephfs.yaml
cp /tmp/rook/deploy/examples/csi/nfs/storageclass.yaml /data/rook-ceph/storageclass-nfs.yaml

4. 部署operator

修改镜像仓库信息,operator.yaml中镜像仓库修改为阿里云的镜像仓库配置

ROOK_CSI_CEPH_IMAGE: "quay.io/cephcsi/cephcsi:v3.8.0"
ROOK_CSI_REGISTRAR_IMAGE: "registry.cn-hangzhou.aliyuncs.com/google_containers/csi-node-driver-registrar:v2.7.0"
ROOK_CSI_RESIZER_IMAGE: "registry.cn-hangzhou.aliyuncs.com/google_containers/csi-resizer:v1.7.0"
ROOK_CSI_PROVISIONER_IMAGE: "registry.cn-hangzhou.aliyuncs.com/google_containers/csi-provisioner:v3.4.0"
ROOK_CSI_SNAPSHOTTER_IMAGE: "registry.cn-hangzhou.aliyuncs.com/google_containers/csi-snapshotter:v6.2.1"
ROOK_CSI_ATTACHER_IMAGE: "registry.cn-hangzhou.aliyuncs.com/google_containers/csi-attacher:v4.1.0"

执行部署

# 开始部署
cd /data/rook-ceph
kubectl create -f crds.yaml
kubectl create -f common.yaml
kubectl create -f operator.yaml
# 检查operator的创建运行状态
kubectl -n rook-ceph get pod
# 输出
NAME                                 READY   STATUS    RESTARTS   AGE
rook-ceph-operator-xxxxx-xxxxx   1/1     Running   0          4m9s

5.创建ceph集群

执行部署cluster-test.yaml

kubectl create -f cluster-test.yaml
# 会部署一段时间
kubectl -n rook-ceph get pod
# 查看部署结果,当全部为Running之后部署工具容器进行集群确认

6.创建工具容器,检查集群状态

# 创建工具容器
kubectl apply -f toolbox.yaml
# 进入工具容器
kubectl -n rook-ceph exec -it deploy/rook-ceph-tools -- bash
# 查看集群状态
bash-4.4$ ceph -s cluster:id:     ec2162d1-cab0-402d-ba04-f0f3f6cfb95dhealth: HEALTH_OKservices:mon: 1 daemons, quorum a (age 11m)mgr: a(active, since 10m)osd: 3 osds: 3 up (since 10m), 3 in (since 10m)data:pools:   1 pools, 32 pgsobjects: 2 objects, 463 KiBusage:   60 MiB used, 90 GiB / 90 GiB availpgs:     32 active+clean

7.准备dashboard的nodeport端口映射服务

备注:这里使用7000端口是因为cluster-test.yaml中dashboard没有做特殊的配置,所以使用默认的mgr的7000端口

cat > /data/rook-ceph/dashboard-external-https.yaml <<EOF
apiVersion: v1
kind: Service
metadata:name: rook-ceph-mgr-dashboard-external-httpsnamespace: rook-cephlabels:app: rook-ceph-mgrrook_cluster: rook-ceph
spec:ports:- name: dashboardport: 7000protocol: TCPtargetPort: 7000nodePort: 30808selector:app: rook-ceph-mgrrook_cluster: rook-cephsessionAffinity: Nonetype: NodePort
EOF# 这里的nodeport端口建议更换为适合自己环境规划的端口
kubectl apply -f dashboard-external-https.yaml
# 输出
service/rook-ceph-mgr-dashboard-external-https created
# 获取admin用户密码
kubectl -n rook-ceph get secret rook-ceph-dashboard-password -o jsonpath="{['data']['password']}" | base64 --decode && echo

使用浏览器访问端口192.168.XXX.XX:30808,使用admin用户登陆,登陆后可以修改密码,也可以新建用户
在这里插入图片描述
成功登陆
在这里插入图片描述

8.准备prometheus的metric端口映射服务

cat > /data/rook-ceph/metric-external-https.yaml <<EOF
apiVersion: v1
kind: Service
metadata:name: rook-ceph-mgr-metric-external-httpsnamespace: rook-cephlabels:app: rook-ceph-mgrrook_cluster: rook-ceph
spec:ports:- name: metricport: 9283protocol: TCPtargetPort: 9283nodePort: 30809selector:app: rook-ceph-mgrrook_cluster: rook-cephsessionAffinity: Nonetype: NodePort
EOF# 这里的nodeport端口建议更换为适合自己环境规划的端口
kubectl apply -f metric-external-https.yaml
# 输出
service/rook-ceph-mgr-metric-external-https created

使用浏览器访问端口192.168.XXX.XX:30809
在这里插入图片描述


总结

还是开头提到的,实验性质大于使用性质。没啥其他的。实验的东西用来提供服务肯定会是一个大坑。


http://www.ppmy.cn/news/227988.html

相关文章

Macbook pro 14 一直无法用蓝牙连上罗技鼠标

这里写自定义目录标题 Macbook pro 14 一直无法用蓝牙连上罗技鼠标解决办法 Macbook pro 14 一直无法用蓝牙连上罗技鼠标 按照罗技鼠标教程&#xff0c; 一直连接不上罗技鼠标&#xff0c; 显示跳掉&#xff0c; 但是windows可以使用&#xff1b; 解决办法 左上角 —>系统…

罗技M590蓝牙鼠标失灵无法连接

winr打开运行对话框 输入devmgmt.msc打开设备管理器 展开人体学输入设备 双击符合蓝牙低能耗GATT的HID设备 点击驱动程序 点击更新驱动程序 点击浏览我的计算机以查找驱动程序软件 点击让我从计算机的可用驱动程序列表中选取 点击同名设备 点击下一步进行安装 成功后即解决符合…

关于罗技M590鼠标蓝牙断线问题的解决方案

第一次写CSDN的博客不是因为技术求助&#xff0c;也不是技术分享&#xff0c;居然是因为一个鼠标&#xff01;&#xff01;&#xff01;&#xff01; 话不多说直接进入正题&#xff01; 问题&#xff1a;罗技M590鼠标使用蓝牙连接使用时&#xff0c;总是莫名其妙的断线重连。如…

【企业化部署】Tomcat部署及优化

文章目录 前言一、Tomcat 的概念1. Tomcat 核心组件1.1 什么是 servlet1.2 什么是 JSP 2. Tomcat 功能组件结构2.1 Container 结构分析 3. Tomcat 请求过程4. 配置文件4.1 安装目录4.2 conf 子目录 二、Tomcat 服务部署1. 下载并安装 JDK1.1 关闭防火墙&#xff0c;将安装 Tomc…

Surface系列

Surface系列的发展历史对于熟悉微软的朋友们来说应该是耳熟能详的&#xff0c;经历了前两代产品的迷茫和失败&#xff0c;从第三代产品开始才得到市场的认可而取得成功&#xff0c;随后不断发展壮大&#xff0c;除了一直保有的Surface Pro系列二合一电脑之外&#xff0c;还发展…

微软笔记本 Surface Pro 键盘失灵组合键重启的方法(原理不详)

现象 微软笔记本 Surface Pro 键盘失灵&#xff0c;触摸板失灵&#xff0c;电源键可以正常使用。 操作步骤 1、长按电源鍵&#xff0c;持续按住直至电脑强制关机。 2、长按音量键和电源键15秒以上&#xff0c;中间别管屏幕上显示什么&#xff0c;可能出现系统信息&#xff…

Surface Book

不久前&#xff0c;微软刚刚发布了自己的笔记本产品线&#xff0c;Surface Book. 这是一款混合型设备&#xff0c;屏幕可以单独拆下来当作clipboard使用。此产品在美国本土刚一开始订购&#xff0c;顶配版就脱销了。看来高端PC市场的确比较饥渴难耐。刚看完发布会我心也是长草。…

真空热压烧结炉JZM-1200技术参数一览表

真空热压烧结炉是将真空、气氛、热压成型、高温烧结结合在一起设备&#xff0c;适用于粉末冶金、功能陶瓷等新材料的高温热成型。如应用于透明陶瓷、工业陶瓷等金属以及由难容金属组成的合金材料的真空烧结以及陶瓷材料碳化硅和氮化硅的高温烧结&#xff0c;也可用于粉末和压坯…