k8s flexvolume lvm使用

我們在做日志收集方案選型的時候,ops 給的方案是日志先落盤,然后再做收集。這樣做有一個好處,對應(yīng)用沒有影響,據(jù)說其他公司有通過網(wǎng)絡(luò)收集日志的,后來收集系統(tǒng)出故障導(dǎo)致應(yīng)用 hang 住。 ops 推薦使用了 flexvolume 插件來支持可擴展 lvm 方案

學(xué)習(xí)了解:

先推薦幾個經(jīng)典的教程:

  https://diamanti.com/flexvolume-explored/
  https://github.com/kubernetes/kubernetes/tree/master/examples/volumes/flexvolume
  http://leebriggs.co.uk/blog/2017/03/12/kubernetes-flexvolumes.html

官網(wǎng)的例子在 https://github.com/kubernetes/community/blob/master/contributors/devel/flexvolume.md

簡單說,flexvolume 支持用戶自定義 volume driver, 這種方式非常靈活,driver 只需要定義實現(xiàn)幾個接口即可

  • init
  • attach
  • detach
  • mount
  • unmount

官網(wǎng)用的 bash 定義的 lvm driver 應(yīng)該是使用最廣泛的,這個不限于 bash, 還可以使用其他語言實現(xiàn)這些接口, 使用 bash 應(yīng)該是考慮通用性方面。

使用 xfs 文件系統(tǒng)做 lvm 遇到的坑點

雖然 lvm shell 腳本中的幾個函數(shù)非常簡單,但還是免不了遇到問題。我們再壓測創(chuàng)建 100個 deployment (每一個掛一個 xfs 的lvm volume),每次壓測會有一個 volume mount 失敗,導(dǎo)致 pod 一致再 containterCreating 狀態(tài)中,

通過日志發(fā)現(xiàn),正在 mount 的 volume type 類型是 xfs_external_log, 通過科普發(fā)現(xiàn) xfs 還有 logdev 這種 volume 類型,看一下 lvm 的實現(xiàn)中

VOLFSTYPE=`blkid -o udev ${DMDEV} 2>/dev/null|grep "ID_FS_TYPE"|cut -d"=" -f2`
   if [ "${VOLFSTYPE}" == "" ]; then
     mkfs -t ${FSTYPE} ${DMDEV} >/dev/null 2>&1
     if [ $? -ne 0 ]; then
         err "{ \"status\": \"Failure\", \"message\": \"Failed to create fs ${FSTYPE} on device ${DMDEV}\"}"
         exit 1
     fi
fi

如果發(fā)現(xiàn) volume type 為空就做格式化,但是缺漏掉了 xfs_external_log 這種類型,xfs_external_log 類型也需要做初始化才能 mount 成功. 可以更改為

    if [ "${VOLFSTYPE}" == "" ] || [ "${VOLFSTYPE}" == "xfs_external_log" ]

這樣就避免了 xfs_external_log 類型的 volume mount 失敗。

flexvolume 的插件是都在 k8s 集群外部實現(xiàn)的,維護沒有那么方便,看官方已經(jīng)有 pr 在 k8s 內(nèi)部實現(xiàn)第三方 volume 插件的支持, 期待中 ...

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • feisky云計算、虛擬化與Linux技術(shù)筆記posts - 1014, comments - 298, trac...
    不排版閱讀 4,354評論 0 5
  • 注: 所有命令都要切換到 root 用戶下執(zhí)行,通過 sudo su 命令可切換到 root 用戶 ,這樣就不需要...
    余帶鹽閱讀 2,475評論 0 4
  • 始於點滴,行於洶涌,匯於浩瀚,靜於無極。 一一少一
    抱樸齋主閱讀 144評論 0 0
  • 午后的陽光不算慵懶,秋天也不像秋天。不知道該怎么形容……二十出頭怎么有那么多力不從心,不知道怎么努力,害怕...
    Dharma59閱讀 378評論 0 0
  • 愛情來了可以發(fā)生在那么一瞬間的回眸,也可以在千百個日夜的陪伴。 一點點的積累讓你確定是曾以為最不可能的他。 01 ...
    J木木菇?jīng)?/span>閱讀 278評論 0 1

友情鏈接更多精彩內(nèi)容