真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

k8s存儲(chǔ)數(shù)據(jù)持久化,emptyDir,hostPath,基

在docker和K8S中都存在容器是有生命周期的,因此數(shù)據(jù)卷可以實(shí)現(xiàn)數(shù)據(jù)持久化。

創(chuàng)新互聯(lián)主營(yíng)格爾木網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,重慶APP軟件開(kāi)發(fā),格爾木h5小程序制作搭建,格爾木網(wǎng)站營(yíng)銷(xiāo)推廣歡迎格爾木等地區(qū)企業(yè)咨詢(xún)

數(shù)據(jù)卷解決的主要問(wèn)題:

1.數(shù)據(jù)持久性:當(dāng)我們寫(xiě)入數(shù)據(jù)時(shí),文件都是暫時(shí)性的存在,當(dāng)容器崩潰后,host就會(huì)將這個(gè)容器殺死,然后重新從鏡像創(chuàng)建容器,數(shù)據(jù)就會(huì)丟失。

2.數(shù)據(jù)共享:在同一個(gè)Pod中運(yùn)行容器,會(huì)存在共享文件的需求。

數(shù)據(jù)卷的類(lèi)型:

1.emptyDir
emptyDir數(shù)據(jù)卷類(lèi)似于docker數(shù)據(jù)持久化的docker manager volume,該數(shù)據(jù)卷初分配時(shí),是一個(gè)空目錄,同一個(gè)Pod中的容器可以對(duì)該容器中的目錄具有執(zhí)行讀寫(xiě)操作,并且共享數(shù)據(jù)。
場(chǎng)景特點(diǎn):一個(gè)相同的pod,不同的容器,共享數(shù)據(jù)卷
如果容器被刪除,數(shù)據(jù)仍然存在,如果Pod被刪除,數(shù)據(jù)也會(huì)被刪除

測(cè)試:

**vim  emptyDir.yaml**
apiVersion: v1
kind: Pod
metadata:
  name: producer-consumer
spec:
  containers:
  - image: busybox
    name: producer
    volumeMounts:
    - mountPath: /producer_dir#這里的路徑指的是容器內(nèi)的路徑
      name: shared-volume#指定本地的目錄名
    args:#定義容器運(yùn)行后,會(huì)進(jìn)行的操作
    - /bin/sh
    - -c
    - echo "hello k8s" > /producer_dir/hello; sleep 30000

  - image: busybox
    name: consumer
    volumeMounts:
    - mountPath: /consumer_dir
      name: shared-volume
    args:
    - /bin/sh
    - -c
    - cat /consumer_dir/hello; sleep 30000

  volumes:
  - name: shared-volume#這里的值需要與上面Pod的mountPath的name值對(duì)應(yīng)
    emptyDir: {}#定義數(shù)據(jù)持久化的類(lèi)型,即表示空目錄

kubectl apply -f emptyDir.yaml #執(zhí)行文件
docker inspect (查看容器的詳細(xì)信息):Mount掛載點(diǎn)
k8s存儲(chǔ)數(shù)據(jù)持久化,emptyDir,hostPath,基
可以進(jìn)入目錄在宿主機(jī)查看數(shù)據(jù)。
k8s存儲(chǔ)數(shù)據(jù)持久化,emptyDir,hostPath,基
kubectl get pod -o wide (-w):可以詳細(xì)的查看pod信息
加上-w:可以實(shí)時(shí)查看。并且知道容器運(yùn)行在那個(gè)節(jié)點(diǎn)。
k8s存儲(chǔ)數(shù)據(jù)持久化,emptyDir,hostPath,基
kubectl logs {pod名} consumer可以查看目錄中的數(shù)據(jù)。

根據(jù)測(cè)試可以查看節(jié)點(diǎn)上的容器,掛載目錄是否相同。相同則環(huán)境正確??梢詣h除容器查看數(shù)據(jù)是否丟失,在刪除master節(jié)點(diǎn)pod查看數(shù)據(jù)是否還在。
根據(jù)測(cè)試,emptyDir數(shù)據(jù)持久化一般只能作為臨時(shí)存儲(chǔ)使用。

2.hostPath Volume
1》將Pod所在節(jié)點(diǎn)的文件系統(tǒng)上某一個(gè)文件或目錄掛載進(jìn)容器內(nèi)。
2》類(lèi)似于docker數(shù)據(jù)持久化的bind mount。如果Pod被刪除,數(shù)據(jù)會(huì)保留。相比較emptyDir要好一些,不過(guò)一但host崩潰,hostPath也無(wú)法訪(fǎng)問(wèn)了。
3》使用這種數(shù)據(jù)持久化的場(chǎng)景不多,因?yàn)闀?huì)增加Pod與節(jié)點(diǎn)之間的耦合性。

3.Persistent  Volume :pv (持久卷) 提前做好的,數(shù)據(jù)持久化的存放目錄。
    persistentVolumeClaim: PVC (持久卷使用聲明 | 申請(qǐng))
    pvc是用戶(hù)存儲(chǔ)的請(qǐng)求。類(lèi)似于pod。pod消耗節(jié)點(diǎn)資源,pvc消耗存儲(chǔ)資源。pod可以請(qǐng)求特定級(jí)別的資源(cpu,內(nèi)存)。pvc根據(jù)權(quán)限可以請(qǐng)求特定的大小和訪(fǎng)問(wèn)模式。

基于NFS服務(wù)來(lái)做PV:

安裝NFS服務(wù)及rpcbind服務(wù):
1.[root@master?yaml]#?yum?install?-y?nfs-utils?rpcbind??#這里注意三臺(tái)都要安裝NFS服務(wù)。
2.[root@master?yaml]#?vim?/etc/exports??
文件中添加/nfsdata??*(rw,sync,no_root_squash)??
4.[root@master?yaml]#?mkdir?/nfsdata??
5.[root@master?yaml]#?systemctl?start?rpcbind??
6.[root@master?yaml]#?systemctl?start?nfs-server.service???
7.[root@master?yaml]#?showmount?-e??
Export?list?for?master:??
/nfsdata?*??

創(chuàng)建PV資源對(duì)象:

vim nfs-pv.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: test
spec:
  capacity:#給予的容量大小
    storage: 1Gi
  accessModes:#PV支持的訪(fǎng)問(wèn)模式
    - ReadWriteOnce#這里表示只能以讀寫(xiě)的方式掛載到單個(gè)節(jié)點(diǎn)
  persistentVolumeReclaimPolicy: Recycle#pv的回收策略:表示自動(dòng)清楚數(shù)據(jù)
  storageClassName: nfs#定義的存儲(chǔ)類(lèi)名字
  nfs:#這里要和上面定義的存儲(chǔ)類(lèi)名字一致
    path: /nfsdata/pv1#指定NFS的目錄
    server: 192.168.1.1#指定NFS服務(wù)器的IP
執(zhí)行nfs-pv.yaml文件:
**`?kubectl?apply?-f?nfs-pv.yaml??`?**
persistentvolume/test?created??
**`?kubectl?get?pv??`**
NAME??????CAPACITY???ACCESS?MODES???RECLAIM?POLICY???STATUS??????CLAIM???STORAGECLASS???REASON???AGE??
test???1Gi????????RWO????????????Recycle?????????**?Available?**??????????nfs?????????????????????7s??
**這里注意STATUS狀態(tài)為Available才能夠使用。**

pv支持的訪(fǎng)問(wèn)模式:
ReadWriteOnce:訪(fǎng)問(wèn)模式為只能以讀寫(xiě)的方式掛載到單個(gè)節(jié)點(diǎn)
ReadWriteMany:訪(fǎng)問(wèn)模式為只能以讀寫(xiě)的方式掛載到多個(gè)節(jié)點(diǎn)
ReadOnlyMany:訪(fǎng)問(wèn)模式為只能以只讀的方式掛載到多個(gè)節(jié)點(diǎn)
PV存儲(chǔ)空間的回收策略
Recycle:自動(dòng)清除數(shù)據(jù)。
Retain:需要管理員手動(dòng)回收。
Delete:云存儲(chǔ)專(zhuān)用。
PV和PVC相互的關(guān)聯(lián):通過(guò)的是storageClassName與accessModes

創(chuàng)建PVC:
 vim nfs-pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: test
spec:
  accessModes:
    - ReadWriteOnce#定義訪(fǎng)問(wèn)模式,這里必須與Pv定義一致
  resources:
    requests:
      storage: 1Gi#請(qǐng)求容量的大小
  storageClassName: nfs#存儲(chǔ)類(lèi)的名字,必須與pv定義的一致。

運(yùn)行,并查看PVC和PV:
kubectl?apply?-f?nfs-pvc.yaml???
關(guān)聯(lián)后會(huì)看見(jiàn),Bound:
k8s存儲(chǔ)數(shù)據(jù)持久化,emptyDir,hostPath,基
k8s存儲(chǔ)數(shù)據(jù)持久化,emptyDir,hostPath,基


網(wǎng)頁(yè)名稱(chēng):k8s存儲(chǔ)數(shù)據(jù)持久化,emptyDir,hostPath,基
文章鏈接:http://weahome.cn/article/gehcpd.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部