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

手动部署 Trident 操作员(标准模式)

您可以手动部署 Trident 操作员来安装 Trident。此过程适用于 Trident 所需的容器映像未存储在私有注册表中的安装。如果确实有专用映像注册表,请使用 "脱机部署流程"

有关 Trident 25.10 的关键信息

您必须阅读以下有关 Trident 的重要信息。

<strong>有关 Trident 的重要信息</strong>
  • Trident 现在支持 Kubernetes 1.34。在升级 Kubernetes 之前升级 Trident。

  • Trident 严格执行在 SAN 环境中使用多路径配置,在 multipath.conf 文件中的建议值为 find_multipaths: no

    使用非多路径配置或在 multipath.conf 文件中使用 find_multipaths: yes`或 `find_multipaths: smart`值将导致挂载失败。自 21.07 版本发布以来,Trident 建议使用 `find_multipaths: no

手动部署 Trident 操作员并安装 Trident

请检查 "安装概述" 以确保您已满足安装先决条件,并为您的环境选择了正确的安装选项。

开始之前

在开始安装之前,请登录到 Linux 主机并验证其是否正在管理工作,"支持的 Kubernetes 集群"以及您是否具有必要的权限。

备注 使用 OpenShift 时,在后面的所有示例中使用 oc`而不是 `kubectl,并首先通过运行 `oc login -u system:admin`或 `oc login -u kube-admin`以 system:admin 身份登录。
Details
  1. 验证您的 Kubernetes 版本:

    kubectl version
  2. 验证集群管理员权限:

    kubectl auth can-i '*' '*' --all-namespaces
  3. 验证是否可以启动使用 Docker Hub 镜像的 Pod,并通过 Pod 网络到达您的存储系统:

    kubectl run -i --tty ping --image=busybox --restart=Never --rm -- \
      ping <management IP>

步骤 1:下载 Trident 安装程序包

Trident 安装程序包包含部署 Trident 操作员和安装 Trident 所需的一切。从 "GitHub 上的 Assets 部分" 下载并提取最新版本的 Trident 安装程序。

wget https://github.com/NetApp/trident/releases/download/v25.10.0/trident-installer-25.10.0.tar.gz
tar -xf trident-installer-25.10.0.tar.gz
cd trident-installer

步骤 2:创建 TridentOrchestrator CRD

创建 TridentOrchestrator Custom Resource Definition (CRD)。您稍后将创建 TridentOrchestrator Custom Resource。在 deploy/crds`中使用适当的 CRD YAML 版本来创建 `TridentOrchestrator CRD。

kubectl create -f deploy/crds/trident.netapp.io_tridentorchestrators_crd_post1.16.yaml

步骤 3:部署 Trident 操作员

Trident 安装程序提供了一个捆绑文件,可用于安装操作员和创建相关对象。捆绑文件是使用默认配置部署操作员和安装 Trident 的简便方法。

  • 对于运行 Kubernetes 1.24 的集群,请使用 bundle_pre_1_25.yaml

  • 对于运行 Kubernetes 1.25 或更高版本的集群,请使用 bundle_post_1_25.yaml

开始之前
  • 默认情况下,Trident 安装程序在 `trident`命名空间中部署运算符。如果 `trident`命名空间不存在,请使用以下方法创建它:

    kubectl apply -f deploy/namespace.yaml
  • 要在 trident 命名空间以外的命名空间中部署运算符,请更新 serviceaccount.yamlclusterrolebinding.yamloperator.yaml,并使用 kustomization.yaml 生成捆绑包文件。

    1. 使用以下命令创建 kustomization.yaml,其中 <bundle.yaml>bundle_pre_1_25.yaml`或 `bundle_post_1_25.yaml,基于您的 Kubernetes 版本。

      cp deploy/kustomization_<bundle.yaml> deploy/kustomization.yaml
    2. 使用以下命令编译捆绑包,其中 <bundle.yaml>bundle_pre_1_25.yaml`或 `bundle_post_1_25.yaml,具体取决于您的 Kubernetes 版本。

      kubectl kustomize deploy/ > deploy/<bundle.yaml>
步骤
  1. 创建资源并部署 operator:

    kubectl create -f deploy/<bundle.yaml>
  2. 验证是否已创建 operator、deployment 和 replicaset。

    kubectl get all -n <operator-namespace>
重要说明 Kubernetes 集群中应该只有*一个实例*的运算符。请勿创建 Trident 运算符的多个部署。

步骤 4:创建 `TridentOrchestrator`并安装 Trident

现在,您可以创建 `TridentOrchestrator`并安装 Trident。或者,您可以"定制您的 Trident 安装"使用 `TridentOrchestrator`规范中的属性。

kubectl create -f deploy/crds/tridentorchestrator_cr.yaml
tridentorchestrator.trident.netapp.io/trident created

kubectl describe torc trident

Name:        trident
Namespace:
Labels:      <none>
Annotations: <none>
API Version: trident.netapp.io/v1
Kind:        TridentOrchestrator
...
Spec:
  Debug:     true
  Namespace: trident
  nodePrep:
  - iscsi
Status:
  Current Installation Params:
    IPv6:                      false
    Autosupport Hostname:
    Autosupport Image:         netapp/trident-autosupport:25.10
    Autosupport Proxy:
    Autosupport Serial Number:
    Debug:                     true
    Image Pull Secrets:
    Image Registry:
    k8sTimeout:           30
    Kubelet Dir:          /var/lib/kubelet
    Log Format:           text
    Silence Autosupport:  false
    Trident Image:        netapp/trident:25.10.0
  Message:                  Trident installed  Namespace:                trident
  Status:                   Installed
  Version:                  v25.10.0
Events:
    Type Reason Age From Message ---- ------ ---- ---- -------Normal
    Installing 74s trident-operator.netapp.io Installing Trident Normal
    Installed 67s trident-operator.netapp.io Trident installed

验证安装

有几种方法可以验证您的安装。

使用 TridentOrchestrator 状态

`TridentOrchestrator`的状态指示安装是否成功,并显示已安装的 Trident 版本。在安装过程中, `TridentOrchestrator`的状态从 `Installing`更改为 `Installed`。如果您观察到 `Failed`状态,并且操作员无法自行恢复,link:../troubleshooting.html["检查日志"]。
状态 说明

安装

操作员正在使用此 TridentOrchestrator CR 安装 Trident。

已安装

Trident 已成功安装。

卸载

操作员正在卸载 Trident,因为
spec.uninstall=true

已卸载

Trident 已卸载。

失败

操作员无法安装、修补、更新或卸载 Trident;操作员将自动尝试从此状态恢复。如果此状态持续存在,则需要进行故障排除。

正在更新

操作员正在更新现有安装。

错误

TridentOrchestrator 未使用。另一个已存在。

使用 pod 创建状态

您可以通过查看已创建的 Pod 的状态来确认 Trident 安装是否已完成:

kubectl get pods -n trident

NAME                                       READY   STATUS    RESTARTS   AGE
trident-controller-7d466bf5c7-v4cpw        6/6     Running   0           1m
trident-node-linux-mr6zc                   2/2     Running   0           1m
trident-node-linux-xrp7w                   2/2     Running   0           1m
trident-node-linux-zh2jt                   2/2     Running   0           1m
trident-operator-766f7b8658-ldzsv          1/1     Running   0           3m

使用 tridentctl

您可以使用 `tridentctl`检查已安装的 Trident 版本。

./tridentctl -n trident version

+----------------+----------------+
| SERVER VERSION | CLIENT VERSION |
+----------------+----------------+
| 25.10.0        | 25.10.0        |
+----------------+----------------+