国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當前位置: 首頁 > news >正文

來賓市住房和城鄉(xiāng)建設局網站網站運營師

來賓市住房和城鄉(xiāng)建設局網站,網站運營師,深圳品牌營銷網站建設,wordpress英語商城插件【云原生Kubernetes】05-Pod的存儲卷(Volume) 文章目錄 【云原生Kubernetes】05-Pod的存儲卷(Volume)簡介Volume類型解析emptyDirHostPathgcePersistentDiskNFSiscsiglusterfsceph其他volume 簡介 Volume 是Pod 中能夠被多個容器訪問的共享目錄。 Kubern…

【云原生Kubernetes】05-Pod的存儲卷(Volume)

文章目錄

  • 【云原生Kubernetes】05-Pod的存儲卷(Volume)
    • 簡介
    • Volume類型解析
      • emptyDir
      • HostPath
      • gcePersistentDisk
      • NFS
      • iscsi
      • glusterfs
      • ceph
      • 其他volume

簡介

  • Volume 是Pod 中能夠被多個容器訪問的共享目錄。 Kubernetes 中的Volume 概念、用 途和目的與 Docke 中的 Vo lume 比較類似,但二者不能等價, 首先 Kubernetes 中的Volume 被定義在 Pod上 ,被一個 Pod 里的多個容器掛載到具體的文件目錄 ;其次, Kubernete 中的 Volume與 Pod 的生命周期相同,但與容器的生命周期不相關, 當容器終止或者重啟,volume 中的數據也不會丟失;最后, Kubemetes 支持多種類型的 Volume ,例如 GlusterFS Ceph 等分布式文件系.

Volume類型解析

kubernetes提供了非常豐富的Volume類型供容器使用,例如emptyDir(臨時目錄);宿主機目錄(hostpath),共享存儲(NFS,glusterfs等),下面將對常見的類型進行說明:

emptyDir

  • emptyDir是在Pod分配到node時創(chuàng)建的,從它的名稱就可以看出,它的初始內容為空,并且必須指定宿主機上對應的目錄文件,因為這是Kubernetes自動分配的一個目錄,當Pod從Node上移除時,emptyDir中的數據也將被永久刪除。emptyDir的一些用途如下:

    • 臨時空間,例如用于某些應用程序運行時所需的臨時目錄,且無需永久保留;

    • 長時間任務執(zhí)行過程中使用的臨時目錄;

    • 一個容器需要從另一個容器中獲取數據的目錄(多容器共享目錄)

  • 在默認情況下,emptyDir使用的是節(jié)點存儲介質,例如磁盤或者網絡存儲,還可以使用emptyDir.medium屬性,把這個屬性設置為“Memory”,就可以使用更快的基于內存的后端存儲了。需要注意的是,這種情況下的emptyDir使用的內存會被計入容器的內存消耗,將受到資源限制和配額的管理。

示例

  1. 在pod中創(chuàng)建兩個容器:tomcat和busybox,在pod級別設置名為‘app-logs’的volume,用于tomcat容器向其中寫日志文件,busybox容器從中讀取日志文件。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-iJwiIjjH-1684847247245)(D:\學習\學習筆記\圖片\110.png)]

apiVersion: v1
kind: Pod
metadata:name: volume-podspec:containers:- name: tomcat-containerimage:  tomcatports:- containerPort: 8080volumeMounts:- name: app-logsmountPath:  /usr/loacl/tomcat/logs- name: busybox-containerimage:  busyboxcommand: ["sh", "-c", "tail -f /logs/catalins*.log"]volumeMounts:- name: app-logsmountPath: /logsvolumes:- name: app-logsemptyDir: {}
  • 查看pod的詳細信息
 kubectl describe pods volume-pod

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-d0cLlGp0-1684847247246)(D:\學習\學習筆記\圖片\111.png)]

HostPath

  • hostpath為在Pod上掛載宿主機的文件或目錄,通??梢杂糜谝韵聨讉€方面:
    • 在容器應用程序生成的日志文件需要永久保存時,可以使用宿主機的高速文件系統(tǒng)對其存儲;
    • 需要訪問宿主機上的Docker引擎內部數據結構的容器應用時,可以通過定義hostPath為宿主機/var/lib/docker目錄,使容器內部的應用可以直接訪問docker的文件系統(tǒng)。
  • 在使用這種類型的Volume時,需要注意以下幾點:
    • 在不同的Node上具有相同配置的Pod,可能會因為宿主機上的 目錄和文件不同而導致對Volume上目錄和文件的訪問結果不一致。
      • 目錄和文件路徑不同:不同節(jié)點上的宿主機可能具有不同的目錄和文件路徑,這意味著在不同節(jié)點上運行的 Pod 訪問 HostPath 卷上的目錄和文件時,可能會得到不同的結果。例如,在一個節(jié)點上,HostPath 卷可能映射到 /mnt/data 目錄,而在另一個節(jié)點上,它可能映射到 /data 目錄。
      • 目錄和文件權限不同:不同節(jié)點上的宿主機可能具有不同的文件權限,這意味著在不同節(jié)點上運行的 Pod 訪問 HostPath 卷上的目錄和文件時可能需要不同的權限。
    • 如果使用了資源配額管理,則Kubernetes無法將hostPath在宿主 機上使用的資源納入管理。

示例

  1. 在pod中創(chuàng)建一個容器:tomcat,在pod級別設置名為‘app-logs1’的volume,將本地/var/log目錄掛載到pod的/data/log1下
apiVersion: v1
kind: Pod
metadata:name: volume-pod1spec:containers:- name: tomcat-container1image:  tomcatports:- containerPort: 8080volumeMounts:- name: app-logs1mountPath:  /data/log1volumes:- name: app-logs1hostPath:path: /var/logtype: Directory

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-Jy3WDtfL-1684847247247)(D:\學習\學習筆記\圖片\112.png)]

gcePersistentDisk

  • gcePersistentDisk是Google Cloud Platform(GCP)提供的一種持久性磁盤存儲。它是一種網絡附加的塊存儲解決方案,為在Google Compute Engine上運行的虛擬機實例提供耐用且高性能的存儲。

    gcePersistentDisk具有多種優(yōu)點,包括:

    • 耐久性:存儲在gcePersistentDisk上的數據在多個物理磁盤和計算機上進行復制,確保高耐用性和可用性。
    • 性能:gcePersistentDisk提供高性能存儲,具有實現高讀寫速度的能力。
    • 可擴展性:gcePersistentDisk可以輕松調整大小,以滿足不斷變化的存儲需求,無需停機。
    • 兼容性:gcePersistentDisk可以與在Google Compute Engine上運行的各種虛擬機實例一起使用,使其成為一種靈活的存儲解決方案。
  • 使用gcePersistentDisk時有以下一些限制條件:

    • Node(運行kubelet的節(jié)點)需要是GCE虛擬機。
    • 這些虛擬機需要與PD存在于相同的GCE項目和Zone中。

示例

  1. Pod中有一個名為“my-container”的容器,它使用了一個名為“my-volume”的卷,將gcePersistentDisk掛載到了容器的“/mnt/data”目錄下。同時,在Pod的“volumes”字段中定義了一個名為“my-volume”的卷,并指定了使用名為“my-disk”的gcePersistentDisk,并將文件系統(tǒng)類型設置為“ext4”
apiVersion: v1
kind: Pod
metadata:name: my-pod
spec:containers:- name: my-containerimage: nginxvolumeMounts:- name: my-volumemountPath: /mnt/datavolumes:- name: my-volumegcePersistentDisk:pdName: my-diskfsType: ext4

NFS

  • NFS(Network File System)是一種分布式文件系統(tǒng)協(xié)議,用于在網絡上共享文件和目錄。它允許多個計算機共享相同的文件系統(tǒng),從而使多個計算機可以訪問相同的文件和數據。

示例

  1. Pod 中有一個名為“tomcat-container3”的容器,它使用了一個名為“ nfs-volume”的卷,將 NFS 掛載到了容器的“/nfs”目錄下。同時,在 Pod 的“volumes”字段中定義了一個名為“nfs-volume”的卷,并指定了使用 NFS,指定 NFS 服務器的地址為“192.168.194.134”,共享路徑為"/data"”

Kubernetes 節(jié)點上需要安裝nfs-util客戶端

apiVersion: v1
kind: Pod
metadata:name: nfs-podspec:containers:- name: tomcat-container3image: tomcatimagePullPolicy: IfNotPresentports:- name: tomcat-portcontainerPort:  8080volumeMounts:- name: nfs-volumemountPath: /nfsvolumes:- name: nfs-volumenfs:server: 192.168.194.134path: /data

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-NJfLxhis-1684847247248)(D:\學習\學習筆記\圖片\113.png)]

iscsi

  • iSCSI(Internet Small Computer System Interface)是一種基于TCP/IP的存儲協(xié)議,用于在計算機網絡上共享塊存儲設備。它允許遠程計算機(即iSCSI客戶端)通過網絡連接訪問存儲設備(即iSCSI存儲設備),就像它們是直接連接在本地計算機上的一樣。
  • 在Kubernetes中,可以將iSCSI存儲設備掛載到Pod中,以為Pod提供持久性的塊存儲。

示例

  1. me”的卷,將 iSCSI 存儲設備掛載到了容器的“/mnt/data”目錄下。同時,在 Pod 的“volumes”字段中定義了一個名為“my-volume”的卷,并指定了使用 iSCSI,指定 iSCSI 目標地址為“192.168.1.100:3260”,iSCSI 名稱為“iqn.2022-05.com.example:storage.target01”,邏輯單元號為“0”,文件系統(tǒng)類型為“ext4”,只讀模式為“false”。

需要在 Kubernetes 節(jié)點上安裝 iSCSI 客戶端軟件

apiVersion: v1
kind: Pod
metadata:name: my-pod
spec:containers:- name: my-containerimage: nginxvolumeMounts:- name: my-volumemountPath: /mnt/datavolumes:- name: my-volumeiscsi:targetPortal: 192.168.1.100:3260iqn: iqn.2022-05.com.example:storage.target01lun: 0fsType: ext4readOnly: false

glusterfs

  • GlusterFS是一種開源的分布式文件系統(tǒng),用于在計算機網絡上共享文件和目錄。它是一種基于用戶空間的文件系統(tǒng),可以在多個服務器之間創(chuàng)建一個可擴展的、高可用性的存儲池,從而提供高性能、可靠的存儲解決方案。

  • GlusterFS可以通過將多個存儲節(jié)點組合成一個存儲池來擴展存儲容量。每個存儲節(jié)點都運行一個GlusterFS客戶端,用于將本地存儲設備映射到存儲池中。這樣,多個存儲節(jié)點就可以共享相同的文件系統(tǒng),并提供高可用性和容錯性。

s示例

  1. Pod 中有一個名為“my-container”的容器,它使用了一個名為“my-volume”的卷,將 GlusterFS 文件系統(tǒng)掛載到了容器的“/mnt/data”目錄下。同時,在 Pod 的“volumes”字段中定義了一個名為“my-volume”的卷,并指定了使用 GlusterFS,指定 GlusterFS 集群的地址為“glusterfs-cluster”,共享路徑為“my-volume”,只讀模式為“false”。
apiVersion: v1
kind: Pod
metadata:name: my-pod
spec:containers:- name: my-containerimage: nginxvolumeMounts:- name: my-volumemountPath: /mnt/datavolumes:- name: my-volumeglusterfs:endpoints: glusterfs-clusterpath: my-volumereadOnly: false

ceph

  • RBD(RADOS Block Device)是一種基于Ceph存儲集群的塊存儲協(xié)議,用于在計算機網絡上共享塊存儲設備。它允許遠程計算機(即RBD客戶端)通過網絡連接訪問存儲設備(即RBD存儲設備),就像它們是直接連接在本地計算機上的一樣。

  • RBD協(xié)議的工作原理是將塊設備映射到Ceph存儲集群中的對象存儲池,從而提供分布式、高可用性、高性能的塊存儲服務。RBD存儲設備可以動態(tài)調整大小,并且可以在多個客戶端之間共享。

示例

  1. Pod 中有一個名為“my-container”的容器,它使用了一個名為“my-volume”的卷,將 RBD 存儲設備掛載到了容器的“/mnt/data”目錄下。同時,在 Pod 的“volumes”字段中定義了一個名為“my-volume”的卷,并指定了使用 RBD,指定 Ceph 存儲集群的監(jiān)視器地址為“192.168.1.100:6789, 192.168.1.101:6789, 192.168.1.102:6789”,對象存儲池為“rbd-pool”,鏡像名稱為“my-image”,用戶名為“admin”,密鑰文件為“/etc/ceph/keyring”,文件系統(tǒng)類型為“xfs”,只讀模式為“false”。
apiVersion: v1
kind: Pod
metadata:name: my-pod
spec:containers:- name: my-containerimage: nginxvolumeMounts:- name: my-volumemountPath: /mnt/datavolumes:- name: my-volumerbd:monitors: [192.168.1.100:6789, 192.168.1.101:6789, 192.168.1.102:6789]pool: rbd-poolimage: my-imageuser: adminkeyring: /etc/ceph/keyringfsType: xfsreadOnly: false

其他volume

  • **flocker:**使用Flocker管理存儲卷;
  • gitRepo: 通過掛載一個空目錄,并從Git庫clone一個git repository以供Pod使用;
  • **secret:**一個Secret Volume用于為Pod提供加密的信息,你可以 將定義在Kubernetes中的Secret直接掛載為文件讓Pod訪問。Secret Volume是通過TMFS(內存文件系統(tǒng))實現的,這種類型的Volume總是 不會被持久化的。

在上述中掛載外部存儲,如ceph,gluster,nfs,iscsi等,的時候雖然pod可以直接進行掛載,但是kubernetes更加推薦我們先需要創(chuàng)建一個 PersistentVolume,并將其綁定到 PersistentVolumeClaim 上。然后,在 Pod 中使用該 PersistentVolumeClaim 來掛載。后面我們將會單獨并且著重的介紹pv和pvc的功能和作用。
你可以 將定義在Kubernetes中的Secret直接掛載為文件讓Pod訪問。Secret Volume是通過TMFS(內存文件系統(tǒng))實現的,這種類型的Volume總是 不會被持久化的。

http://aloenet.com.cn/news/29335.html

相關文章:

  • dnf做漢堡怎么玩間網站怎么做好網絡推廣銷售
  • 做網站運營還是翻譯如何自己弄個免費網站
  • 網頁版工具沈陽seo排名優(yōu)化教程
  • 響應式設計網站網絡營銷的五大特點
  • 有哪些免費做電子名片的網站seo經驗
  • 分紅網站建設網上營銷新觀察網
  • 網站二次開發(fā)模板搜索引擎廣告推廣
  • php如何做局域網的網站外貿網站谷歌seo
  • wordpress賬號注冊機臨沂seo顧問
  • 做設計在哪個網站找圖片選擇寧波seo優(yōu)化公司
  • python做網站實例最新中央人事任免
  • 深圳的網站建設公司湖南企業(yè)競價優(yōu)化服務
  • 網紅營銷是什么意思推薦seo關鍵詞優(yōu)化
  • sm.wordpress蘇州seo推廣
  • 哪個網站可以做體育主播金融網站推廣圳seo公司
  • 舊房改造室內裝修設計公司seo黑帽有哪些技術
  • 網站集群系統(tǒng)建設網站宣傳方法
  • 做黃色網站怎么賺錢瀏覽器下載大全
  • 沒有備案的網站可信嗎徐州seo外包
  • javaee可以做網站么seo收錄排名
  • 網站管理有哪些成人英語培訓
  • 新冠病毒的最新動態(tài)廣州seo網站公司
  • 一級造價師注冊查詢系統(tǒng)平臺入口求職seo推薦
  • 自建網站 做自定義導航小廣告網站
  • 網站建設方案書騰訊云搜資源
  • 電子畢業(yè)設計代做網站網絡銷售渠道有哪些
  • 了解網站開發(fā) 后臺流程廣告公司經營范圍
  • 東莞做網站企業(yè)銘餐飲營銷案例100例
  • 公司網站建設會議紀要網站seo優(yōu)化教程
  • 小學學校網站模板免費下載蘇州網站建設開發(fā)公司