最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Rook部署全過程

 更新時間:2026年03月03日 09:36:22   作者:文靜小土豆  
文章詳細(xì)介紹了如何部署和管理Rook,包括準(zhǔn)備工作、安裝步驟、配置準(zhǔn)入控制器、創(chuàng)建集群、驗證集群、部署Ceph儀表板、塊存儲和共享文件系統(tǒng),以及清理和刪除環(huán)境

部署說明

官網(wǎng):https://rook.io/

  • K8S版本1.27.2
  • rook 版本1.11.9

安裝前準(zhǔn)備

  • 原始設(shè)備(無分區(qū)或格式化文件系統(tǒng))
  • 原始分區(qū)(無格式化文件系統(tǒng))
  • LVM 邏輯卷(無格式化文件系統(tǒng))
  • block模式下存儲類可用的持久卷

使用以下命令確認(rèn)分區(qū)或設(shè)備是否使用文件系統(tǒng)進(jìn)行格式化

$ lsblk -f
NAME               FSTYPE      LABEL UUID                                   MOUNTPOINT
vdb                                                                         
sr0                                                                         
sda                                                                         
├─sda2             LVM2_member       3QT28B-YeEw-xCUK-0eT2-uBkn-pPcb-2OhWba 
│ ├─rootvg-lv_swap swap              c16f275f-59a8-4093-89ba-3a79bbf0bb59   
│ └─rootvg-lv_root xfs               67894aea-4d9f-4c9d-96cf-348db01eb647   /
└─sda1             xfs               68873398-4b99-4079-b0cb-65d6b9b3b896   /boot
vda   

如果該FSTYPE字段不為空,則表示相應(yīng)設(shè)備上有一個文件系統(tǒng)

準(zhǔn)入控制器

建議啟用 Rook 準(zhǔn)入控制器,以提供額外級別的驗證,確保 Rook 已使用自定義資源 (CR) 設(shè)置正確配置。

準(zhǔn)入控制器會在對象持久化之前、請求經(jīng)過身份驗證和授權(quán)之后攔截對 Kubernetes API 服務(wù)器的請求。

要部署 Rook 準(zhǔn)入控制器

請在安裝 Rook 之前安裝證書管理器

kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.11.1/cert-manager.yaml

安裝LVM包

yum install -y lvm2

開始安裝

kubectl使用以下命令和示例清單

為 Kubernetes 創(chuàng)建一個簡單的 Rook 集群

$ git clone --single-branch --branch v1.11.9 https://github.com/rook/rook.git
cd rook/deploy/examples
kubectl create -f crds.yaml -f common.yaml -f operator.yaml

修改cluster.yaml配置

cd rook/deploy/examples
vim cluster.yaml
#     resources   生產(chǎn)環(huán)境盡量配置大一點,測試環(huán)境不用動。
#     useAllNodes: false   是否用所有節(jié)點      默認(rèn)用所有
#     useAllDevices: false   是否用所有設(shè)備    默認(rèn)用所有
#    nodes:    # 配置使用哪些硬盤做OSD
#      - name: "master01"
#        devices:
#          - name: "vda"
#          - name: "vdb"

修改完以后開始部署

kubectl create -f cluster.yaml

查看安裝日志

## 你的pod名字和我的不一樣
kubectl logs -n rook-ceph rook-ceph-operator-89d55f6b-k26xb -f

部署成功以后顯示如下

[root@master01 examples]# kubectl get po -n rook-ceph 
NAME                                                 READY   STATUS      RESTARTS   AGE
csi-cephfsplugin-2qct5                               2/2     Running     0          18m
csi-cephfsplugin-9xrfm                               2/2     Running     0          18m
csi-cephfsplugin-provisioner-7f7874c95d-5t6rq        5/5     Running     0          18m
csi-cephfsplugin-provisioner-7f7874c95d-8pwj2        5/5     Running     0          18m
csi-cephfsplugin-ztng5                               2/2     Running     0          18m
csi-rbdplugin-flmcp                                  2/2     Running     0          18m
csi-rbdplugin-mp986                                  2/2     Running     0          18m
csi-rbdplugin-provisioner-5fdf9c49b6-td2hj           5/5     Running     0          18m
csi-rbdplugin-provisioner-5fdf9c49b6-wvk8m           5/5     Running     0          18m
csi-rbdplugin-wvf6v                                  2/2     Running     0          18m
rook-ceph-crashcollector-master01-74469b9c96-7l62m   1/1     Running     0          15m
rook-ceph-crashcollector-master02-7bc857bd7c-d5wqb   1/1     Running     0          15m
rook-ceph-crashcollector-master03-7ff94fd7f8-vnkr5   1/1     Running     0          15m
rook-ceph-mgr-a-7c7664444c-chn79                     3/3     Running     0          17m
rook-ceph-mgr-b-86d4f654fb-nzxr4                     3/3     Running     0          17m
rook-ceph-mon-a-f5d45c975-6rqc6                      2/2     Running     0          18m
rook-ceph-operator-cb6cb456c-qt55t                   1/1     Running     0          20m
rook-ceph-osd-0-64d78fffbf-phbjk                     2/2     Running     0          15m
rook-ceph-osd-1-87b66886f-pbnb7                      2/2     Running     0          15m
rook-ceph-osd-2-7546c786f5-6p8pz                     2/2     Running     0          15m
rook-ceph-osd-3-57bfff6657-frgx6                     2/2     Running     0          15m
rook-ceph-osd-4-69864d744d-zjqgq                     2/2     Running     0          15m
rook-ceph-osd-5-74f46b6cd7-zwfgv                     2/2     Running     0          15m
rook-ceph-osd-prepare-master01-rrg5z                 0/1     Completed   0          8m48s
rook-ceph-osd-prepare-master02-jmzjc                 0/1     Completed   0          8m44s
rook-ceph-osd-prepare-master03-26d6m                 0/1     Completed   0          8m39s

驗證集群是否可用

# 部署工具箱
kubectl create -f deploy/examples/toolbox.yaml

# 等待工具箱 Pod 下載其容器并進(jìn)入以下running狀態(tài)
kubectl -n rook-ceph rollout status deploy/rook-ceph-tools

# rook-ceph-tools pod 運行后,您可以使用以下命令連接到它
kubectl -n rook-ceph exec -it deploy/rook-ceph-tools -- bash

工具箱中的所有可用工具均已準(zhǔn)備好滿足您的故障排除需求。

示例:

  • ceph status
  • ceph osd status
  • ceph df
  • rados df

使用完工具箱后,您可以刪除部署

kubectl -n rook-ceph delete deploy/rook-ceph-tools

或者直接敲命令也可以驗證ceph集群是否可用

[root@master01 ~]# kubectl get CephCluster -n rook-ceph 
NAME        DATADIRHOSTPATH   MONCOUNT   AGE   PHASE   MESSAGE                        HEALTH      EXTERNAL   FSID
rook-ceph   /data/rook        3          200d   Ready   Cluster created successfully   HEALTH_OK              ac9b64f0-c26c-424e-8efe-fd561fbe0379

部署 Ceph 儀表板

下面幾種方式任選一種

kubectl create -f deploy/examples/dashboard-ingress-https.yaml
kubectl create -f deploy/examples/dashboard-loadbalancer.yaml
kubectl create -f deploy/examples/dashboard-external-http.yaml

賬號密碼

# 默認(rèn)賬號:admin
# 密碼通過下面的命令獲取
kubectl -n rook-ceph get secret rook-ceph-dashboard-password -o jsonpath="{['data']['password']}" | base64 --decode && echo

部署塊存儲(RBD)

注意修改pvc回收方式

kubectl create -f rook/deploy/examples/csi/rbd/storageclass.yaml

部署共享文件系統(tǒng)(CephFS)

kubectl create -f rook/deploy/examples/filesystem.yaml
kubectl create -f rook/deploy/examples/csi/cephfs/storageclass.yaml

在K8S集群查看sc動態(tài)存儲

[root@master01 examples]# kubectl get sc
NAME                  PROVISIONER                     RECLAIMPOLICY   VOLUMEBINDINGMODE   ALLOWVOLUMEEXPANSION   AGE
rook-ceph-rbd         rook-ceph.rbd.csi.ceph.com      Retain          Immediate           true                   150m
rook-cephfs           rook-ceph.cephfs.csi.ceph.com   Retain          Immediate           true                   7m39s
[root@master01 examples]#

清理CEPH環(huán)境

刪除塊和文件工件

cd rook/deploy/examples
kubectl delete -f ../wordpress.yaml
kubectl delete -f ../mysql.yaml
kubectl delete -n rook-ceph cephblockpool replicapool
kubectl delete storageclass rook-ceph-block
kubectl delete -f csi/cephfs/kube-registry.yaml
kubectl delete storageclass csi-cephfs

刪除存儲環(huán)境

kubectl delete -f cluster.yaml
kubectl delete -f crds.yaml -f common.yaml -f operator.yaml

刪除K8S資源的時候如果卡到Termination這個狀態(tài)

kubectl -n rook-ceph patch configmap rook-ceph-mon-endpoints --type merge -p '{"metadata":{"finalizers": []}}'
kubectl -n rook-ceph patch secrets rook-ceph-mon --type merge -p '{"metadata":{"finalizers": []}}'

刪除所有節(jié)點配置文件

rm -rf /var/lib/rook/rook-ceph

重置所有存儲節(jié)點的磁盤

DISK="/dev/sdX"

# Zap the disk to a fresh, usable state (zap-all is important, b/c MBR has to be clean)
sgdisk --zap-all $DISK

# Wipe a large portion of the beginning of the disk to remove more LVM metadata that may be present
dd if=/dev/zero of="$DISK" bs=1M count=100 oflag=direct,dsync

# SSDs may be better cleaned with blkdiscard instead of dd
blkdiscard $DISK

# Inform the OS of partition table changes
partprobe $DISK

Ceph 可以留下可以鎖定磁盤的 LVM 和設(shè)備映射器數(shù)據(jù),從而防止磁盤再次被使用。

這些步驟有助于釋放舊的 Ceph 磁盤以供重復(fù)使用。

請注意,這只需要在每個節(jié)點上運行一次。如果您只有一個Rook 集群并且所有Ceph 磁盤都將被擦除,請運行以下命令。

# This command hangs on some systems: with caution, 'dmsetup remove_all --force' can be used
ls /dev/mapper/ceph-* | xargs -I% -- dmsetup remove %

# ceph-volume setup can leave ceph-<UUID> directories in /dev and /dev/mapper (unnecessary clutter)
rm -rf /dev/ceph-*
rm -rf /dev/mapper/ceph--*

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • k8s1.20二進(jìn)制安裝實踐

    k8s1.20二進(jìn)制安裝實踐

    這篇文章詳細(xì)介紹了如何在CentOS?7.9上部署Kubernetes?1.20.0集群,包括系統(tǒng)環(huán)境配置、基本組件安裝、證書生成、Kubernetes組件配置、高可用配置、Node節(jié)點配置、安裝Calico、CoreDNS、MetricsServer以及集群驗證等步驟
    2026-03-03
  • Kubernetes有狀態(tài)應(yīng)用管理StatefulSet使用詳解

    Kubernetes有狀態(tài)應(yīng)用管理StatefulSet使用詳解

    這篇文章主要為大家介紹了Kubernetes有狀態(tài)應(yīng)用管理StatefulSet使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • 關(guān)于NetworkPolicy工作原理解讀

    關(guān)于NetworkPolicy工作原理解讀

    NetworkPolicy是Kubernetes中用于控制Pod間網(wǎng)絡(luò)流量的資源對象,依賴于支持NetworkPolicy的CNI插件來實現(xiàn)流量控制,它通過定義入口和出口規(guī)則來允許或拒絕Pod間的通信,實現(xiàn)網(wǎng)絡(luò)微分段,保障集群網(wǎng)絡(luò)安全,NetworkPolicy遵循“默認(rèn)拒絕,顯式允許”的原則
    2025-10-10
  • k8s無法刪除pv,pvc的問題及解決

    k8s無法刪除pv,pvc的問題及解決

    在Kubernetes中刪除PVC時,若未指定名稱或使用錯誤參數(shù),會報錯"no name was specified",解決方法為:使用`kubectl delete pvc <pvc-name>`明確指定PVC名稱,或通過`kubectl delete pvc --all`刪除所有PVC,同時確保正確指定命名空間(-n)
    2025-09-09
  • K8S中設(shè)置JVM堆棧大小實現(xiàn)方式

    K8S中設(shè)置JVM堆棧大小實現(xiàn)方式

    這篇文章主要介紹了K8S中設(shè)置JVM堆棧大小實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-07-07
  • k8s擴(kuò)展調(diào)度能力的三種實現(xiàn)方式

    k8s擴(kuò)展調(diào)度能力的三種實現(xiàn)方式

    Kubernetes調(diào)度器擴(kuò)展主要通過調(diào)度框架和調(diào)度器擴(kuò)展器實現(xiàn),調(diào)度框架提供多種插件接口,如QueueSort、Filter、Score等,允許擴(kuò)展調(diào)度邏輯,調(diào)度器擴(kuò)展器通過HTTP服務(wù)擴(kuò)展調(diào)度功能,支持Filter、Prioritize等擴(kuò)展點
    2025-10-10
  • 詳解Kubernetes 中容器跨主機(jī)網(wǎng)絡(luò)

    詳解Kubernetes 中容器跨主機(jī)網(wǎng)絡(luò)

    這篇文章主要為大家介紹了Kubernetes中容器跨主機(jī)網(wǎng)絡(luò)是怎么樣的,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • K8S部署Kafka界面管理工具(kafkamanager)方法詳解

    K8S部署Kafka界面管理工具(kafkamanager)方法詳解

    這篇文章主要介紹了K8S部署Kafka界面管理工具(kafkamanager)方法詳解,需要的朋友可以參考下
    2022-01-01
  • k8s配置文件用法詳解

    k8s配置文件用法詳解

    文章主要介紹了Kubernetes中的命名空間、資源操作、Deployment、Service、Ingress、Secret、PersistentVolumeClaim、StatefulSet等核心概念和配置文件的使用方法
    2025-10-10
  • 新版k8s拉取鏡像失敗問題解決辦法

    新版k8s拉取鏡像失敗問題解決辦法

    隨著Kubernetes?1.23版本的發(fā)布,Docker作為默認(rèn)容器運行時被棄用,轉(zhuǎn)而默認(rèn)采用Containerd,這一改變意味著用戶在使用Kubernetes時,將不再通過Docker來拉取鏡像,文中jiang,需要的朋友可以參考下
    2024-10-10

最新評論

龙江县| 长垣县| 津市市| 岢岚县| 邵阳县| 奎屯市| 南溪县| 依安县| 西畴县| 许昌市| 琼中| 永安市| 商南县| 高陵县| 同江市| 阜宁县| 保靖县| 民乐县| 天祝| 太和县| 钦州市| 宜兰县| 鄂托克前旗| 荃湾区| 时尚| 和龙市| 乌兰县| 汾阳市| 城市| 太康县| 漳浦县| 东丰县| 香河县| 尖扎县| 射洪县| 枞阳县| 澎湖县| 桐梓县| 阿拉善右旗| 闵行区| 建水县|