【下一代核心技術DevOps】:(六)Rancher集中存儲及相關應用

1. 前言mysql

爲何要使用集中存儲? 使用集中存儲有個很大的優點是數據安全和統一管理,和集羣完美配合。 產品集成存儲經歷過幾個階段:nginx

  1.單機本機存儲。 系統使用本地硬盤存儲sql

  2.單網絡集中存儲。 局域網主機使用同一網絡內的磁盤陣列存儲單元docker

  3.分佈式集羣本地存儲。 集羣節點使用本身本地硬盤存儲。安全

  4.分佈式集羣集中存儲。集羣節點使用集中存儲(其背後能夠是單一存儲也能夠是分佈式存儲,集中存儲至關於一個代理入口)服務器

其中雲計算用的最多的是 3,4 這幾個。主要適應於網絡架構的分佈式設計和基本雲計算存儲,如多機房,多地存儲。使用集中存儲給運維帶來的最大網絡

優點就是核心數據保存,不怕應用崩潰,各類docker容器均可以隨時拋棄,重建。不用擔憂數據問題。架構

 

2. Rancher中使用集中存儲NFS運維

Rancher對Docker集羣的管理已是很是方便,默認是沒有加載共享存儲的,咱們這裏使用RancherNFS插件來實現一個統一的存儲,分佈式

固然也能夠選擇其餘的插件,目前官方只有這一個,其餘非官方的如CephFS,FastDfs等請自行添加插件或自寫插件來實現。在此不作過多解讀

點擊Rancher應用商店,搜索nfs,找到官方插件並添加

 填寫主機地址:IP

目錄: 建議不要填 / 而是指向NFS服務器存儲的一個目錄

 ON_Remove: Purge: 刪除映射目錄時會刪除NFS遠程對應的數據  Retain:不刪除遠程數據

 點「啓動」便可 ,Rancher會在各個宿主機上面添加NFS驅動

 

 

 

   查看NFS驅動,每一個宿主機都已啓動完畢

 

 使用NFS:

 咱們在添加服務的時候, 能夠配置下卷  name:/容器對應目錄 

  填  logs:/opt/logs  會對應遠程NFS裏面 新建的 logs目錄

  若是填  /logs:/opt/logs  則是經常使用的卷映射,會寫入宿主機本地的/logs目錄

 驅動填寫默認的  rancher-nfs

 這樣 容器裏面讀寫的文件就直接操做遠程Nfs服務器了

 

 

 查看效果: 

 啓動應用後,容器的日誌已經輸出到NFS裏面了。

 

 用途及注意事項:

 主要是針對日誌類的,能夠統一作日誌蒐集。

 針對於數據持久化的,如MySQL數據  能夠 經過映射 mysql/data:/var/lib/mysql  把數據集中存儲到NFS上

 注意:1. 集中存儲要考慮到同時讀寫的問題,即Lock。 有的程序沒法同用一套數據,這時候要考慮到單獨讀寫或放到多個變量子目錄

             如MySQL沒法同時起2個實例讀寫一套數據。

            2. NFS插件還有不完善的地方, 如只能映射目錄,沒法映射文件 ,咱們經常使用的 -v /nginx.conf:/nginx.conf 就沒法使用了。

            3. 多NFS服務器配置,沒法從UI界面添加, 只能從YML文件來處理。

            4. 集中存儲必定要考慮速度問題,畢竟網絡傳輸沒有本地傳輸速度快,儘可能選擇公有云/私有云網絡是走光纖通道的。儘可能不要跨地域傳輸,如深圳的使用上海的NFS服務器

            5. 儘量使用可靠性有保障的存儲,畢竟服務器,容器神碼的均可以丟棄,數據是要絕對安全的。推薦阿里雲的NFS服務,能夠保障9個9的安全性。

相關文章
相關標籤/搜索