|NO.Z.00236|——————————|^^ 部署 ^^|——|KuberNetes&存储进阶.V02|3台Server|——|Ceph.v01|rook.v1.5.11部署|

一、Rook介绍
### --- rook官方地址:

~~~     https://rook.io/docs/rook/v1.5/ceph-quickstart.html
### --- 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-master01"
      devices:
      - name: "sdb"
    - name: "k8s-node01"
      devices:
      - name: "sdb"
    - name: "k8s-node02"
      devices:
      - name: "sdb"
    - name: "k8s-node02"
      directories:
      - path: "/data/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-master01"
      devices:
      - name: "sdb"
    - name: "k8s-node01"
      devices:
      - name: "sdb"
    - name: "k8s-node02"
      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配置说明
~~~     注释1:
  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

 

 

posted on   yanqi_vip  阅读(39)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示