|NO.Z.00241|——————————|^^ 部署 ^^|——|KuberNetes&存储进阶.V07|5台Server|——|Ceph.v01|rook.v1.5.11部署|
一、Rook介绍
### --- rook官方地址:
~~~ https://rook.io/docs/rook/v1.5/ceph-quickstart.html

二、ceph部署cluster.yaml配置文件修改说明
### --- ceph部署cluster.yaml配置文件修改说明
[root@k8s-master01 ceph]# vim cluster.yaml
storage: # cluster level storage configuration and selection
useAllNodes: false
useAllDevices: false
#deviceFilter:
config:
***********省略部分内容*****************
nodes:
- name: "k8s-master02"
devices:
- name: "sdb"
- name: "k8s-master03"
devices:
- name: "sdb"
- name: "k8s-node01"
devices:
- name: "sdb"
- name: "k8s-node02"
directories:
- path: "/data/ceph"
三、ceph部署环境注意事项
### --- ceph部署环境注意事项
~~~ 注意1:rook的版本大于1.3,不要使用目录创建集群,要使用单独的裸盘进行创建,也就是创建一个新的磁盘,挂载到宿主机,不进行格式化,直接使用即可。对于的磁盘节点配置如下:
~~~ 注意2:做这个实验需要高配置,每个节点配置不能低于2核4G
~~~ 注意3:k8s 1.19以上版本,快照功能需要单独安装snapshot控制器
一、下载rook版本包并修改配置文件
### --- 下载Rook安装文件:下载指定版本Rook,也可以参考视频中的步骤下载最新版
[root@k8s-master01 ~]# git clone --single-branch --branch v1.5.11 https://github.com/rook/rook.git
二、配置修改一:修改operator.yaml配置文件
### --- 切换到ceph的创建目录
[root@k8s-master01 ~]# cd rook/cluster/examples/kubernetes/ceph
### --- 修改operator文件配置,将gcr的镜像改为阿里云镜像仓库
[root@k8s-master01 ceph]# vim operator.yaml
# The default version of CSI supported by Rook will be started. To change the version
# of the CSI driver to something other than what is officially supported, change
# these images to the desired release of the CSI driver.
# ROOK_CSI_CEPH_IMAGE: "quay.io/cephcsi/cephcsi:v3.2.2"
# ROOK_CSI_REGISTRAR_IMAGE: "k8s.gcr.io/sig-storage/csi-node-driver-registrar:v2.0.1"
# ROOK_CSI_RESIZER_IMAGE: "k8s.gcr.io/sig-storage/csi-resizer:v1.0.1"
# ROOK_CSI_PROVISIONER_IMAGE: "k8s.gcr.io/sig-storage/csi-provisioner:v2.0.4"
# ROOK_CSI_SNAPSHOTTER_IMAGE: "k8s.gcr.io/sig-storage/csi-snapshotter:v3.0.2"
# ROOK_CSI_ATTACHER_IMAGE: "k8s.gcr.io/sig-storage/csi-attacher:v3.0.2"
# 修改配置一:
ROOK_CSI_REGISTRAR_IMAGE: "registry.cn-beijing.aliyuncs.com/dotbalo/csi-node-driver-registrar:v2.0.1"
ROOK_CSI_RESIZER_IMAGE: "registry.cn-beijing.aliyuncs.com/dotbalo/csi-resizer:v1.0.0"
ROOK_CSI_PROVISIONER_IMAGE: "registry.cn-beijing.aliyuncs.com/dotbalo/csi-provisioner:v2.0.0"
ROOK_CSI_SNAPSHOTTER_IMAGE: "registry.cn-beijing.aliyuncs.com/dotbalo/csi-snapshotter:v3.0.0"
ROOK_CSI_ATTACHER_IMAGE: "registry.cn-beijing.aliyuncs.com/dotbalo/csi-attacher:v3.0.0"
# 修改配置二:
- name: ROOK_ENABLE_DISCOVERY_DAEMON
value: "true"
### --- 注释
~~~ # 修改配置一:
~~~ 注:修改Rook CSI镜像地址,原本的地址可能是gcr的镜像,但是gcr的镜像无法被国内访问,所以需要同步gcr的镜像到阿里云镜像仓库,
~~~ 注:将上述内容更改为阿里云的镜像仓库地址
~~~ 注:如果是其他版本,需要自行同步,同步方法可以在网上找到相关文章。
~~~ # 修改配置二:
~~~ 注:还是operator文件,新版本rook默认关闭了自动发现容器的部署,可以找到ROOK_ENABLE_DISCOVERY_DAEMON改成true即可:
三、配置修改二:cluster.yaml配置文件
### --- 修改cluster.yaml文件配置
[root@k8s-node02 ceph]# pwd
/data/ceph
[root@k8s-master01 ceph]# vim cluster.yaml
# 修改一:
mon:
count: 1 # 注:当前实验环境,mountor的数量改为1,机器压力,减少资源占用率
allowMultiplePerNode: false
# 修改二:
storage: # cluster level storage configuration and selection
useAllNodes: false # 所有节点都是存储节点,在生产环境中,肯定不是这种环境,所以谢伟false
useAllDevices: false # 使用所有磁盘,生产环境肯定不可以,所以false
******************省略部分内容*******************
nodes:
- name: "k8s-master02"
devices:
- name: "sdb"
- name: "k8s-master03"
devices:
- name: "sdb"
- name: "k8s-node01"
devices:
- name: "sdb"
- name: "k8s-node02"
directories:
- path: "/data/ceph"
# 注:添加三个存储节点,和一个存储目录
### --- 修改cluster.yaml文件配置准备资源
~~~ # 准备工作一:
~~~ 注:为存储节点添加一块裸盘和k8s-node01创建存储目录
~~~ 注:环境准备说明:存储准备说明
~~~ 注:k8s-master0;k8s-node01;k8s-node02均作为存储节点:使用裸盘作为存储
~~~ # 准备工作二:
~~~ k8s-node02:此环境把node02作为ceph的存储节点:把/data/ceph作为存储挂载目录;作为存储
[root@k8s-master01 ~]# fdisk -l
Disk /dev/sdb: 107.4 GB, 107374182400 bytes, 209715200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
### --- cluster.yaml配置说明
~~~ dataDirHostPath: /var/lib/rook // 在每个节点启动可一个agent,这个是agent数据的保存目录;保持默认即可
~~~ 注释2:
count: 3 // monitor端前数量,此环境写3个;生产环境可以多起一点
~~~ 注释3:
dashboard: // ceph的管理界面
enabled: true
~~~ 注释4:
rulesNamespace: rook-ceph // namespace
~~~ 注释5:
~~~ # placement: // 节点亲和力配置
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了