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

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

這篇具有很好參考價值的文章主要介紹了k8s--動態(tài)pvc和pv。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

前情回顧

動態(tài)pv

實驗模擬

步驟一:在stor01節(jié)點上安裝nfs,并配置nfs服務

接下來在matser01上配置

步驟二:創(chuàng)建 Service Account,用來管理 NFS Provisioner 在?k8s?集群中運行的權(quán)限和動態(tài)規(guī)則

步驟三:使用 Deployment 來創(chuàng)建 NFS Provisioner?

部署nfs-provisioners插件:

步驟四:創(chuàng)建 StorageClass,負責建立 PVC 并調(diào)用 NFS provisioner 進行預定的工作,并讓 PV 與 PVC 建立關聯(lián)

步驟五:?創(chuàng)建 PVC 和 Pod 測試

下面進行讀寫測試


前情回顧

存儲卷:

emptyDir 容器內(nèi)部,隨著pod銷毀,emptyDir也會消失 不能做數(shù)據(jù)持久化

hostPath:持久化存儲數(shù)據(jù) 可以和節(jié)點上目錄做掛載。pod被銷毀了數(shù)據(jù)還在

NFS:一臺機器,提供pod內(nèi)容器所有的掛載點

pv和pvc:

pvc就是pod發(fā)起的掛載請求

pv:持久化存儲目錄

靜態(tài)pv和pvc: 運維負責:創(chuàng)建好持久化存儲卷,聲明好讀寫和掛載類型 以及可以提供的存儲空間

pvc開發(fā)做,要和開發(fā)溝通好,你期望的讀寫和掛載類型,以及存儲空間。

當我發(fā)布pvc之后可以自動生成pv,還可以在共享服務器上直接生成掛載目錄。

pvc直接綁定和使用pv

動態(tài)pv

1.卷插件,k8s本身不支持的動態(tài)pv創(chuàng)建不包括nfs,需要聲明和安裝一個外部插件

Provisioner:存儲分配器。動態(tài)創(chuàng)建pv,然后根據(jù)pvc的請求自動綁定和使用。

StorageClass:來定義pv的屬性,存儲類型,大小,回收策略。

用nfs來實現(xiàn)動態(tài)PV,NFS支持的方式NFS-client,Provisioner

實驗模擬

步驟一:在stor01節(jié)點上安裝nfs,并配置nfs服務


1、在stor01節(jié)點上安裝nfs,并配置nfs服務
node02
cd /opt
mkdir k8s
chmod 777 k8s
vim /etc/exports
/opt/k8s 20.0.0.0/24(rw,no_root_squash,sync)
wq
systemctl restart rpcbind
systemctl restart nfs
showmount -e

master01
showmount -e 20.0.0.63
查看

k8s--動態(tài)pvc和pv,K8s,kubernetes,容器,云原生

k8s--動態(tài)pvc和pv,K8s,kubernetes,容器,云原生

k8s--動態(tài)pvc和pv,K8s,kubernetes,容器,云原生

接下來在matser01上配置

步驟二:創(chuàng)建 Service Account,用來管理 NFS Provisioner 在?k8s?集群中運行的權(quán)限和動態(tài)規(guī)則

vim nfs-client-rbac.yaml

apiVersion: v1
kind: ServiceAccount
metadata:
  name: nfs-client-provisioner
---
#定義權(quán)限
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: nfs-client-provisioner-clusterrole
rules:
  - apiGroups: [""]
#apigroup定義了規(guī)則使用了哪個api的組,空字符“”,直接使用api的核心組的資源
    resources: ["persistentvolumes"]
    verbs: ["get", "list", "watch", "create", "delete"]
#表示權(quán)限的動作。
  - apiGroups: [""]
    resources: ["persistentvolumeclaims"]
    verbs: ["get", "list", "watch", "update"]

#獲取pv屬性
  - apiGroups: ["storage.k8s.io"]
    resources: ["storageclasses"]
    verbs: ["get", "list", "watch"]
    
#獲取api活動的時間信息
  - apiGroups: [""]
    resources: ["events"]
    verbs: ["list", "watch", "create", "update", "patch"]
  - apiGroups: [""]
    resources: ["endpoints"]
    verbs: ["create", "delete", "get", "list", "watch", "patch", "update"]
---
#集群角色綁定
apiVersion: rbac.authorization.k8s.io
kind: ClusterRoleBinding
metadata:
  name: nfs-client-provisioner-clusterrolebinding
subjects:
- kind: ServiceAccount
  name: nfs-client-provisioner
  namespace: default
roleRef:
  kind: ClusterRole
  name: nfs-client-provisioner-clusterrole
  apiGroup: rbac.authorization.k8s.io

wq

k8s--動態(tài)pvc和pv,K8s,kubernetes,容器,云原生

步驟三:使用 Deployment 來創(chuàng)建 NFS Provisioner?

vim /etc/kubernetes/manifests/kube-apiserver.yaml

...
spec:
  containers:
  - command:
    - --feature-gares=RemoveSelfLink=false
    - --advertise-address=20.0.0.61
    feature-gates:在不破壞現(xiàn)有規(guī)則以及功能基礎上引入新功能或者修改現(xiàn)有功能的機制。
    禁用不影響之前的規(guī)則
    
    wq

kubectl apply -f /etc/kubernetes/manifests/kube-apiserver.yaml

kubectl delete pods kube-apiserver -n kube-system

kubectl get pods -n kube-system | grep apiserver

k8s--動態(tài)pvc和pv,K8s,kubernetes,容器,云原生

部署nfs-provisioners插件:

nfs的provisioner的客戶端以pod的方式運行在集群當中,監(jiān)聽k8s集群當中的pv的請求。動態(tài)的創(chuàng)建于NFS服務器相關的pv。

容器里使用配置,在provisioner當中定義好環(huán)境變量,穿給容器。storageclass的名稱,nfs服務器的地址,nfs的目錄

vim nfs-client-provisioner.yaml
#創(chuàng)建 NFS Provisioner
vim nfs-client-provisioner.yaml
kind: Deployment
apiVersion: apps/v1
metadata:
  name: nfs-client-provisioner
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nfs1
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: nfs1
    spec:
      serviceAccountName: nfs-client-provisioner 
#指定Service Account賬戶來調(diào)用
      containers:
        - name: nfs1
          image: quay.io/external_storage/nfs-client-provisioner:latest
          imagePullPolicy: IfNotPresent
          volumeMounts:
            - name: nfs1
              mountPath: /persistentvolumes
          env:
            - name: PROVISIONER_NAME
              value: nfs-storage   
#配置provisioner的Name,確保該名稱與StorageClass資源中的provisioner名稱保持一致
            - name: NFS_SERVER
              value: stor01                     
#配置綁定的nfs服務器
            - name: NFS_PATH
              value: /opt/k8s                   
#配置綁定的nfs服務器目錄
      volumes:                                  
#申明nfs數(shù)據(jù)卷
        - name: nfs-client-root
          nfs:
            server:20.0.0.63
            path: /opt/k8s
	
	
kubectl apply -f nfs-client-provisioner.yaml 

k8s--動態(tài)pvc和pv,K8s,kubernetes,容器,云原生

k8s--動態(tài)pvc和pv,K8s,kubernetes,容器,云原生

步驟四:創(chuàng)建 StorageClass,負責建立 PVC 并調(diào)用 NFS provisioner 進行預定的工作,并讓 PV 與 PVC 建立關聯(lián)

vim nfs-client-storageclass.yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: nfs-client-storageclass
provisioner: nfs-storage     #這里的名稱要和provisioner配置文件中的環(huán)境變量PROVISIONER_NAME保持一致
parameters:
  archiveOnDelete: "false"   
#false表示在刪除PVC時不會對數(shù)據(jù)目錄進行打包存檔,即刪除數(shù)據(jù);為ture時就會自動對數(shù)據(jù)目錄進行打包存檔,存檔文件以archived開頭

reclaimPolicy: Retain
#定義pv的回收策略,retain,另一個是delete,不支持回收
allowVolumeExpansion: true
#pv的存儲空間可以動態(tài)的擴縮容
  
kubectl apply -f nfs-client-storageclass.yaml

k8s--動態(tài)pvc和pv,K8s,kubernetes,容器,云原生

步驟五:?創(chuàng)建 PVC 和 Pod 測試

先創(chuàng)建pvc

vim test-pvc-pod.yaml


apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: nfs-pvc
spec:
  accessModes:
    - ReadWriteMany
  storageClassName: nfs-client-storageclass    #關聯(lián)StorageClass對象
  resources:
    requests:
      storage: 1Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx1
  labels:
    app: nginx1
spec:
  replicas:1
  selector:
    matchLabels:
      app: nginx1
  template:
    metadata:
      labels:
        app: nginx1
    spec:
      containers:
      - name: nginx1
        image: nginx:1.22

        volumeMounts:
        - name: nginx1
          mountPath: /usr/share/nginx/html
      volumes:
      - name: nginx1
        persistentVolumeClaim:
          claimName: nfs-pvc      
#與PVC名稱保持一致
	  
	  
kubectl apply -f test-pvc-pod.yaml

k8s--動態(tài)pvc和pv,K8s,kubernetes,容器,云原生

k8s--動態(tài)pvc和pv,K8s,kubernetes,容器,云原生

nfs主機中:?

k8s--動態(tài)pvc和pv,K8s,kubernetes,容器,云原生

下面進行讀寫測試

k8s--動態(tài)pvc和pv,K8s,kubernetes,容器,云原生

k8s--動態(tài)pvc和pv,K8s,kubernetes,容器,云原生

總結(jié)
動態(tài)pv的兩個組件:

provisioner插件:支持nfs。創(chuàng)建pv目錄

strogeclass:定義pv的屬性。

動態(tài)pv的默認策略是刪除

動態(tài)pv刪除pvc的狀態(tài)。最好設置為releassed

1.給卷插件創(chuàng)建賬號,確保集群可以在集群內(nèi)部通信,獲取資源,監(jiān)聽事件。創(chuàng)建和刪除以及更新pv

2.創(chuàng)建卷插件的pod。由卷插件的pod創(chuàng)建pv

3。定義storageclass給pv賦予屬性。屬性包括:pvc被刪除之后pv的狀態(tài),以及回收策略。

4.創(chuàng)建pvc

5.實驗完成
?文章來源地址http://www.zghlxwxcb.cn/news/detail-819520.html

到了這里,關于k8s--動態(tài)pvc和pv的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領支付寶紅包贊助服務器費用

相關文章

  • k8s pv pvc的介紹|動態(tài)存儲|靜態(tài)存儲

    k8s pv pvc的介紹|動態(tài)存儲|靜態(tài)存儲

    當Pod被分配給節(jié)點時,首先創(chuàng)建emptyDir卷,并且只要該Pod在該節(jié)點上運行,該卷就會存在。正如卷的名字所述,它最初是空的。Pod 中的容器可以讀取和寫入emptyDir卷中的相同文件,盡管該卷可以掛載到每個容器中的相同或不同路徑上。當出于任何原因從節(jié)點中刪除 Pod 時,em

    2024年02月06日
    瀏覽(21)
  • 【云原生-Kubernetes篇】K8s的存儲卷/數(shù)據(jù)卷+PV與PVC

    【云原生-Kubernetes篇】K8s的存儲卷/數(shù)據(jù)卷+PV與PVC

    容器部署過程中一般有以下三種數(shù)據(jù): ? 啟動時需要的 初始數(shù)據(jù) :例如配置文件 (init container) ? 啟動過程中產(chǎn)生的 臨時數(shù)據(jù) :該臨時數(shù)據(jù)需要多個容器間共享 ? 啟動過程中產(chǎn)生的 持久化數(shù)據(jù) :例如MySQL的data目錄 (業(yè)務數(shù)據(jù)–很重要) 而容器中的文件在磁盤上是 臨時

    2024年02月05日
    瀏覽(20)
  • [Kubernetes]5. k8s集群StatefulSet詳解,以及數(shù)據(jù)持久化(SC PV PVC)

    [Kubernetes]5. k8s集群StatefulSet詳解,以及數(shù)據(jù)持久化(SC PV PVC)

    前面通過 deployment 結(jié)合 service 來部署 無狀態(tài)的應用 ,下面來講解通過 satefulSet 結(jié)合 service 來部署 有狀態(tài)的應用 無狀態(tài): 無狀態(tài) (stateless) 、牲畜 (cattle) 、無名 (nameless) 、可丟棄 (disposable) 有狀態(tài): 有狀態(tài) (stateful) 、寵物 (pet) 、具有名 (haviing name) 、不可丟棄 (non-disposable) St

    2024年02月01日
    瀏覽(49)
  • K8S臨時存儲-本地存儲-PV和PVC的使用-動態(tài)存儲(StorageClass)

    容器中的文件在磁盤上是臨時存放的,當容器崩潰或停止時容器上面的數(shù)據(jù)未保存, 因此在容器生命周期內(nèi)創(chuàng)建或修改的所有文件都將丟失。 在崩潰期間,kubelet 會以干凈的狀態(tài)重新啟動容器。 當多個容器在一個 Pod 中運行并且需要共享文件時,會出現(xiàn)另一個問題,跨所有容

    2024年04月16日
    瀏覽(22)
  • K8s基礎10——數(shù)據(jù)卷、PV和PVC、StorageClass動態(tài)補給、StatefulSet控制器

    K8s基礎10——數(shù)據(jù)卷、PV和PVC、StorageClass動態(tài)補給、StatefulSet控制器

    為什么需要數(shù)據(jù)卷? 容器中的文件在磁盤上是臨時存放的,這給容器中運行比較重要的應用程序帶來一些問題。 當容器升級或者崩潰時,kubelet會重建容器,容器內(nèi)文件會丟失。 一個Pod中運行多個容器時,需要共享文件。 而K8s 數(shù)據(jù)卷就可以解決這兩個問題。 Volume概念: V

    2024年02月05日
    瀏覽(19)
  • 【K8S系列】深入解析K8S中PV 和PVC

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

    k8s pv與pvc

    1.前言 PV 是 Kubernetes 集群中的一種資源對象,它代表著一塊物理存儲設備,例如磁盤、網(wǎng)絡存儲或云存儲等。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的聲明性要求。當應用程序需要使用持久化存儲時,它可以通過創(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)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包