k8s集群中的儲存持久化概述

2021-09-27 05:12:17 字數 1869 閱讀 2845

儲存分類:

直連式儲存,集中式共享儲存,分布式儲存

檔案儲存,塊儲存,物件儲存

das,nas,san

das屬於直連式儲存,將儲存裝置通過scsi介面或者光纖通道直接和主機板連線,不能實現資料共享

nas和san屬於集中式共享儲存

nas使用nfs和cifs(原來叫smb,微軟的)協議

san分為fc san和ip san

ip san使用iscsi技術

nfs實現linux之間共享,smaba基於cifs協議,實現linux和windows之間檔案共享

ceph屬於分布式共享系統

k8s集群中支援的持久儲存主要包括:

1、node節點儲存

又分為:隨機卷emptydir和固定卷hostpath

2、集中式儲存nfs

3、分布式儲存ceph

4、特殊卷configmap和secret

建立pod時,欄位volumes支援的儲存型別主要包括:

$ kubectl explain pod.spec.volumes

cephfs

cinder

configmap

emptydir

glusterfs

hostpath

iscsi

nfspersistentvolumeclaim

rbdsecret

建立pod或控制器時,可以直接使用某個後端儲存(如nfs)作為其volumes

也可以使用pvc作為其後端volumes,pvc和上面的nfs等是平級關係

使用pvc作為其後端volumes時,訪問順序是pvc---pv---後端儲存

建立使用隨機卷emptydir的pod

apiversion: v1

kind: pod

metadata:

labels:

run: nginx

name: podxx

spec:

volumes:

- name: vol1

emptydir: {} #使用節點目錄,並且隨機

containers:

- image: nginx

name: nginx

volumemounts:

- mountpath: /xx #在容器內部掛載的目錄

name: vol1

- image: busybox

name: busybox

command: ['sh','-c','sleep 5000']

volumemounts:

- mountpath: /yy

name: vol1

建立使用固定卷的pod

apiversion: v1

kind: pod

metadata:

labels:

run: nginx

name: podxx

spec:

volumes:

- name: vol1

hostpath:

path: /aa #自動在pod所在的節點上建立

containers:

- image: nginx

name: nginx

volumemounts:

- mountpath: /xx

name: vol1

- image: busybox

name: busybox

command: ['sh','-c','sleep 5000']

volumemounts:

- mountpath: /yy

k8s 資料持久化儲存

pod重啟,資料依然存在 1 找一台伺服器作為nfs服務端 1 安裝nfs yum install y nfs utils 2 設定掛載路徑 vi etc exports data nfs rw,no root squash 3 設定的掛載路徑首先保證有這個路徑,沒有則建立 mkdir data m...

k8s持久化儲存PV PVC部署

安裝nfs utils rpcbindyum install nfs utils rpcbind nfs utils所有節點都需要安裝 啟動systemctl restart rpcbind nfs編輯共享配置檔案 在主機節點編輯 vim etc exports寫入 mnt share rw 如果沒...

K8S持久化儲存PV PVC筆記

kubernetes 使用persistent volume和persistent volume claim 兩種api資源來管理儲存。可以通過兩種方式配置pv 靜態或動態。關於persistentvolume的訪問方式 在cli 命令列介面 中,訪問模式縮寫為 特別注意 卷只能一次使用一種訪問模式...