国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

輕松掌握K8S目錄持久卷PV/PVC的kubectl操作知識點04

這篇具有很好參考價值的文章主要介紹了輕松掌握K8S目錄持久卷PV/PVC的kubectl操作知識點04。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1、介紹

在docker中可以將容器中的目錄掛載出來,在k8s中pod可以部署在不同節(jié)點,假如該節(jié)點的機器宕機了,k8s可能就會將此Pod轉(zhuǎn)移到其他機器,就不是原先的機器了。k8s有自己的一套掛載方案,如下圖所示,

原理為將所有節(jié)點的掛載的目錄統(tǒng)一抽象管理為叫做 存儲層的概念,使用技術(shù)如NFS網(wǎng)絡(luò)文件系統(tǒng),在每一個節(jié)點都會有如50G的存儲空間,該空間之間的數(shù)據(jù)是同步的,這樣就解決了某一節(jié)點宕機了,Pod轉(zhuǎn)移到其他節(jié)點了依然可以獲取到掛載的目錄。

k8s pvc 掛載,輕松掌握k8s,kubernetes,docker,運維

1、搭建NFS網(wǎng)絡(luò)文件系統(tǒng)

k8s pvc 掛載,輕松掌握k8s,kubernetes,docker,運維

  • 所有機器安裝 yum install -y nfs-utils
  • nfs主節(jié)點,這里我們對應(yīng)k8s的主節(jié)點(我配置兩個主節(jié)點,選擇了其中一個) 創(chuàng)建同步文件的目錄 mkdir -p /nfs/k8s/data,設(shè)置暴露目錄echo "/nfs/k8s/data/ *(insecure,rw,sync,no_root_squash)" > /etc/exports
  • nfs主節(jié)點啟動RPC遠程綁定現(xiàn)在啟動并且開機也要啟動 systemctl enable rpcbind --now
  • nfs主節(jié)點啟動nfs 服務(wù)端,并且開啟自動啟動 systemctl enable nfs-server --now
  • nfs主節(jié)點使配置生效 exportfs -r, 輸出目錄查看 exportfs

k8s pvc 掛載,輕松掌握k8s,kubernetes,docker,運維

  • 其他節(jié)點可檢查哪些目錄可以同步,執(zhí)行命令 showmount -e 192.168.134.110,注意IP換成自己的

k8s pvc 掛載,輕松掌握k8s,kubernetes,docker,運維

  • 其他節(jié)點也創(chuàng)建同步的目錄,目錄名隨意,我定義成一樣的 mkdir -p /nfs/k8s/data
  • 將主節(jié)點和其他節(jié)點關(guān)聯(lián)起來 ,在其他節(jié)點執(zhí)行 mount -t nfs 192.168.134.110:/nfs/k8s/data /nfs/k8s/data
  • 測試,可以在任意一個節(jié)點添加修改文件,去其他檢查是否同步修改了
2、原生方式創(chuàng)建Deployment并應(yīng)用目錄掛載到nfs

如下使用yaml的方式將鏡像nginx中的目錄/usr/share/nginx/html掛載到了nfs服務(wù)端的/nfs/data/nginx-pv目錄,只要在掛載目錄/nfs/data/nginx-pv里加文件,也會同步到了pod里/usr/share/nginx/html

kubectl apply -f nfs-demo.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: nginx-pv-demo
  name: nginx-pv-demo
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx-pv-demo
  template:
    metadata:
      labels:
        app: nginx-pv-demo
    spec:
      containers:
      - image: nginx
        name: nginx
        volumeMounts:
        - name: html
          mountPath: /usr/share/nginx/html
      volumes:
        - name: html
          nfs:
            server: 192.168.134.110
            path: /nfs/data/nginx-pv

注意掛載的目錄一定要先創(chuàng)建好否則查詢當前應(yīng)用時出現(xiàn)如下一直在創(chuàng)建中

k8s pvc 掛載,輕松掌握k8s,kubernetes,docker,運維

進入這個pod詳細信息,可以看到報錯的詳細問題 kubectl describe pod nginx-pv-demo-dc6884649-4phvz

k8s pvc 掛載,輕松掌握k8s,kubernetes,docker,運維

這種方式缺點:1、需要提前創(chuàng)建好掛載的機器目錄;2、當Pod刪除,機器掛載的目錄不會同時刪除;3、無法指定目錄的存儲大小

3、使用靜態(tài)PV/PVC持久卷方式

PV持久卷,可以指定大小,當PVC刪除,對應(yīng)的PV也會刪除

k8s pvc 掛載,輕松掌握k8s,kubernetes,docker,運維

PV:持久卷(Persistent Volume),將應(yīng)用需要持久化的數(shù)據(jù)保存到指定位置

PVC:持久卷申明(Persistent Volume Claim),申明需要使用的持久卷規(guī)格

2、存儲掛載PV/PVC實戰(zhàn)
1、在nfs目錄中創(chuàng)建PV的靜態(tài)目錄
#nfs主節(jié)點
mkdir -p /nfs/k8s/pv/data/01
mkdir -p /nfs/k8s/pv/data/02
mkdir -p /nfs/k8s/pv/data/03
2、創(chuàng)建靜態(tài)PV持久卷

執(zhí)行命令 kubectl apply -f pvdemo.yaml

以下可以寫在一個文件中 ,用—分割,會自動識別成三個文件,server為主節(jié)點的IP地址。storageClassName表示一個標志,在后面創(chuàng)建PVC時需要用到。

apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv01-10m
spec:
  capacity:
    storage: 10M
  accessModes:
    - ReadWriteMany
  storageClassName: nfs
  nfs:
    path: /nfs/k8s/pv/data/01
    server: 192.168.134.110
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv02-1gi
spec:
  capacity:
    storage: 1Gi
  accessModes:
    - ReadWriteMany
  storageClassName: nfs
  nfs:
    path: /nfs/k8s/pv/data/02
    server: 192.168.134.110
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv03-3gi
spec:
  capacity:
    storage: 3Gi
  accessModes:
    - ReadWriteMany
  storageClassName: nfs
  nfs:
    path: /nfs/k8s/pv/data/03
    server: 192.168.134.110
3、查詢PV持久卷

k8s pvc 掛載,輕松掌握k8s,kubernetes,docker,運維

簡寫

k8s pvc 掛載,輕松掌握k8s,kubernetes,docker,運維

4、創(chuàng)建PVC

pvc.yaml如下:storageClassName: nfs 對應(yīng)創(chuàng)建的PV

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: nginx-pvc
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 200Mi
  storageClassName: nfs

因為申請的storage: 200Mi 指定了大小,所以被分配了擁有1G容量的PV

k8s pvc 掛載,輕松掌握k8s,kubernetes,docker,運維

5、刪除PVC

對應(yīng)的PV也會被釋放Released

k8s pvc 掛載,輕松掌握k8s,kubernetes,docker,運維

6、查詢PVC

k8s pvc 掛載,輕松掌握k8s,kubernetes,docker,運維

7、創(chuàng)建Deployment應(yīng)用同時掛載PVC

執(zhí)行 kubectl apply -f pvcdemo.yaml

將創(chuàng)建好的PVC nginx-pvc掛載到當前創(chuàng)建的應(yīng)用中。

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: nginx-deploy-pvc
  name: nginx-deploy-pvc
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx-deploy-pvc
  template:
    metadata:
      labels:
        app: nginx-deploy-pvc
    spec:
      containers:
      - image: nginx
        name: nginx
        volumeMounts:
        - name: html
          mountPath: /usr/share/nginx/html
      volumes:
        - name: html
          persistentVolumeClaim:
            claimName: nginx-pvc
8、測試

修改掛載的目錄,即可查看文件有沒有同步。文章來源地址http://www.zghlxwxcb.cn/news/detail-660741.html

到了這里,關(guān)于輕松掌握K8S目錄持久卷PV/PVC的kubectl操作知識點04的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 使用k8s部署Mysql實例~hostpath,nfs服務(wù)器,PV和PVC持久化

    1.基礎(chǔ)存儲的分類: 分類 說明 EmptyDir EmptyDir是在Pod 被分配到Node時 創(chuàng)建的, 無須手動指定 ,當 Pod銷毀時 , EmptyDir中的數(shù)據(jù)也會被 永久刪除 HostPath HostPath就是將Node主機中一個實際目錄掛載到Pod中,保證 Pod銷毀 了,但是 數(shù)據(jù)依舊可以存在 于Node主機上 NFS NFS是一個網(wǎng)絡(luò)文件

    2024年02月20日
    瀏覽(28)
  • k8s pv與pvc

    k8s pv與pvc

    1.前言 PV 是 Kubernetes 集群中的一種資源對象,它代表著一塊物理存儲設(shè)備,例如磁盤、網(wǎng)絡(luò)存儲或云存儲等。PV 可以被多個 Pod 共享,并且可以獨立于 Pod 存在。PV 可以配置不同的訪問模式 (Access Modes),例如 ReadWriteOnce 、 ReadOnlyMany 或 ReadWriteMany ,以確定 PV 可以被多少個 Pod 同

    2024年01月21日
    瀏覽(20)
  • PV & PVC in K8s

    在Kubernetes中,PV(Persistent Volume)和PVC(Persistent Volume Claim)是用于管理持久化存儲的重要資源對象。PV表示存儲的實際資源,而PVC表示對PV的聲明性要求。當應(yīng)用程序需要使用持久化存儲時,它可以通過創(chuàng)建PVC來請求和使用PV。以下是使用PV和PVC時的一些注意事項: 定義存儲類

    2024年02月09日
    瀏覽(24)
  • k8s ------存儲卷(PV、PVC)

    k8s ------存儲卷(PV、PVC)

    目錄 一:為什么需要存儲卷? 二:emptyDir存儲卷? ?三:hostPath存儲卷? 四:nfs共享存儲卷? ?五:PVC 和 PV 1、PVC 和 PV介紹 2、PV和PVC之間的相互作用遵循的生命周期 3、PV 的4 種狀態(tài) 4、一個PV從創(chuàng)建到銷毀的具體流程 六:靜態(tài)創(chuàng)建pv和pvc資源由pod運用過程 ?1、配置nfs存儲 ?

    2024年02月13日
    瀏覽(19)
  • k8s--動態(tài)pvc和pv

    k8s--動態(tài)pvc和pv

    目錄 前情回顧 動態(tài)pv 實驗?zāi)M 步驟一:在stor01節(jié)點上安裝nfs,并配置nfs服務(wù) 接下來在matser01上配置 步驟二:創(chuàng)建 Service Account,用來管理 NFS Provisioner 在?k8s?集群中運行的權(quán)限和動態(tài)規(guī)則 步驟三:使用 Deployment 來創(chuàng)建 NFS Provisioner? 部署nfs-provisioners插件: 步驟四:創(chuàng)建 St

    2024年01月24日
    瀏覽(38)
  • 【K8S系列】深入解析K8S中PV 和PVC

    在 Kubernetes 中,PV(持久卷)和 PVC(持久卷聲明)之間的關(guān)系是一種動態(tài)匹配和綁定關(guān)系,用于實現(xiàn) Pod 與存儲資源的解耦。 PV 是集群中的一塊網(wǎng)絡(luò)存儲,它獨立于 Pod 存在。PV 可以是各種存儲系統(tǒng),如云提供商的存儲、NFS、iSCSI、本地存儲等。 管理員負責(zé)創(chuàng)建 PV,并配置其

    2024年04月23日
    瀏覽(27)
  • 【K8S 存儲卷】K8S的存儲卷+PV/PVC

    【K8S 存儲卷】K8S的存儲卷+PV/PVC

    目錄 一、K8S的存儲卷 1、概念: 2、掛載的方式: 2.1、emptyDir: 2.2、hostPath: 2.3、NFS共享存儲: 二、PV和PVC: 1、概念 2、請求方式 3、靜態(tài)請求流程圖: 4、PV和PVC的生命周期 5、PV的狀態(tài): 6、PV的讀寫掛載方式: 7、回收策略: 三、PV和PVC靜態(tài)請求實驗: 1、默認的Retain保留策

    2024年02月02日
    瀏覽(58)
  • k8s里pv pvc configmap

    通過storageClassName 將PV 和PVC 關(guān)聯(lián)起來。

    2024年02月11日
    瀏覽(21)
  • k8s~動態(tài)生成pvc和pv

    k8s~動態(tài)生成pvc和pv

    有時,我們不想手動建立pv和pvc,這時,我們可以通過strongClass存儲類來幫我們實現(xiàn),動態(tài)建立pvc,并動態(tài)為它分配pv存儲空間,我們以nfs為例,說一下動態(tài)分配在nfs存儲截至上建立pv的方式。 StorageClass和PVC及PV 集群權(quán)限與綁定rbac.yaml 建立動態(tài)pvc的provisioner.yaml 建立strongClass的

    2024年02月03日
    瀏覽(22)
  • k8s 存儲卷和pvc,pv

    k8s 存儲卷和pvc,pv

    存儲卷---數(shù)據(jù)卷 容器內(nèi)的目錄和宿主機的目錄進行掛載。 容器在系統(tǒng)上的生命周期是短暫的,deletek8s用控制器創(chuàng)建的pod,delete相當于重啟,容器的狀態(tài)也會回復(fù)到初始狀態(tài)。 一旦回到初始狀態(tài),所有的后天編輯的文件的都會消失。 容器容器和節(jié)點之間創(chuàng)建一個可以持久化保

    2024年01月16日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包