1. 程式人生 > 其它 >|NO.Z.00236|——————————|^^ 部署 ^^|——|KuberNetes&儲存進階.V02|3臺Server|--------------------------------------------|Ceph.v01|rook.v1.5.11部署|

|NO.Z.00236|——————————|^^ 部署 ^^|——|KuberNetes&儲存進階.V02|3臺Server|--------------------------------------------|Ceph.v01|rook.v1.5.11部署|



[CloudNative:KuberNetes&儲存進階.V02]                                                               [Applications.KuberNetes] [|DevOps|k8s|雲原生儲存及儲存進階|**3節點.上**|Rook.1.5.11安裝|安裝ceph叢集|]








一、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:                       // 節點親和力配置








===============================END===============================


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



來自為知筆記(Wiz)