儲存空間(Storage)
儲存空間(Storage)
為管理 Storage 相關的功能,包含儲存空間類別(Storage Class)和儲存卷(Volumes)。
#
儲存空間類別(Storage Class)Storage Class 為 Kubernetes 平台專屬的功能,透過定義 Storage Class,使用者可於 Kubernetes 平台上介接各種不同的儲存裝置來使用。點選頁面左側的STORAGE
下的StorageClass
,即可從頁面右側觀看該使用者所有可使用的 Storage Class 列表,列表中可查看各 Storage Class 的基本資料。
- Storage Class Name:該 Storage Class 的名稱。
- Provisioner:該 Storage Class 於 Kuberentes 使用的 CSI。
- Auth Type:該 Storage Class 的權限類型,共有 user、project、public 三個類型。
- user:可由專案管理者與專案使用者建立,建立後,只可供個人使用。
- project:可由專案管理者建立,建立後,只可供專案管理者使用。
- public:可由系統管理員建立,建立後,可供所有人使用。
- User:該 Storage Class的建立者。
- Action:可對 Storage Class 進行的操作,目前只支援刪除。
#
儲存空間類別資訊點選列表中的任一 Storage Class,即可從下方看到該 Storage Class 的細部資訊。
StorageClass Detail
中呈現的是關於此 Storage Class 相關的參數,參數的說明可參考建立儲存空間類別。
Volume List
中呈現的是透過此 Storage Class 所建立的 Volume 列表,列表中的參數說明可參考儲存卷(Volumes)
#
建立儲存空間類別透過點選Add StorageClass
,即可進入建立 Storage Class 的表單中。
在表單的Basic Info
,可輸入Storage Class Name
、Description
和Project StorageClass
。
- Storage Class Name:即此 Storage Class 的名稱。
- Description:即此 Storage Class 的額外描述。
- Project Stroage Class:決定此 Storage Class 的 Auth Type 是否為 project。此為專案管理者才有的選項。
在表單的Storage Class Setting
,可輸入關於此 Storage Class 的參數,包含Provisioner
、NFS Server IP
、NFS Path
、Mount Options
與Using existing NFS data for volume creation
- Provisioner:選擇此 Storage Class 於 Kuberenetes 底層所使用的 CSI。系統會自動列出目前選擇的 Kubernetes 平台上所安裝的 CSI,若需於平台上新增 CSI,目前必須人工手動進入平台安裝,暫不支援由 Portal 安裝。
- NFS Server IP:輸入 NFS Server IP 資訊。若 Provisioner 選擇了 NFS CSI,則會出現此選項。
- NFS Path:輸入 NFS Path。若 Provisioner 選擇了 NFS CSI,則會出現此選項。
- Parameters:輸入此 Storage Class 相關參數。若 Provisioner 選擇了非 NFS CSI,則會出現此選項。
- Mount Options:若有額外關於 Storage 參數,則可透過新增 Mount Options 來設定。
- Using existing NFS data for volume creation:決定是否以NFS上現有目錄內的資料,作為 Volume 建立的內容。若勾選,則當透過此 Storage Class 建立 Volume 時,不會於 NFS 上新增目錄,而是直接使用 NFS 現有的目錄。若 Provisioner 選擇了 NFS CSI,則會出現此選項。
當表單都填寫完成後,即可點選Submit
來建立 Storage Class。
#
儲存卷(Volumes)Volumes 為基於 Storage Class 所建立的儲存空間。Storage Class 定義要使用底層的哪種 Storage 以及相關的資訊,Volumes 則是於定義的 Storage 中建立可供使用者使用的儲存空間。點選頁面左側的STORAGE
下的Volumes
,即可從頁面右側觀看該使用者所有可使用的 Volumes 列表,列表中可查看各 Volumes 的基本資訊。
- Volume Name:此 Volume 的名稱。
- Status:此 Volume 的狀態,此乃 Kubernetes 既有的資訊。
- Mount:此 Volume 是否有被使用。
- Access Mode:此 Volume 的存取模式,此乃 Kubernetes 既有的資訊。
- Storage Class:此 Volume 是由哪個 Storage Class 所產生。
- Auth:此 Volume 的權限,共有 user、project、public 三種類型。
- user:該使用者專用。若 Storage Class 為 NFS,則該 Volume 可跨專案使用。
- project:該專案下的所有使用者皆可使用。
- public:所有專案下的所有使用者皆可使用。只有當 Storage Class 為 NFS 時才可建立。
- Action:可編輯 Volume 的
Default Container Mount Directory
與Description
#
儲存卷資訊點選列表中的任一 Volumes,即可從下方看到該 Volumes 的細部資訊。
Volume Info
中呈現的是關於此 Volume 相關的資訊。
Mounted Container
中呈現的是有使用到此 Volume 的容器列表。
#
建立儲存卷透過點選Create Volume
,即可進入建立 Volume 的表單中。
在表單的Basic Info
,可輸入Volume Name
、Description
與Project Volume
。
- Volume Name:即此 Volume 的名稱。
- Description:即此 Volume 的額外描述。
- Project Volume:決定此 Volume 的 Auth 是否為 project。此為專案管理員才有的選項。
在表單的Storage Class
,可選擇此 Volume 所使用的 Storage Class。
在表單的Volume Setting
,可設定 Volume 的細部規格,包含Access Mode
、Capacity
、Default Container Mount Directory
和Default Volume
。
- Access Mode:該 Volume 的存取模式。有 ReadWriteMany、ReadWriteOnce 和 ReadOnlyMany 三種模式,所選擇的模式必須是 Storage Class 所支援的模式。
- Capacity:該 Volume 的大小。只有特定的 Storage Class 可確實限制 Volume 大小。
- Default Container Mount Directory:該 Volume 預設掛載到容器的路徑。
- Default Volume:該 Volume 是否為Defaul Volume。若為Default Volume,則當建立容器或容器工作時,會直接將該 Volume 加入。
當表單都填寫完成後,即可點選Submit
來建立 Volume。
#
使用儲存卷建立好的 Volume 可在容器(Container)與容器工作(Container Job)中掛載使用。
以容器工作(Container Job)舉例,當我建立一個 Jobs 時,可在Storage Settings
新增 Volume。使用者可透過Volume
下拉式選單選擇符合自身權限的 Volume 掛載,並透過Mount Directory
決定掛載到容器內的位置。若當初 Volume 設定為 Default Volume,則使用者無需額外設定,該 Volume 的參數就會存在。