Ceph塊裝置結合k8s

2021-10-09 03:03:24 字數 2092 閱讀 4749

在k8s集群中安裝和配置ceph-csi。

(整體架構拓撲圖)

ceph-csi預設使用rbd核心模組,rbd核心模組不支援crush tunables_和rbd image功能。

ceph塊裝置預設使用rbd池,建立pool,用於k8s volume storage.

$ ceph osd pool create kubernetes     // 建rbd pool

$ rbd pool init kubernetes // 初始化

### 配置ceph-csi

## 安全設定

# 建立使用者

$eph auth get-or-create client.kubernetes mon 'profile rbd' osd 'profile rbd pool=kubernetes' mgr 'profile rbd pool=kubernetes'

## 生成ceph-csi配置對映

$ ceph mon dump

ceph-csi使用cephx授權書與ceph集群通訊

----------------------

$ cat

---apiversion: v1

kind: secret

metadata:

name: csi-rbd-secret

namespace: default

stringdata:

userid: kubernetes

userkey: aqd9o0fd6hqrchaat7fmaszxdut3nweqylnpmg==

eof##儲存

#####配置ceph-csi外掛程式

建立serviceaccount和clusterrole/clusterrolebinding物件

#####建立ceph-csi provisioner和node外掛程式

$ wget

$ wget

### 使用ceph塊裝置

一:建立storageclass

$ cat

---apiversion: storage.k8s.io/v1

kind: storageclass

metadata:

name: csi-rbd-sc

provisioner: rbd.csi.ceph.com

parameters:

clusterid: b9127830-b0cc-4e34-aa47-9d1a2e9949a8

pool: kubernetes

csi.storage.k8s.io/provisioner-secret-name: csi-rbd-secret

csi.storage.k8s.io/provisioner-secret-namespace: default

csi.storage.k8s.io/node-stage-secret-name: csi-rbd-secret

csi.storage.k8s.io/node-stage-secret-namespace: default

reclaimpolicy: delete

mountoptions:

- discard

eof二:建立persistentvolumeclaim

作用:抽象使用者請求的儲存資源,同pod資源關聯,provision乙個persistentvolume.

$ cat

---apiversion: v1

kind: persistentvolumeclaim

metadata:

name: raw-block-pvc

spec:

accessmodes:

- readwriteonce

volumemode: block

resources:

requests:

storage: 1gi

storageclassname: csi-rbd-sc

eof

K8s部署prometheus監控K8s細節

prometheus 一些配置檔案可以再github上找到。部署 root kube prometheus manifests 目錄下所有檔案 部署 root kube prometheus manifests setup 目錄下所有檔案 要注意的是自己要建立乙個工作空間 如果報錯執行下面語句 部署...

k8s 多租戶 k8s 基礎介紹

備註 1 每乙個pod裡執行著乙個特殊的容器 pause容器,其他容器都是業務容器,這些業務容器共享pause容器的網路棧和volume 邏輯卷 掛載卷。因此他們之間的通訊和資料交換更為高效。2 k8s設計了pod物件,將每個服務程序包裝到相應的pod中,使其成為pod中執行的乙個容器 contai...

k8s集群部署 docker部署k8s安裝篇

1 安裝docker 緊接著配置乙個穩定 stable 的倉庫 倉庫配置會儲存到 etc yum.repos.d docker ce.repo檔案中 yum config manager add repo 更新yum安裝的相關docke軟體包 安裝docker ce yum update y yum...