Skip to main content
本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

使用 tridentctl 管理Trident

貢獻者 netapp-aruldeepa

"Trident安裝包"包括 `tridentctl`用於提供對Trident 的簡單存取的命令列實用程式。擁有足夠權限的 Kubernetes 使用者可以使用它來安裝Trident或管理包含Trident pod 的命名空間。

命令和全域標誌

你可以運行 `tridentctl help`取得可用命令列表 `tridentctl`或附加 `--help`為任何指令新增標誌,即可取得該特定指令的選項和標誌清單。

tridentctl [command] [--optional-flag]

Trident `tridentctl`該實用程式支援以下命令和全域標誌。

命令
create

為Trident新增資源。

delete

從Trident移除一個或多個資源。

get

從Trident獲取一項或多項資源。

help

關於任何命令的幫助。

images

列印一份Trident所需容器影像的表格。

import

將現有資源導入Trident。

install

安裝Trident。

logs

列印Trident的日誌。

send

從Trident發送資源。

uninstall

卸載Trident。

update

在Trident中修改資源。

update backend state

暫時停止後端運轉。

upgrade

在Trident中升級資源。

version

列印Trident版本。

全域標誌
-d--debug

調試輸出。

-h--help

幫助 tridentctl

-k--kubeconfig string

指定 `KUBECONFIG`本地運行命令或從一個 Kubernetes 叢集向另一個 Kubernetes 叢集運行命令的路徑。

註 或者,您可以匯出 `KUBECONFIG`變數指向特定的 Kubernetes 叢集並提出問題 `tridentctl`向該集群發出命令。
-n--namespace string

Trident部署的命名空間。

-o--output string

輸出格式。 json|yaml|name|wide|ps(預設)之一。

-s--server string

Trident REST介面的位址/連接埠。

警告 Trident REST 介面可以設定為僅監聽和提供服務於 127.0.0.1(對於 IPv4)或 [::1](對於 IPv6)。

命令選項和標誌

創造

使用 `create`向Trident新增資源的指令。

tridentctl create [option]

選項

`backend`為Trident添加後端。

刪除

使用 `delete`從Trident移除一個或多個資源的指令。

tridentctl delete [option]

選項

`backend`從Trident刪除一個或多個儲存後端。
`snapshot`從Trident刪除一個或多個磁碟區快照。
`storageclass`從Trident刪除一個或多個儲存類別。
`volume`從Trident刪除一個或多個儲存磁碟區。

得到

使用 `get`從Trident取得一個或多個資源的指令。

tridentctl get [option]

選項

`backend`從Trident取得一個或多個儲存後端。
`snapshot`從Trident取得一個或多個快照。
`storageclass`從Trident取得一個或多個儲存類別。
`volume`從Trident取得一卷或多卷。

旗幟

-h--help :有關卷的幫助。
--parentOfSubordinate string :將查詢限制在子來源磁碟區上。
--subordinateOf string :將查詢限制在磁碟區的下級。

圖片

使用 `images`用於列印Trident所需容器圖像表格的標誌。

tridentctl images [flags]

旗幟

-h--help`圖片幫助。
`-v
--k8s-version string Kubernetes 叢集的語意版本。

進口量

使用 `import volume`將現有磁碟區導入Trident 的指令。

tridentctl import volume <backendName> <volumeName> [flags]

別名

volumev

旗幟

-f--filename string :YAML 或 JSON PVC 檔案的路徑。
-h--help :音量幫助。
`--no-manage`僅建立 PV/PVC。不要想當然地認為有銷量生命週期管理。

安裝

使用 `install`安裝Trident 的標誌。

tridentctl install [flags]

旗幟

--autosupport-image string:自動支援遙測的容器映像(預設為「netapp/trident autosupport:<目前版本>」)。
--autosupport-proxy string`用於發送 Autosupport 遙測資料的代理位址/連接埠。
`--enable-node-prep`嘗試在節點上安裝所需的軟體包。
`--generate-custom-yaml`無需安裝任何軟體即可產生 YAML 檔案。
`-h
--help`安裝幫助。
`--http-request-timeout
:覆蓋Trident控制器 REST API 的 HTTP 請求逾時時間(預設為 1 分 30 秒)。
--image-registry string :內部鏡像倉庫的位址/連接埠。
--k8s-timeout duration :所有 Kubernetes 操作的逾時時間(預設 3 分鐘)。
--kubelet-dir string :kubelet 內部狀態的主機位置(預設為「/var/lib/kubelet」)。
--log-format string Trident日誌格式(文字、JSON)(預設為「文字」)。
--node-prep :使Trident能夠準備 Kubernetes 叢集的節點,以使用指定的資料儲存協定來管理磁碟區。 現在, iscsi`是唯一支援的值。從 OpenShift 4.19 開始,此功能支援的最低Trident版本為 25.06.1.
`--pv string
: Trident使用的舊版 PV 的名稱,確保它不存在(預設值為「trident」)。
--pvc string : Trident使用的舊版 PVC 的名稱,確保它不存在(預設值為「trident」)。
--silence-autosupport :不要自動向NetApp傳送自動支援包(預設為 true)。
--silent`安裝過程中會停用大部分輸出。
`--trident-image string`要安裝的Trident鏡像。
`--k8s-api-qps
Kubernetes API 請求的每秒查詢數 (QPS) 限制(預設為 100;可選)。
--use-custom-yaml`使用安裝目錄中已存在的任何 YAML 檔案。
`--use-ipv6
:Trident 通訊使用 IPv6。

紀錄

使用 `logs`用於列印Trident日誌的標誌。

tridentctl logs [flags]

旗幟

-a--archive`除非另有規定,否則請建立包含所有日誌的支援存檔。
`-h
--help :日誌幫助。
-l--log string`要顯示的Trident日誌。 trident|auto|trident-operator|all(預設值「auto」)之一。
`--node string
:要從中收集節點 pod 日誌的 Kubernetes 節點名稱。
-p--previous :取得先前容器實例的日誌(如果存在)。
`--sidecars`取得邊車容器的日誌。

傳送

使用 `send`從Trident發送資源的指令。

tridentctl send [option]

選項

`autosupport`將 Autosupport 歸檔檔案傳送給NetApp。

解除安裝

使用 `uninstall`卸載Trident 的標誌。

tridentctl uninstall [flags]

旗幟

-h, --help:卸載幫助。
`--silent`卸載過程中會停用大部分輸出。

更新

使用 `update`在Trident中修改資源的指令。

tridentctl update [option]

選項

backend:在Trident中更新後端。

更新後端狀態

使用 `update backend state`暫停或恢復後端操作的命令。

tridentctl update backend state <backend-name> [flag]

需要考慮的幾點
  • 如果後端是使用 TridentBackendConfig (tbc) 建立的,則無法使用下列方式更新後端: `backend.json`文件。

  • 如果 `userState`該值已在待辦事項清單中設置,無法使用以下方式修改: `tridentctl update backend state <backend-name> --user-state suspended/normal`命令。

  • 重新獲得設定能力 `userState`通過 tridentctl,在通過 tbc 設定之後, `userState`必須從待辦事項清單中移除該欄位。這可以透過以下方式實現: `kubectl edit tbc`命令。之後 `userState`欄位已移除,您可以使用 `tridentctl update backend state`更改命令 `userState`後端。

  • 使用 tridentctl update backend state`改變 `userState。您也可以更新 `userState`使用 `TridentBackendConfig`或者 `backend.json`文件;這將觸發後端完全重新初始化,可能會很耗時。

    旗幟

    -h--help :後端狀態幫助。
    --user-state`設定為 `suspended`暫停後端操作。設定為 `normal`恢復後端操作。設定為 `suspended

  • `AddVolume`和 `Import Volume`暫停。

  • CloneVolumeResizeVolumePublishVolumeUnPublishVolumeCreateSnapshotGetSnapshotRestoreSnapshotDeleteSnapshotRemoveVolumeGetVolumeExternal , `ReconcileNodeAccess`仍然可用。

您也可以使用以下方式更新後端狀態 userState`後端設定檔中的字段 `TridentBackendConfig`或者 `backend.json。更多信息,請參閱"後端管理選項""使用 kubectl 執行後端管理"

例:

JSON

請依照以下步驟進行更新 `userState`使用 `backend.json`文件:

  1. 編輯 `backend.json`要包含的文件 `userState`字段值設定為“已暫停”。

  2. 使用以下方式更新後端 `tridentctl update backend`命令和更新後的路徑 `backend.json`文件。

    例子tridentctl update backend -f /<path to backend JSON file>/backend.json -n trident

{
  "version": 1,
  "storageDriverName": "ontap-nas",
  "managementLIF": "<redacted>",
  "svm": "nas-svm",
  "backendName": "customBackend",
  "username": "<redacted>",
  "password": "<redacted>",
  "userState": "suspended"
}
YAML

套用待辦事項後,您可以使用以下方法進行編輯: `kubectl edit <tbc-name> -n <namespace>`命令。以下範例使用以下方式將後端狀態更新為掛起: `userState: suspended`選項:

apiVersion: trident.netapp.io/v1
kind: TridentBackendConfig
metadata:
  name: backend-ontap-nas
spec:
  version: 1
  backendName: customBackend
  storageDriverName: ontap-nas
  managementLIF: <redacted>
  svm: nas-svm
  userState: suspended
  credentials:
    name: backend-tbc-ontap-nas-secret

版本

使用 `version`標誌用於列印版本 `tridentctl`以及正在運行的Trident服務。

tridentctl version [flags]

旗幟

--client:僅限客戶端版本(無需伺服器)。
-h, --help :版本幫助。

插件支援

Tridentctl 支援類似 kubectl 的插件。如果外掛程式二進位檔案名稱遵循「tridentctl-<plugin>」格式,且該二進位檔案位於 PATH 環境變數列出的資料夾中,則 Tridentctl 會偵測到該外掛程式。所有偵測到的外掛程式都列在 tridentctl 幫助的插件部分。您也可以透過在環境變數 TRIDENTCTL_PLUGIN_PATH 中指定插件資料夾來限制搜尋範圍(例如: TRIDENTCTL_PLUGIN_PATH=~/tridentctl-plugins/ )。如果使用該變量,tridenctl 將僅在指定的資料夾中搜尋。