使用tridentct利 管理Astra三端
https://github.com/NetApp/trident/releases["Trident 安装程序包"^]包含 `tridentctl`命令行实用程序、可用于轻松访问Astra Trident。具有足够权限的Kubornetes用户可以使用它来安装Astra Dent或管理包含Astra Dent Pod的命名空间。
命令和全局标志
您可以运行 tridentctl help`以获取可用命令的列表 `tridentctl
、或者将标志附加 `--help`到任何命令以获取该特定命令的选项和标志列表。
tridentctl [command] [--optional-flag]
Astra Trident `tridentctl`实用程序支持以下命令和全局标志。
命令
create
-
将资源添加到Asta Trdent。
delete
-
从Asta Trdent中删除一个或多个资源。
get
-
从Asta三端获取一个或多个资源。
help
-
有关任何命令的帮助。
images
-
打印一个表格、其中包含Asta Trident所需的容器图像。
import
-
将现有资源导入到Asta Trident中。
install
-
安装 Astra Trident 。
logs
-
从Asta Trdent打印日志。
send
-
从Asta Trendent发送资源。
uninstall
-
卸载Astra trident。
update
-
在Asta Dent中修改资源。
update backend state
-
暂时暂停后端操作。
upgrade
-
升级Asta Trdent中的资源。
version
-
打印Asta Trdent的版本。
全局标志
-d
、--debug
-
调试输出。
-h
、--help
-
帮助
tridentctl
。 -k
、--kubeconfig string
-
指定 `KUBECONFIG`在本地或从一个Kubornetes集群到另一个集群运行命令的路径。
或者、您也可以导出此 `KUBECONFIG`变量以指向特定Kubnetes集群、然后向该集群发出 `tridentctl`命令。 -n
、--namespace string
-
Astra三端部署的命名空间。
-o
、--output string
-
输出格式。json_yaml_name_wide|ps 之一(默认)。
-s
、--server string
-
Asta三端REST接口的地址/端口。
可以将 Trident REST 接口配置为仅以 127.0.0.1 (对于 IPv4 )或(:: 1 )(对于 IPv6 )侦听和提供服务。
命令选项和标志
创建
使用 `create`命令将资源添加到Asta Trident。
tridentctl create [option]
- 选项
-
backend
:将后端添加到Astra Trident。
删除
使用 `delete`命令从Astra Trident中删除一个或多个资源。
tridentctl delete [option]
- 选项
-
backend
:从Asta Trident中删除一个或多个存储后端。
snapshot
:从Astra Trident中删除一个或多个卷快照。
storageclass
:从Asta Trident中删除一个或多个存储类。
volume
:从Asta Trident中删除一个或多个存储卷。
获取
使用 `get`命令从Asta Trident获取一个或多个资源。
tridentctl get [option]
- 选项
-
backend
:从Asta Trident获取一个或多个存储后端。
snapshot
:从Asta Trident获取一个或多个快照。
storageclass
:从Asta Trident获取一个或多个存储类。
volume
:从Asta Trident获取一个或多个卷。 - 标志
-
-h
--help
:卷的帮助。
--parentOfSubordinate string
:将查询限制为从属源卷。
--subordinateOf string
:将查询限制为卷的子卷。
映像
使用 `images`标志打印Astra Trident所需容器映像的表。
tridentctl images [flags]
- 标志
-
-h
--help
:图像帮助。
-v
--k8s-version string
:Kubornetes集群的语义版本。
导入卷
使用 `import volume`命令将现有卷导入到Astra Trident。
tridentctl import volume <backendName> <volumeName> [flags]
- 别名
-
volume
、v
- 标志
-
-f
--filename string
:YAML或JSON PVC文件的路径。
-h
--help
:卷的帮助。
--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
:所有KubeNet操作的超时(默认值为3m0)。
--kubelet-dir string
:kubelet内部状态的主机位置(默认为"/var/lib/kubelet")。
--log-format string
:Astra Trident日志记录格式(文本、json)(默认为“文本”)。
--pv string
:Astra Trident使用的原有PV的名称,确保不存在(默认为“Trident”)。
--pvc string
:Asta Trident使用的原有PVC的名称,确保不存在(默认为“Trident”)。
--silence-autosupport
:不自动向NetApp发送AutoSupport分发包(默认为true)。
--silent
:在安装期间禁用大多数输出。
--trident-image string
:要安装的Astra Trident映像。
--use-custom-yaml
:使用安装目录中的任何现有YAML文件。
--use-ipv6
:使用IPv6进行Asta Trident的通信。
日志
使用 `logs`标志从Astra Trident打印日志。
tridentctl logs [flags]
- 标志
-
-a
--archive
:创建包含所有日志的支持归档文件,除非另有说明。
-h
--help
:日志帮助。
-l
--log string
:要显示的Asta Trident日志。Trident |自动|Auto-operator|all之一Trident (默认值为"auto")。
--node string
:要从中收集节点Pod日志的Kubbernetes节点名称。
-p
--previous
:获取上一个容器实例(如果存在)的日志。
--sidecars
:获取此容器的日志。
发送
使用 `send`命令从Asta Trident发送资源。
tridentctl send [option]
- 选项
-
autosupport
:将AutoSupport归档发送到NetApp。
卸载
使用 `uninstall`标志卸载Astra Trident。
tridentctl uninstall [flags]
- 标志
-
-h, --help
:卸载帮助。
--silent
:卸载期间禁用大多数输出。
更新
使用 `update`命令修改Asta Trident中的资源。
tridentctl update [option]
- 选项
-
backend
:在Astra Trident中更新后端。
更新后端状态
使用 `update backend state`命令暂停或恢复后端操作。
tridentctl update backend state <backend-name> [flag]
-
如果使用TridentBackendConfig (tbc)创建后端、则无法使用文件更新后端
backend.json
。 -
如果
userState
已在tbc中设置、则无法使用命令修改tridentctl update backend state <backend-name> --user-state suspended/normal
。 -
通过tbc设置后、要重新获得通过tldentctt设置的功能
userState
、必须从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
已暂停。 -
CloneVolume
、ResizeVolume
PublishVolume
、、UnPublishVolume
、CreateSnapshot
GetSnapshot
RestoreSnapshot
、DeleteSnapshot
、、RemoveVolume
、GetVolumeExternal
ReconcileNodeAccess
保持可用。
您也可以使用后端配置文件或中的字段更新后端状态 userState
TridentBackendConfig
backend.json
。有关详细信息,请参阅 "用于管理后端的选项" 和 "使用 kubectl 执行后端管理"。
-
示例: *
按照以下步骤使用文件更新 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
使用 `version`标志可打印的版本 `tridentctl`以及正在运行的Trident服务。
tridentctl version [flags]
- 标志
-
--client
:仅限客户端版本(不需要服务器)。
-h, --help
:版本帮助。