16 持久化儲存

2022-10-08 21:00:16 字數 2322 閱讀 8773

之前我們有提到資料卷:emptydir,是本地儲存,pod重啟,資料就不存在了,需要對資料持久化儲存

對於資料持久化儲存【pod重啟,資料還存在】,有兩種方式

使用命令安裝nfs

yum install -y nfs-utils
首先建立存放資料的目錄

mkdir -p /data/nfx
設定掛載路徑

# 開啟檔案

vim /etc/exports

# 新增如下內容

/data/nfs *(rw,no_root_squash)

執行完成後,即部署完我們的持久化伺服器

然後需要在k8s集群node節點上安裝nfs,這裡需要在 node1 和 node2節點上安裝

yum install -y nfs-utils
執行完成後,會自動幫我們掛載上

下面我們回到nfs服務端,啟動我們的nfs服務

systemctl start nfs
最後我們在k8s集群上部署應用,使用nfs持久化儲存

# 建立乙個pv檔案

mkdir pv

# 進入

cd pv

然後建立乙個yaml檔案nfs-nginx.yaml

通過這個方式,就掛載到了剛剛我們的nfs資料節點下的 /data/nfs 目錄

最後就變成了: /usr/share/nginx/html -> 192.168.44.134/data/nfs 內容是對應的

我們通過這個 yaml檔案,建立乙個pod

建立完成後,我們也可以檢視日誌

可以看到,我們的pod已經成功建立出來了,同時下圖也是出於running狀態

下面我們就可以進行測試了,比如現在nfs服務節點上新增資料,然後在看資料是否存在 pod中

# 進入pod中檢視

kubectl exec -it nginx-dep1 bash

對於上述的方式,我們都知道,我們的ip 和埠是直接放在我們的容器上的,這樣管理起來可能不方便

所以這裡就需要用到 pv 和 pvc的概念了,方便我們配置和管理我們的 ip 位址等元資訊

pv:持久化儲存,對儲存的資源進行抽象,對外提供可以呼叫的地方【生產者】

pvc:用於呼叫,不需要關心內部實現細節【消費者】

建立乙個 pvc.yaml

第一部分是定義乙個 deployment,做乙個部署

然後定義pvc

然後在建立乙個pv.yaml

然後就可以建立pod了

然後我們就可以通過下面命令,檢視我們的 pv 和 pvc之間的繫結關係

到這裡為止,我們就完成了我們 pv 和 pvc的繫結操作,通過之前的方式,進入pod中檢視內容

kubect exec -it nginx-dep1 bash
然後檢視 /usr/share/nginx.html

也同樣能看到剛剛的內容,其實這種操作和之前我們的nfs是一樣的,只是多了一層pvc繫結pv的操作

ActiveMQ持久化儲存

size medium activemq的訊息可以儲存在不同的儲存中,預設是kahadb,leveldb,mysql,oracle size size large 1 配置資料庫連線 size c m apache activemq 5.14.1 confactivemq.xml新增資料庫連線資料。...

docker 儲存持久化

docker容器不適合存放資料,重要的資料要用外部卷儲存,容器可以掛載真實機目錄或者共享儲存為卷 儲存卷對映 docker run itd v 真實機目錄 容器目錄 映象 標籤可以做一台nfs伺服器host01共享 var webroot目錄 docker01伺服器把host01的共享目錄掛載到 m...

redis持久化儲存

redis提供了rdb和aof兩種持久化儲存方案 rdb持久化是指在指定的時間間隔內將記憶體中的資料集快照寫入磁碟。也是預設的持久化方式,這種方式是就是將記憶體中資料以快照的方式寫入到二進位制檔案中,預設的檔名為dump.rdb 對於rdb來說,提供了三種機制 s e bgs e 自動化 該命令會阻...