k8s的PV/PVC

概述

Volume

kubernentes的存儲部分第一個介紹了Volume。Volume可以支持local、nfs、cephfsglusterfs以及各種云計算平臺。

官網Volume的配置都是在一個創建pod的yaml文件中,例如

apiVersion: v1
kind: Pod
metadata:
  name: test-pd
spec:
  containers:
  - image: k8s.gcr.io/test-webserver
    name: test-container
    volumeMounts:
    - mountPath: /test-pd
      name: test-volume
  volumes:
  - name: test-volume
    hostPath:
      # directory location on host
      path: /data
      # this field is optional
      type: Directory

Persistent Volume和Persistent Volume Claim

除了Volume之外,kubernetes還提供了Persistent Volume的方法。Volume主要是為了存儲一些有必要保存的數據,而Persistent Volume主要是為了管理集群的存儲。

Persistent Volume相對獨立于Pods,單獨創建。比如:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: nfs
spec:
  storageClassName: manual
  capacity:
    storage: 1Gi
  accessModes:
    - ReadWriteMany
  nfs:
    server: 192.168.207.121
    path: "/nas/dg_vd"

Persistent Volume對具體的存儲進行配置和分配,而Pods等則可以使用Persistent Volume抽象出來的存儲資源,不需要知道集群的存儲細節。

Persistent Volume和Persistent Volume Claim類似Pods和Nodes的關系,創建Pods需要消耗一定的Nodes的資源。而Persistent Volume則是提供了各種存儲資源,而Persistent Volume Claim提出需要的存儲標準,然后從現有存儲資源中匹配或者動態建立新的資源,最后將兩者進行綁定。

PVC的創建

上面已經提到了創建PV的配置文件。PVC的內容如下:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: nfs
spec:
  accessModes:
    - ReadWriteMany
  storageClassName: manual
  resources:
    requests:
      storage: 1Gi

Pods的使用

Pods使用的是PersistentVolumeClaim而非PersistentVolume。

具體配置如下

apiVersion: v1
kind: Pod
metadata:
  name: testpv
  labels:
    role: web-frontend
spec:
  containers:
  - name: web
    image: nginx
    ports:
      - name: web
        containerPort: 80
    volumeMounts:
        - name: nfs
          mountPath: "/usr/share/nginx/html"
  volumes:
  - name: nfs
    persistentVolumeClaim:
      claimName: nfs

一些注意事項

在配置文件中的kind是PersistentVolumePersistentVolumeClaim。但是查詢時,使用的是縮寫pv,pvc。

概述

Volume

kubernentes的存儲部分第一個介紹了Volume。Volume可以支持localnfs、cephfs、glusterfs以及各種云計算平臺。

官網Volume的配置都是在一個創建pod的yaml文件中,例如

apiVersion: v1
kind: Pod
metadata:
  name: test-pd
spec:
  containers:
  - image: k8s.gcr.io/test-webserver
    name: test-container
    volumeMounts:
    - mountPath: /test-pd
      name: test-volume
  volumes:
  - name: test-volume
    hostPath:
      # directory location on host
      path: /data
      # this field is optional
      type: Directory

Persistent Volume和Persistent Volume Claim

除了Volume之外,kubernetes還提供了Persistent Volume的方法。Volume主要是為了存儲一些有必要保存的數據,而Persistent Volume主要是為了管理集群的存儲。

Persistent Volume相對獨立于Pods,單獨創建。比如:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: nfs
spec:
  storageClassName: manual
  capacity:
    storage: 1Gi
  accessModes:
    - ReadWriteMany
  nfs:
    server: 192.168.207.121
    path: "/nas/dg_vd"

Persistent Volume對具體的存儲進行配置和分配,而Pods等則可以使用Persistent Volume抽象出來的存儲資源,不需要知道集群的存儲細節。

Persistent Volume和Persistent Volume Claim類似Pods和Nodes的關系,創建Pods需要消耗一定的Nodes的資源。而Persistent Volume則是提供了各種存儲資源,而Persistent Volume Claim提出需要的存儲標準,然后從現有存儲資源中匹配或者動態建立新的資源,最后將兩者進行綁定。

PVC的創建

上面已經提到了創建PV的配置文件。PVC的內容如下:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: nfs
spec:
  accessModes:
    - ReadWriteMany
  storageClassName: manual
  resources:
    requests:
      storage: 1Gi

Pods的使用

Pods使用的是PersistentVolumeClaim而非PersistentVolume

具體配置如下

apiVersion: v1
kind: Pod
metadata:
  name: testpv
  labels:
    role: web-frontend
spec:
  containers:
  - name: web
    image: nginx
    ports:
      - name: web
        containerPort: 80
    volumeMounts:
        - name: nfs
          mountPath: "/usr/share/nginx/html"
  volumes:
  - name: nfs
    persistentVolumeClaim:
      claimName: nfs

一些注意事項

在配置文件中的kind是PersistentVolumePersistentVolumeClaim。但是查詢時,使用的是縮寫pv,pvc

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 再美的景 也就是景 再美的景 沒有人影 僅僅是景 景配上人 無論行走 還是微笑 景就活了 美景佳人 相依共存 景更...
    峰霞仙子閱讀 218評論 2 10
  • ??面向對象設計原則,是一種指導思想,在程序設計過程中,要盡量的去遵守這些原則,用于解決面向對象設計中的可維護性,...
    快樂泥巴閱讀 1,519評論 0 3
  • 創建新版本庫 $ git init #初始化本地版本庫該命令將創建一個名為 .git 的子目錄,這個子目錄含有你初...
    Frank_io閱讀 207評論 0 0
  • m1、直通車一天500,一年18萬,最后什么都沒有,還不如2周花完18萬,可能還出個爆款 2、消費行為場景 3、 h
    書雪同學閱讀 182評論 0 0
  • 0、history 查看歷史記錄 1、列出文件ls 參數 目錄名 例: 看看驅動目錄下有什么:ls ...
    __哈哈__閱讀 546評論 3 1