公眾號文章匯總
781
2025-03-31
為了實現(xiàn)容器的無狀態(tài)化,通常需要對容器進行存儲持久化改造,改造的范圍涉及一切本地狀態(tài),主要包括:
l?? 內存
l?? 本地文件
l?? 掛載的網(wǎng)絡存儲設備
通常采用的改造方法包括:
l?? 采用分布式緩存:分布式緩存可以替代本地內存存放中間計算結果,也可以實現(xiàn)多個容器之間對數(shù)據(jù)的共享;
l?? 采用分布式文件或對象存儲:可以將本地文件保存在分布式文件或對象存儲中,通過API接口進行讀寫訪問;
l?? 通過容器數(shù)據(jù)卷掛載NAS存儲,避免容器直接掛在NAS存儲;
某些場景下需要為容器掛載數(shù)據(jù)卷來實現(xiàn)如日志輸出,配置文件注入等功能,容器數(shù)據(jù)卷的類型包括:
l?? HostPath:主要用于在容器中掛載宿主機上的文件或目錄,以及保存應用日志。
l?? EmptyDir:主要用于臨時的高速存儲,也可以用于一個Pod內多個容器共享數(shù)據(jù)。
l?? ConfigMap:主要用于配置文件的加載;
l?? Secret:主要用于加載包含敏感信息的配置文件;
l?? NFS:用于掛載NSF存儲
l?? 塊存儲:用于掛載分布式塊存儲
某些應用難以做到無狀態(tài)化,例如Redis、Zookeeper等,可能由于應用嚴重依賴本地狀態(tài)數(shù)據(jù)或應用集群中各個實例地位不對等,需要有穩(wěn)定的唯一標識,并遵守嚴格的啟停順序等。此時需要采用Kubernetes的StatefulSet模型來處理這類有狀態(tài)應用負載。在有狀態(tài)應用中通常會依賴上述的數(shù)據(jù)卷實現(xiàn)數(shù)據(jù)的持久化保存。
容器
版權聲明:本文內容由網(wǎng)絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內刪除侵權內容。
版權聲明:本文內容由網(wǎng)絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內刪除侵權內容。