kubernetes下rook-ceph部署


利用helm部署

https://rook.io/docs/rook/v1.1/helm-operator.html

git clone https://github.com/rook/rook.git
# 查看版本。然后切換分支。切換分支之后按照官方文檔的方式進行部署
git checkout release-1.1

k8s三個節點:
每個節點都加載一塊無格式化的硬盤,因為使用官方的部署方式,不自己進行修改cluster.yaml的參數的話,會自動掃描磁盤。上生產環境的時候,需要自己指定磁盤類型

# 案例介紹
# 其中bluestore是直接使用裸磁盤的意思,會加打磁盤的效率
# filestore
nodes:
- name: "master001"
  devices:
  - name: "sdb"
  - name: "sdc"
  config:
    storeType: bluestore
- name: "master002"
  devices:
  - name: "sdb"
  - name: "sdc"
  config:
    storeType: bluestore
- name: "master003"
  devices:
  - name: "sdb"
  - name: "sdc"
  config:
    storeType: bluestore

以下直接摘抄官網的

Ceph Storage快速入門

本指南將引導您完成Ceph集群的基本設置,並使您能夠使用集群中運行的其他Pod的塊,對象和文件存儲。

最低版本

Rook支持Kubernetes v1.10或更高版本。

先決條件

如果您要dataDirHostPath在kubernetes主機上持久保留rook數據,請確保您的主機在指定路徑上至少有5GB的可用空間。

如果您感到幸運,可以使用以下kubectl命令和示例yaml文件創建一個簡單的Rook集群。有關更詳細的安裝,請跳至下一部分以部署Rook運算符。

cd cluster/examples/kubernetes/ceph
kubectl create -f common.yaml
kubectl create -f operator.yaml
# cluster測試就使用下面的yaml
kubectl create -f cluster-test.yaml
# 正式環境使用
kubectl create -f cluster.yaml

集群運行后,您可以創建塊,對象或文件存儲,以供集群中的其他應用程序使用。

分割線
到達此步驟已經可以見到基本情況,並且使用toolbox進行查看

分割線,以下摘抄官網
官方文檔

Rook工具箱是一個容器,其中包含用於rook調試和測試的常用工具。該工具箱基於CentOS,因此可以使用輕松安裝更多選擇的工具yum

Kubernetes中運行工具箱

Rook工具箱可以作為Kubernetes集群中的部署運行。確保已部署rookKubernetes集群正在運行時(請參閱Kubernetes說明),啟動rook-ceph-tools pod

將工具規范另存為toolbox.yaml

略,請點擊鏈接查看

啟動rook-ceph-tools pod

kubectl create -f toolbox.yaml

等待工具箱窗格下載其容器並進入 running 狀態:

kubectl -n rook-ceph get pod -l "app=rook-ceph-tools"

rook-ceph-tools pod運行后,您可以使用以下命令連接到它:

kubectl -n rook-ceph exec -it $(kubectl -n rook-ceph get pod -l "app=rook-ceph-tools" -o jsonpath='{.items[0].metadata.name}') bash

工具箱中的所有可用工具均已准備就緒,可滿足您的故障排除需求。例:

ceph status
ceph osd status
ceph df
rados df

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

kubectl -n rook-ceph delete deployment rook-ceph-tools

網頁請求

進入到cluster

cd cluster/examples/kubernetes/ceph
kubectl apply -f dashboard-external-https.yaml
# 查看端口號。也可以自定義好端口號
kubectl get svc -n rook-ceph | grep rook-ceph-mgr-dashboard-external-https

然后使用火狐瀏覽器進行打開。使用其他瀏覽器還需要自行配置
https://10.10.10.5:32231

# 獲取密碼
kubectl -n rook-ceph get secret rook-ceph-dashboard-password -o yaml | grep "password:" | awk '{print $2}' | base64 --decode

默認存儲地方

cat cluster.yaml

可以看到 dataDirHostPath: /var/lib/rook 字段還有spec.storage.directories.path也需要修改成一樣的
可以根據自己的需求進行修改

測試

搭建一個wordpress

cd cluster/examples/kubernetes
# 創建storageclass
ceph/csi/rbd/storageclass.yaml
kubectl apply -f mysql.yaml
# 請記住修改service為nodeport。
kubectl apply -f wordpress.yaml

參考文檔: https://kubernetes.hankbook.cn/practice/rook/ceph/deployment.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM