Kubernetes(k8s)Volumes-PV&PVC

PersistentVolume(簡(jiǎn)稱PV)是由管理員設(shè)置的存儲(chǔ)邦邦,它同樣是集群中的一類資源,PV是容量插件鬼店,如Volumes(卷)黔龟,但其生命周期獨(dú)立使用PV的任何Pod,PV的創(chuàng)建可使用NFS巍棱、iSCSI蛋欣、GFS、CEPH等陷虎。
PersistentVolumeClaim(簡(jiǎn)稱PVC)是用戶對(duì)存儲(chǔ)的請(qǐng)求,類似于Pod窝稿,Pod消耗節(jié)點(diǎn)資源凿掂,PVC消耗PV資源,Pod可以請(qǐng)求特定級(jí)別的資源(CPU和內(nèi)存)潮梯,PVC可以請(qǐng)求特定的大小和訪問(wèn)模式惨恭。例如耙旦,可以以一次讀/寫(xiě)或只讀多次的模式掛載萝究。
雖然PVC允許用戶使用抽象存儲(chǔ)資源锉罐,但是用戶可能需要具有不同性質(zhì)的PV來(lái)解決不同的問(wèn)題,比如使用SSD硬盤(pán)來(lái)提高性能栽连。所以集群管理員需要能夠提供各種PV侨舆,而不僅是大小和訪問(wèn)模式,并且無(wú)須讓用戶了解這些卷的實(shí)現(xiàn)方式熔恢,對(duì)于這些需求可以使用StorageClass資源實(shí)現(xiàn)臭笆。
目前PV的提供方式有兩種:靜態(tài)或動(dòng)態(tài)。
靜態(tài)PV由管理員提前創(chuàng)建愁铺,動(dòng)態(tài)PV無(wú)需提前創(chuàng)建,只需指定PVC的StorageClasse即可衅谷。

PV的回收策略

當(dāng)用戶使用完卷時(shí)似将,可以從API中刪除PVC對(duì)象,從而允許回收資源玷氏∫干啵回收策略會(huì)告訴PV如何處理該卷,目前卷可以保留赞辩、回收或刪除授艰。
? Retain:保留,該策略允許手動(dòng)回收資源淮腾,當(dāng)刪除PVC時(shí),PV仍然存在洲押,volume被視為已釋放,管理員可以手動(dòng)回收卷体箕。
? Recycle:回收挑童,如果volume插件支持,Recycle策略會(huì)對(duì)卷執(zhí)行rm -rf清理該P(yáng)V争群,并使其可用于下一個(gè)新的PVC大年,但是本策略已棄用,建議使用動(dòng)態(tài)配置翔试。
? Delete:刪除垦缅,如果volume插件支持,刪除PVC時(shí)會(huì)同時(shí)刪除PV壁涎,動(dòng)態(tài)卷默認(rèn)為Delete。

PV的訪問(wèn)策略

ReadWriteOnce:可以被單節(jié)點(diǎn)以讀寫(xiě)模式掛載嚼酝,命令行中可以被縮寫(xiě)為RWO竟坛。
ReadOnlyMany:可以被多個(gè)節(jié)點(diǎn)以只讀模式掛載,命令行中可以被縮寫(xiě)為ROX担汤。
ReadWriteMany:可以被多個(gè)節(jié)點(diǎn)以讀寫(xiě)模式掛載,命令行中可以被縮寫(xiě)為RWX隅很。

NFS安裝配置

NFS服務(wù)器安裝服務(wù)端: yum install nfs* rpcbind -y
所有K8s節(jié)點(diǎn)安裝NFS客戶端:yum install nfs-utils -y
NFS服務(wù)端:mkdir /data/k8s -p
NFS服務(wù)器創(chuàng)建共享目錄:vim /etc/exports
/data/k8s/ *(rw,sync,no_subtree_check,no_root_squash)
exportfs -r
systemctl restart nfs rpcbind
掛載測(cè)試:mount -t nfs nfs-serverIP:/data/k8s /mnt/

一驾荣、創(chuàng)建PV

1)基于NFS創(chuàng)建

apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv-nfs
spec:
  capacity:                                                      # 容量配置
    storage: 5Gi
  volumeMode: Filesystem                            # 卷的模式,目前支持Filesystem(文件系統(tǒng)) 和 Block(塊)审编,其中Block類型需要后端存儲(chǔ)支持歧匈,默認(rèn)為文件系統(tǒng)
  accessModes:                                             # PV的訪問(wèn)模式
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Recycle   # 回收策略
  storageClassName: nfs-slow                      # PV的類,一個(gè)特定類型的PV只能綁定到特定類別的PVC
  nfs:                                                              # NFS服務(wù)配置
    path: /data/k8s
    server: 172.17.0.2

2)基于hostPath創(chuàng)建

kind: PersistentVolume
apiVersion: v1
metadata:
  name: task-pv-volume
  labels:
    type: local
spec:
  storageClassName: hostpath
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/mnt/data"

3)基于CephRBD創(chuàng)建

apiVersion: v1
kind: PersistentVolume
metadata:
  name: ceph-rbd-pv
spec:
  capacity:
    storage: 1Gi
  storageClassName: ceph-fast
  accessModes:
    - ReadWriteOnce
  rbd:
    monitors:                                        # Ceph的monitor節(jié)點(diǎn)的IP
      - 192.168.1.123:6789
      - 192.168.1.124:6789
      - 192.168.1.125:6789
    pool: rbd                                         # 所用Ceph Pool的名稱勘究,可以使用ceph osd pool ls查看
    image: ceph-rbd-pv-test                 # Ceph塊設(shè)備中的磁盤(pán)映像文件口糕,可以使用rbd create POOL_NAME/IMAGE_NAME --size 1024創(chuàng)建景描,使用rbd list POOL_NAME查看
    user: admin                                    # Rados的用戶名秀撇,默認(rèn)是admin
    secretRef:                                      # 用于驗(yàn)證Ceph身份的密鑰
      name: ceph-secret
    fsType: ext4                                   # 文件類型,可以是ext4棠绘、XFS等
    readOnly: false                              # 是否是只讀掛載

二再扭、創(chuàng)建PVC

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: task-pvc-claim
spec:
  storageClassName: nfs-slow
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 3Gi

三、pod使用PVC

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: nginx
  name: nginx
  namespace: default
spec:
  replicas: 2
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app: nginx
  strategy:
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 0
    type: RollingUpdate
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: nginx
    spec:
      volumes:
      - name: task-pv-storage
        persistentVolumeClaim:
          claimName: task-pvc-claim
      containers:
      - env:
        - name: TZ
          value: Asia/Shanghai
        - name: LANG
          value: C.UTF-8
        image: nginx
        imagePullPolicy: IfNotPresent
        name: nginx
        volumeMounts:
        - mountPath: "/usr/share/nginx/html"
          name: task-pv-storage
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末泛范,一起剝皮案震驚了整個(gè)濱河市候引,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌敦跌,老刑警劉巖澄干,帶你破解...
    沈念sama閱讀 219,270評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異柠傍,居然都是意外死亡麸俘,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門惧笛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)从媚,“玉大人,你說(shuō)我怎么就攤上這事患整∨缰冢” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,630評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵紧憾,是天一觀的道長(zhǎng)到千。 經(jīng)常有香客問(wèn)我,道長(zhǎng)赴穗,這世上最難降的妖魔是什么抡句? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,906評(píng)論 1 295
  • 正文 為了忘掉前任蹄皱,我火速辦了婚禮秒际,結(jié)果婚禮上慎宾,老公的妹妹穿的比我還像新娘。我一直安慰自己甸赃,他們只是感情好柿汛,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著埠对,像睡著了一般苛茂。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上鸠窗,一...
    開(kāi)封第一講書(shū)人閱讀 51,718評(píng)論 1 305
  • 那天妓羊,我揣著相機(jī)與錄音,去河邊找鬼稍计。 笑死躁绸,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的臣嚣。 我是一名探鬼主播净刮,決...
    沈念sama閱讀 40,442評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼硅则!你這毒婦竟也來(lái)了淹父?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,345評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤怎虫,失蹤者是張志新(化名)和其女友劉穎暑认,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體大审,經(jīng)...
    沈念sama閱讀 45,802評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蘸际,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了徒扶。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片粮彤。...
    茶點(diǎn)故事閱讀 40,117評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出导坟,到底是詐尸還是另有隱情屿良,我是刑警寧澤,帶...
    沈念sama閱讀 35,810評(píng)論 5 346
  • 正文 年R本政府宣布惫周,位于F島的核電站尘惧,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏闯两。R本人自食惡果不足惜褥伴,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評(píng)論 3 331
  • 文/蒙蒙 一谅将、第九天 我趴在偏房一處隱蔽的房頂上張望漾狼。 院中可真熱鬧,春花似錦饥臂、人聲如沸逊躁。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,011評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)稽煤。三九已至,卻和暖如春囚戚,著一層夾襖步出監(jiān)牢的瞬間酵熙,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,139評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工驰坊, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留匾二,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,377評(píng)論 3 373
  • 正文 我出身青樓拳芙,卻偏偏與公主長(zhǎng)得像察藐,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子舟扎,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評(píng)論 2 355