使用 Tridentctl 管理 Astra Trident
https://github.com/NetApp/trident/releases["Trident安裝程式套裝組合"^]包含 `tridentctl`命令列公用程式、可讓您輕鬆存取 Astra Trident 。擁有足夠權限的 Kubernetes 使用者可以使用它來安裝 Astra Trident 或管理內含 Astra Trident Pod 的命名空間。
命令和全域旗標
您可以執行 tridentctl help`以取得可用命令清單 `tridentctl
、或將旗標附加 `--help`至任何命令、以取得該特定命令的選項和旗標清單。
tridentctl [command] [--optional-flag]
Astra Trident tridentctl
公用程式支援下列命令和全域旗標。
命令
create
-
新增資源至 Astra Trident 。
delete
-
從 Astra Trident 移除一或多個資源。
get
-
從 Astra Trident 取得一或多個資源。
help
-
任何命令的相關說明。
images
-
列印 Astra Trident 所需的容器影像表格。
import
-
將現有資源匯入 Astra Trident 。
install
-
安裝Astra Trident。
logs
-
列印 Astra Trident 的記錄。
send
-
從 Astra Trident 傳送資源。
uninstall
-
解除安裝 Astra Trident 。
update
-
修改 Astra Trident 中的資源。
update backend state
-
暫時暫停後端作業。
upgrade
-
升級 Astra Trident 中的資源。
version
-
列印 Astra Trident 的版本。
全域旗標
-d
、--debug
-
除錯輸出。
-h
、--help
-
的說明
tridentctl
。 -k
、--kubeconfig string
-
指定 `KUBECONFIG`在本機或從一個 Kubernetes 叢集到另一個叢集執行命令的路徑。
或者、您也可以匯出 `KUBECONFIG`變數以指向特定的 Kubernetes 叢集、然後向該叢集發出 `tridentctl`命令。 -n
、--namespace string
-
Astra Trident 部署的命名空間。
-o
、--output string
-
輸出格式。json之一| yaml| name| wl| ps(預設)。
-s
、--server string
-
Astra Trident REST 介面的位址 / 連接埠。
Trident REST介面可設定為偵聽、僅適用於127.0.0.1(適用於IPV4)或[:1](適用於IPv6)。
命令選項和旗標
建立
使用 `create`命令將資源新增至 Astra Trident 。
tridentctl create [option]
- 選項
-
backend
:將後端新增至 Astra Trident 。
刪除
使用 `delete`命令從 Astra Trident 中移除一或多個資源。
tridentctl delete [option]
- 選項
-
backend
:從 Astra Trident 刪除一個或多個儲存後端。
snapshot
:從 Astra Trident 刪除一個或多個磁碟區快照。
storageclass
:從 Astra Trident 刪除一個或多個儲存類別。
volume
:從 Astra Trident 刪除一個或多個儲存磁碟區。
取得
使用 `get`命令從 Astra Trident 取得一或多個資源。
tridentctl get [option]
- 選項
-
backend
:從 Astra Trident 取得一或多個儲存設備後端。
snapshot
:從 Astra Trident 取得一或多個快照。
storageclass
:從 Astra Trident 取得一或多個儲存類別。
volume
:從 Astra Trident 獲取一個或多個 Volume 。 - 旗標
-
-h
--help
: Volume 說明。
--parentOfSubordinate string
:將查詢限制在從屬來源 Volume 。
--subordinateOf string
:將查詢限制在 Volume 的從屬。
映像
使用 `images`旗標來列印 Astra Trident 所需的容器影像表格。
tridentctl images [flags]
- 旗標
-
-h
、--help
:影像說明。
-v
--k8s-version string
: Kubernetes 叢集的語義版本。
匯入Volume
使用 `import volume`命令將現有的 Volume 匯入 Astra Trident 。
tridentctl import volume <backendName> <volumeName> [flags]
- 別名
-
volume
、v
- 旗標
-
-f
--filename string
: YAML 或 JSON PVC 檔案路徑。
-h
--help
: Volume 說明。
--no-manage
:僅建立 PV/PVC 。不要假設磁碟區生命週期管理。
安裝
使用 `install`旗標來安裝 Astra Trident 。
tridentctl install [flags]
- 旗標
-
--autosupport-image string
: AutoSupport 遙測的容器影像(預設為「 NetApp / Trident AutoSupport : <current-version> 」)。
--autosupport-proxy string
:用於發送 AutoSupport 遙測的代理的地址 / 端口。
--enable-node-prep
:嘗試在節點上安裝所需的軟件包。
--generate-custom-yaml
:生成 YAML 文件而無需安裝任何內容。
-h
--help
:安裝說明。
--http-request-timeout
:覆寫 Trident 控制器 REST API 的 HTTP 要求逾時(預設值為 1m30s )。
--image-registry string
:內部映像登錄的位址 / 連接埠。
--k8s-timeout duration
:所有 Kubernetes 作業的逾時時間(預設為 30 個月)。
--kubelet-dir string
: kubelet 內部狀態的主機位置(預設為「 /var/lib/kubelet 」)。
--log-format string
: Astra Trident 記錄格式( text 、 json )(預設「 text 」(文字))。
--pv string
: Astra Trident 使用的舊 PV 名稱、請確定不存在(預設為「 Trident 」)。
--pvc string
: Astra Trident 使用的舊版 PVC 名稱、請確定不存在(預設為「 Trident 」)。
--silence-autosupport
:不要自動將 AutoSupport 套裝軟體傳送至 NetApp (預設為 true )。
--silent
:在安裝過程中禁用大多數輸出。
--trident-image string
:要安裝的 Astra Trident 映像。
--use-custom-yaml
:使用安裝目錄中存在的任何現有 YAML 文件。
--use-ipv6
:使用 IPv6 進行 Astra Trident 的通訊。
記錄
使用 `logs`旗標列印 Astra Trident 的記錄。
tridentctl logs [flags]
- 旗標
-
-a
,--archive
:創建包含所有日誌的支持歸檔文件(除非另有指定)。
-h
,--help
:日誌幫助。
-l
--log string
:要顯示的 Astra Trident 日誌。其中一個是 Trident | auto| Trident 運算子 | All (預設為「自動」)。
--node string
:要從中收集節點 Pod 日誌的 Kubernetes 節點名稱。
-p
--previous
:獲取以前的 Container 實例的日誌(如果存在)。
--sidecars
:獲取 sidecar 容器的日誌。
傳送
使用 `send`命令從 Astra Trident 傳送資源。
tridentctl send [option]
- 選項
-
autosupport
:將 AutoSupport 歸檔文件傳送至 NetApp 。
解除安裝
使用 `uninstall`旗標來解除安裝 Astra Trident 。
tridentctl uninstall [flags]
- 旗標
-
-h, --help
:卸載幫助。
--silent
:在卸載過程中禁用大多數輸出。
更新
使用 `update`命令修改 Astra Trident 中的資源。
tridentctl update [option]
- 選項
-
backend
:更新 Astra Trident 中的後端。
更新後端狀態
使用 `update backend state`命令暫停或恢復後端作業。
tridentctl update backend state <backend-name> [flag]
-
如果使用 TridentBackendConfig ( tbc )建立後端、則無法使用檔案更新後端
backend.json
。 -
如果已在 tbc 中設定、則
userState
無法使用命令加以修改tridentctl update backend state <backend-name> --user-state suspended/normal
。 -
若要重新取得透過 tbc 設定 Via tridentctl 後的設定能力
userState
、必須從 tbcuserState
移除該欄位。這可以使用命令來完成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
已暫停。 -
CloneVolume
、、ResizeVolume
PublishVolume
UnPublishVolume
CreateSnapshot
、、GetSnapshot
RestoreSnapshot
、、DeleteSnapshot
RemoveVolume
GetVolumeExternal
、、ReconcileNodeAccess
保持可用狀態。
您也可以使用後端組態檔案或中的欄位來更新後端狀態 userState
TridentBackendConfig
backend.json
。如需詳細資訊、請參閱 "管理後端的選項" 和 "以KECBECVL執行後端管理"。
範例:
請依照下列步驟使用檔案更新 userState
backend.json
:
-
編輯
backend.json
檔案、userState
將欄位的值設為「已待定」。 -
使用命令和更新檔案的路徑來更新後端
tridentctl backend update
backend.json
。-
範例 * :
tridentctl backend update -f /<path to backend JSON file>/backend.json
-
{ "version": 1, "storageDriverName": "ontap-nas", "managementLIF": "<redacted>", "svm": "nas-svm", "backendName": "customBackend", "username": "<redacted>", "password": "<redacted>", "userState": "suspended", }
您可以在使用命令套用 tbc 之後編輯它 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`旗標來列印和執行中 Trident 服務的版本 `tridentctl
。
tridentctl version [flags]
- 旗標
-
--client
:僅限用戶端版本(不需要伺服器)。
-h, --help
:版本說明。