Ohara: [Question] 是否要將k8s模式中處理node的方式仿照docker模式?

Created on 4 Jun 2020  ·  20Comments  ·  Source: oharastream/ohara

起因是這樣:

  1. 我們希望由ohara統一管理container volume (包含local folder)
  2. k8s在volume上的支援並不滿足我們的需求(感謝@jackyoh的研究

因此,我們打算沿用ssh來滿足我們操作local volume的需求(例如建立刪除權限檢查等等)
換言之,現在k8s模式也需要使用者告訴我們可用的使用者帳戶和密碼

目前我們可以有兩個方式,

  1. 在前端還不支援volume的狀況下,我們只在有人使用volume APIs的時候去檢查node是否有帳號密碼,這樣的好處是可以保有最大的相容性,前端也不需要做更動(因為還不支援volume),壞處是後段會在增加一種"不合法的物件"的情境(類似我們現有的connector and stream)

  2. 現在就要求增加節點的時候需要填入帳號密碼,好處是在前端可以統一nodes的使用方式,後端也可以減少不合法物件的尷尬。壞處是前端必須跟著更動(就算還不支援volume)

help wanted

All 20 comments

@oharastream/developer 麻煩大家看一下,這個問題需要盡早有個定論以便後端完成volume的最後一里路

現在就要求增加節點的時候需要填入帳號密碼,好處是在前端可以統一nodes的使用方式,後端也可以減少不合法物件的尷尬。壞處是前端必須跟著更動(就算還不支援volume)

我個人覺得可以就這個方向討論。
由於目前我這邊已經開始再進行volume wireframe的設計,並且統一node的使用方式感覺也不錯;因為要保持一致,這樣是否在K8S的環境下不能在自動加入node object到configurator內,而需要使用者敲帳號密碼&後端檢查該host有裝k8s slave?

這樣是否在K8S的環境下不能在自動加入node object到configurator內,

沒錯,自動加入的功能就拿掉,反正加進去的節點也是"不完整的"

而需要使用者敲帳號密碼&後端檢查該host有裝k8s slave?

結合以上,yep

  1. ... 壞處是後段會在增加一種"不合法的物件"的情境(類似我們現有的connector and stream)

好像不太理解這個意思, 有人能進一步解說一下嗎? ^^

壞處是後段會在增加一種"不合法的物件"的情境

我在想是否是有關於檢查帳號密碼的部份需要另外來做,不能使用現有的 node api,因為前端目前不支援 k8s 帳號密碼的登入。

好像不太理解這個意思, 有人能進一步解說一下嗎? ^^

理論上Configurator會在route這一層對物件做一次很詳盡的檢查,然後才把物件存放到store供其他元件使用(例如collie)。這樣做的目的是降低之後操作可能發生的錯誤機率(例如一些背景操作不會不斷噴出各種明顯錯誤),同時也表免出現很多if-else來處理”合法的話做a不合法的話做b”這種醜醜的程式碼

我在想是否是有關於檢查帳號密碼的部份需要另外來做,不能使用現有的 node api,因為前端目前不支援 k8s 帳號密碼的登入。

帳密正確與否的可延用docker mode的邏輯,就是去嘗試ssh連線調用docker指令。當然這部分需要一點點的重構讓k8s collie和docker collie共用程式碼

我支持 description 的第 2 個作法,因為我覺得之後 k8s 還會有操作一定需要,使用 ssh 登入到 node 裡去操作檔案系統。例如之後可能會整合 security 的部份,如果使用第 1 種作法不合法的物件
感覺會越來越多,route 也有可能是一個負擔。

"不合法的物件"

請問這裡說的 "不合法的物件" 是什麼?

請問這裡說的 "不合法的物件" 是什麼?

例如缺東缺西、欄位值格式不正確、欄位值內容不正確等等

哦~懂了 ^^

第二個方式 +1
前端的部份應該還需要進一步討論.

做個結論: 那我們就選 2. 囉.

在這個 milestone(M34) 的工作裡,
後端的部份就麻煩 @chia7712, @jackyoh 完成, 這樣至少 Volumn 的API 可以啟用.
前端的部份, 就麻煩 @saivirtue 納入 wireframe 的規劃, 再呼叫大家加入討論. 😄

做個結論: 那我們就選 2. 囉.

這邊前後端可能要先處理兩個比較"小"的議題以便後續開發不會互相影響

  1. 後端先移除"自動添加"節點的功能
  2. 前端要求一定要輸入帳號密碼
  3. 後端要求一定要輸入帳號密碼

前端要求一定要輸入帳號密碼

See #5172

後端先移除"自動添加"節點的功能

5173

後端要求一定要輸入帳號密碼

5174

後端先移除"自動添加"節點的功能

這邊應該是指 k8s 的部份,在 configurator 啟動時開啟 thread 執行自動添加節點的部份。

這邊應該是指 k8s 的部份,在 configurator 啟動時開啟 thread 執行自動添加節點的部份。

沒錯,議題我已經開了,你想做的話可以拿去 :)

ok, 那 #5173 這個議題我來做。

相關的議題已經在進行,因此我將關閉此議題

Was this page helpful?
0 / 5 - 0 ratings