tridentctlを使用したTridentの管理
には、 "Trident インストーラバンドル"Tridentに簡単にアクセスできるコマンドラインユーティリティが含まれてい `tridentctl`ます。十分なPrivilegesを持つKubernetesユーザは、Tridentをインストールしたり、Tridentポッドを含むネームスペースを管理したりできます。
コマンドとグローバルフラグ
走れ tridentctl help 使用可能なコマンドのリストを取得するには tridentctl または、 --help 特定のコマンドのオプションとフラグのリストを取得するには、任意のコマンドにフラグを付けます。
tridentctl [command] [--optional-flag]
Trident `tridentctl`ユーティリティは、次のコマンドとグローバルフラグをサポートしています。
コマンド
create-
Tridentにリソースを追加します。
delete-
Tridentから1つ以上のリソースを削除します。
get-
Tridentから1つ以上のリソースを取得します。
help-
任意のコマンドに関するヘルプ。
images-
Tridentが必要とするコンテナイメージの表を印刷します。
import-
既存のリソースをTridentにインポートします。
install-
Trident をインストール
logs-
Tridentからログを印刷します。
send-
Tridentからリソースを送信します。
- uninstall
-
Tridentをアンインストールします。
update-
Tridentでリソースを変更します。
update backend state-
バックエンド処理を一時的に中断します。
upgrade-
Tridentでリソースをアップグレードします。
- 「バージョン」
-
Tridentのバージョンを印刷します。
グローバルフラグ
-d、--debug-
デバッグ出力。
-h、--help-
ヘルプ
tridentctl。 -k、--kubeconfig string-
を指定します。
KUBECONFIGコマンドをローカルまたはKubernetesクラスタ間で実行するパス。または、 KUBECONFIG特定のKubernetesクラスタと問題をポイントする変数tridentctlそのクラスタにコマンドを送信します。 -n、--namespace string-
Trident環境のネームスペース。
-o、--output string-
出力形式。JSON の 1 つ | yaml | name | wide | ps (デフォルト)。
-s、--server string-
Trident RESTインターフェイスのアドレス/ポート。
Trident REST インターフェイスは、 127.0.0.1 ( IPv4 の場合)または [::1] ( IPv6 の場合)のみをリスンして処理するように設定できます。
コマンドオプションとフラグ
作成
コマンドを使用し `create`て、Tridentにリソースを追加します。
tridentctl create [option]
- オプション( Options )
-
backend:Tridentにバックエンドを追加します。
削除
コマンドを使用し `delete`て、Tridentから1つ以上のリソースを削除します。
tridentctl delete [option]
- オプション( Options )
-
backend:Tridentから1つ以上のストレージバックエンドを削除します。
snapshot:Tridentから1つ以上のボリュームSnapshotを削除します。
storageclass:Tridentから1つ以上のストレージクラスを削除します。
volume:Tridentから1つ以上のストレージボリュームを削除します。
取得
コマンドを使用し `get`て、Tridentから1つ以上のリソースを取得します。
tridentctl get [option]
- オプション( Options )
-
backend:Tridentから1つ以上のストレージバックエンドを取得します。
snapshot:Tridentから1つ以上のスナップショットを取得します。
storageclass:Tridentから1つ以上のストレージクラスを取得します。
volume:Tridentから1つ以上のボリュームを取得します。 - フラグ
-
-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]
- エイリアス
-
volume、v - フラグ
-
-f、--filename string: YAMLまたはJSON PVCファイルへのパス。
-h、--help:ボリュームのヘルプ。
--no-manage:PV/PVCのみを作成します。ボリュームのライフサイクル管理を想定しないでください。
をインストールします
フラグを使用し `install`てTridentをインストールします。
tridentctl install [flags]
- フラグ
-
--autosupport-image string: Autosupport Telemetry のコンテナ イメージ (デフォルトは「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 リクエスト タイムアウトをオーバーライドします (デフォルトは 1 分 30 秒)。
--image-registry string: 内部イメージ レジストリのアドレス/ポート。
--k8s-timeout duration: すべての Kubernetes 操作のタイムアウト (デフォルトは 3 分 0 秒)。
--kubelet-dir string: kubelet の内部状態のホストの場所 (デフォルトは「/var/lib/kubelet」)。
--log-format string: Trident のログ形式 (テキスト、json) (デフォルトは「text」)。
--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 リクエストの 1 秒あたりのクエリ数 (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:ノードポッドログの収集元となるKubernetesノード名。
-p,:--previous`以前のコンテナインスタンスが存在する場合は、そのインスタンスのログを取得します。:サイドカーコンテナのログを取得します。
`--sidecars
送信
Tridentからリソースを送信するには、コマンドを使用し `send`ます。
tridentctl send [option]
- オプション( Options )
-
autosupport:ネットアップにAutoSupport アーカイブを送信します。
をアンインストールします
フラグを使用して `uninstall`Tridentをアンインストールします。
tridentctl uninstall [flags]
- フラグ
-
-h, --help:アンインストールのヘルプ。
--silent:アンインストール中のほとんどの出力を無効にします。
更新
Tridentのリソースを変更するには、コマンドを使用し `update`ます。
tridentctl update [option]
- オプション( Options )
-
backend: 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、userState`tbcからフィールドを削除する必要があります。これは、コマンドを使用して実行でき `kubectl edit tbcます。フィールドを削除したらuserState、コマンドを使用してバックエンドのを変更userState`できます `tridentctl update backend state。 -
を使用して
tridentctl update backend stateを変更しuserState`ます。またはファイルを使用して更新することもでき `userStateTridentBackendConfigbackend.jsonます。これにより、バックエンドの完全な再初期化がトリガーされ、時間がかかる場合があります。- フラグ
-
-h、--help:バックエンド状態のヘルプ。
--user-state:に設定suspendedバックエンド処理を一時停止します。をに設定しますnormalバックエンド処理を再開します。に設定するとsuspended:
-
AddVolumeImport Volume一時停止しています。 -
CloneVolume、ResizeVolume、PublishVolume、UnPublishVolume、、CreateSnapshotGetSnapshotRestoreSnapshot、、DeleteSnapshot、RemoveVolume、、GetVolumeExternalReconcileNodeAccess引き続き使用できます。
バックエンド構成ファイルまたはのフィールドを使用して、バックエンドの状態を更新することもできます userState TridentBackendConfig backend.json。詳細については、およびを参照して "バックエンドを管理するためのオプション" "kubectl を使用してバックエンド管理を実行します"ください。
-
例: *
ファイルを使用してを更新するには、次の手順を実行し userState backend.json ます。
-
ファイルを編集して
backend.json、値が「中断」に設定されたフィールドを含めuserStateます。 -
バックエンドを更新するには、 `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"
}
tbcが適用されたら、コマンドを使用して編集できます kubectl edit <tbc-name> -n <namespace> 。次に、オプションを使用してバックエンド状態をsuspendに更新する例を示し 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は、プラグインバイナリファイル名が"tridentctl -<plugin>"というスキームに沿っている場合にプラグインを検出し、そのバイナリがPATH環境変数のリストにあるフォルダにあることを示します。検出されたすべてのプラグインは、tridentctlヘルプのpluginセクションに表示されます。オプションで、環境変数TRIDENTCTL_PLUGIN_PATHにプラグインフォルダを指定して検索を制限することもできます(例: TRIDENTCTL_PLUGIN_PATH=~/tridentctl-plugins/)。変数が使用されている場合、tridenctlは指定されたフォルダのみを検索します。