iT邦幫忙

0

ubuntu上用來做目錄掛載 + 權限認證的方法只有NFS+NIS嗎?

先打個預防針
各位大神好由於剛進入後端的世界沒多久而且對Linux生態也不了解,而且對於kuburntes我目前也還停留在minikube的階段,用字遣詞可能不標準,請多多包涵 >w<。

今天跟教授meeting時有被建議可以用到標題提到的東西,查一查之後覺得這東西也太舊了...想知道有沒有更符合我的架構或新的解法。
但先聲明我無意冒犯w 到底是舊還是不舊我並沒有概念,只是生在一個被各種框架套件寵壞的時代,難免有一些使子挑軟的吃的想法,請多多包涵QwQ。

問題開始

可能有人會好奇為甚麼有kubernetes的標籤,還有為甚麼會扯到後端,請容許我慢慢解釋。
我先來說說我在想什麼吧!
然後每個問題點我都會標記,這樣大家也能少打點字,比較好回答~
如果有額外的問題想熱心地回答,我會很開心的!

具體要實現的目標:

首先,我會提供一個前端網站讓使用者使用。

使用者可以擁有自己的workingSpace,workingSpace是位於server中的一個資料夾,他可以上傳檔案到此資料夾,也可以瀏覽或下載此資料夾中的檔案。

而這個資料夾還有一個特殊的功能,這個資料夾會被掛載到某個kubernetes所運行的Pod下,因為Pod裡面運行的程式會需要從workingSpace的目錄裡面抓東西出來用,並產生一些處理後的檔案再存回此workingSpace中。

後端提供的各種服務我會做containerization,並且讓kubernetes來管理他們

我想實現的架構大概是個甚麼樣子 :

Master node:

負責跟前端對話的API server 跟 一些帳號密碼的認證我會把他做在 Master node上。
然後做完認證之後我們就幫user設定cookie(認證的token之類的),接著user就可以拿著憑證開始訪問其他服務(API),例如瀏覽自己的workingspace 或從上面download檔案。

這代表了,Master Node 需要知道所有的目錄,但我們不可能把檔案跟user的workinSpace(folder)儲存在mster node上,而是master node上的服務只處理request的轉送與間接管理其他機器上的目錄。

其他 Node :

  1. 運行保存使用者workingSpace(folder&file)的Node - Data server :
    如果你使用上傳/下載服務,那檔案將被保存在這裡或從這裡被下載。

  2. 運行了containerlized application的Node們 - Application server :
    這些node必須確保他們能取得Data server的目錄,而這些目錄會掛載到kubernets的pod中,讓運行的app可以存取。Q1:這樣能用NFS+NIS來做嗎?或者有更好的做法?

而這裡還產生了幾個問題點了 :

  1. Q2:假如 Data server不只一台機器,那勢必會有很多 Data server + Application server的群組,那這樣管理起來會不會有問題?或是這樣的架構很多餘?
  2. Q3:Data server與application server並不是單純的一對一關係,而是Data server可以透過工作負載來動態調整哪些目錄要被哪些application server存取,或是反過來 application server可以動態的決定要掛載哪些Data server下的目錄這樣~

--------感謝您願意抽空讀到這裡---------

先送上感謝 Orz

froce iT邦大師 2 級 ‧ 2020-02-16 23:17:43 檢舉
工作上沒搞到這種叢集的東西,所以不是很清楚,不過你可以看看這個。
https://jimmysong.io/kubernetes-handbook/concepts/volume.html
除了那些雲端公司的雲端儲存,要搞大規模可擴展的應該是ceph。
jokie7585 iT邦新手 5 級 ‧ 2020-02-18 01:22:28 檢舉
@force 感謝!

尚未有邦友回答

立即登入回答