先打個預防針
各位大神好由於剛進入後端的世界沒多久而且對Linux生態也不了解,而且對於kuburntes我目前也還停留在minikube的階段,用字遣詞可能不標準,請多多包涵 >w<。
今天跟教授meeting時有被建議可以用到標題提到的東西,查一查之後覺得這東西也太舊了...想知道有沒有更符合我的架構或新的解法。
但先聲明我無意冒犯w 到底是舊還是不舊我並沒有概念,只是生在一個被各種框架套件寵壞的時代,難免有一些使子挑軟的吃的想法,請多多包涵QwQ。
可能有人會好奇為甚麼有kubernetes的標籤,還有為甚麼會扯到後端,請容許我慢慢解釋。
我先來說說我在想什麼吧!
然後每個問題點我都會標記,這樣大家也能少打點字,比較好回答~
如果有額外的問題想熱心地回答,我會很開心的!
首先,我會提供一個前端網站讓使用者使用。
使用者可以擁有自己的workingSpace,workingSpace是位於server中的一個資料夾,他可以上傳檔案到此資料夾,也可以瀏覽或下載此資料夾中的檔案。
而這個資料夾還有一個特殊的功能,這個資料夾會被掛載到某個kubernetes所運行的Pod下,因為Pod裡面運行的程式會需要從workingSpace的目錄裡面抓東西出來用,並產生一些處理後的檔案再存回此workingSpace中。
後端提供的各種服務我會做containerization,並且讓kubernetes來管理他們。
負責跟前端對話的API server 跟 一些帳號密碼的認證我會把他做在 Master node上。
然後做完認證之後我們就幫user設定cookie(認證的token之類的),接著user就可以拿著憑證開始訪問其他服務(API),例如瀏覽自己的workingspace 或從上面download檔案。
這代表了,Master Node 需要知道所有的目錄,但我們不可能把檔案跟user的workinSpace(folder)儲存在mster node上,而是master node上的服務只處理request的轉送與間接管理其他機器上的目錄。
運行保存使用者workingSpace(folder&file)的Node - Data server :
如果你使用上傳/下載服務,那檔案將被保存在這裡或從這裡被下載。
運行了containerlized application的Node們 - Application server :
這些node必須確保他們能取得Data server的目錄,而這些目錄會掛載到kubernets的pod中,讓運行的app可以存取。Q1:這樣能用NFS+NIS來做嗎?或者有更好的做法?
而這裡還產生了幾個問題點了 :
--------感謝您願意抽空讀到這裡---------
先送上感謝 Orz