Skip to main content
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

使用trdentctrd管理Trident

贡献者
https://github.com/NetApp/trident/releases["Trident 安装程序包"^]包含 `tridentctl`命令行实用程序、可用于轻松访问Trident。具有足够Privileges的Kubornetes用户可以使用它来安装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发送资源。

卸载

卸载Trident。

update

在Trident中修改资源。

update backend state

暂时暂停后端操作。

upgrade

在Trident中升级资源。

ve版本

打印Trident版本。

全局标志
-d--debug

调试输出。

-h--help

帮助 tridentctl

-k--kubeconfig string

指定 KUBECONFIG 在本地或从一个Kubornetes集群到另一个集群运行命令的路径。

备注 或者、您也可以导出 KUBECONFIG 变量、用于指向特定的Kubbernetes集群和问题描述 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:Kubornetes集群的语义版本。

导入卷

使用 `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: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:Trident日志记录格式(文本,json)(默认为“文本”)。
--node-prep:使Trident能够使Kubbernetes集群的节点做好准备,以便使用指定的数据存储协议管理卷。目前, iscsi`是唯一支持的值。
`--pv string
:Trident使用的原有PV的名称确保不存在(默认为“Trident”)。
--pvc string:Trident使用的原有PVC的名称确保不存在(默认为“Trident”)。
--silence-autosupport:不自动向NetApp发送AutoSupport分发包(默认为true)。
--silent:在安装期间禁用大多数输出。
--trident-image string:要安装的Trident映像。
--use-custom-yaml:使用安装目录中的任何现有YAML文件。
--use-ipv6:使用IPv6进行Trident通信。

日志

使用 `logs`标志从Trident打印日志。

tridentctl logs [flags]

标志

-a --archive:创建包含所有日志的支持归档文件,除非另有说明。
-h --help:日志帮助。
-l --log string:要显示的Trident日志。Trident |自动|Auto-operator|all之一Trident (默认值为"auto")。
--node string:要从中收集节点Pod日志的Kubbernetes节点名称。
-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 已在tbc中设置、则无法使用命令修改 tridentctl update backend state <backend-name> --user-state suspended/normal

  • 要在通过tbc设置后重新能够通过tldentcdt设置 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

  • AddVolumeImport Volume 已暂停。

  • CloneVolumeResizeVolume PublishVolume、、 UnPublishVolumeCreateSnapshot GetSnapshot RestoreSnapshotDeleteSnapshot、、 RemoveVolumeGetVolumeExternal ReconcileNodeAccess 保持可用。

您也可以使用后端配置文件或中的字段更新后端状态 userState TridentBackendConfig backend.json。有关详细信息,请参阅 "用于管理后端的选项""使用 kubectl 执行后端管理"

  • 示例: *

JSON

按照以下步骤使用文件更新 userState backend.json

  1. 编辑 backend.json 文件以包含 userState 字段、并将其值设置为"已附加"。

  2. 使用命令和更新后的文件的路径更新后端 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",
}
YAML

您可以在使用命令应用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:版本帮助。

插件支持

tridentctd支持类似于kubectd的插件。如果插件二进制文件名遵循"tridentcts-tld"方案<plugin>、并且二进制文件位于列出了路径环境变量的文件夹中、则tridentctL)将检测插件。所有检测到的插件都会在trdentctrd帮助的插件部分中列出。您也可以通过在环境变量TRIDENTCTL_plugin_path中指定plugin文件夹来限制搜索(示例: TRIDENTCTL_PLUGIN_PATH=~/tridentctl-plugins/)。如果使用了变量、则trdencdld仅在指定文件夹中搜索。