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

手动部署Trident操作员(脱机模式)

贡献者

您可以手动部署Trident操作员以安装Astra Trident。此过程将处理适用场景 安装、其中、Astra Trident所需的容器映像存储在专用注册表中。如果您没有专用映像注册表、请使用 "标准部署流程"

有关Astra Trdent的重要信息24.02

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

<strong> 中有关Astra </strong> 的信息
  • 现在、在Trident中支持Kubnetes 1.27。在升级Kubernetes之前升级Trident。

  • Astra Trident会严格强制在SAN环境中使用多路径配置、建议值为 find_multipaths: no 在multipath.conf文件中。

    使用非多路径配置或 find_multipaths: yesfind_multipaths: smart multipath.conf文件中的值将导致挂载失败。Trident已建议使用 find_multipaths: no 自21.07版起。

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

请查看 "安装概述" 以确保满足安装前提条件并为您的环境选择正确的安装选项。

开始之前

登录到Linux主机并验证它是否正在管理正常工作的和 "支持的 Kubernetes 集群" 并且您拥有必要的特权。

备注 使用OpenShift oc 而不是 kubectl 在下面的所有示例中、运行以*系统:admin*身份登录 oc login -u system:adminoc login -u kube-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安装程序包

Astra Trident安装程序包包含部署Trident操作员和安装Astra Trident所需的所有内容。从下载并提取最新版本的Trident安装程序 "GitHub上的_assets_部分"

wget https://github.com/NetApp/trident/releases/download/v24.02.0/trident-installer-24.02.0.tar.gz
tar -xf trident-installer-24.02.0.tar.gz
cd trident-installer

第2步:创建 TridentOrchestrator CRD

创建 TridentOrchestrator 自定义资源定义(CRD)。您将创建 TridentOrchestrator 稍后自定义资源。使用中相应的CRD YAML版本 deploy/crds 以创建 TridentOrchestrator CRD:

kubectl create -f deploy/crds/<VERSION>.yaml

第3步:更新操作符中的注册表位置

在中 /deploy/operator.yaml、更新 image: docker.io/netapp/trident-operator:24.02.0 以反映映像注册表的位置。Your "Trident和CSI映像" 可以位于一个注册表或不同的注册表中、但所有CSI映像都必须位于同一注册表中。例如:

  • image: <your-registry>/trident-operator:24.02.0 如果您的映像全部位于一个注册表中。

  • image: <your-registry>/netapp/trident-operator:24.02.0 如果Trident映像与CSI映像位于不同的注册表中。

第4步:部署TRIdent操作员

Astra Trident安装程序提供了一个包文件、可用于安装操作员和创建关联对象。使用此捆绑包文件可以轻松地部署操作员并使用默认配置安装Astra Trident。

  • 对于运行Kubornetes 1.24或更早版本的集群、请使用 bundle_pre_1_25.yaml

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

开始之前
  • 默认情况下、通过使用三端安装程序、可以在中部署操作员 trident 命名空间。如果 trident 命名空间不存在、请使用以下命令创建命名空间:

    kubectl apply -f deploy/namespace.yaml
  • 在非命名空间中部署操作员 trident 命名空间、更新 serviceaccount.yamlclusterrolebinding.yamloperator.yaml 并使用生成捆绑包文件 kustomization.yaml

    1. 创建 kustomization.yaml 使用以下命令、其中_<bundle.yaml>_为 bundle_pre_1_25.yamlbundle_post_1_25.yaml 根据您的Kubbernetes版本。

      cp deploy/kustomization_<bundle.yaml> deploy/kustomization.yaml
    2. 使用以下命令编译分发包、其中_Data <bundle.yaml>是 bundle_pre_1_25.yamlbundle_post_1_25.yaml 根据您的Kubbernetes版本。

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

    kubectl create -f deploy/<bundle.yaml>
  2. 验证是否已创建操作员、部署和副本集。

    kubectl get all -n <operator-namespace>
重要说明 在 Kubernetes 集群中只能有 * 一个操作符实例 * 。请勿创建 Trident 操作员的多个部署。

第5步:在中更新映像注册表位置 TridentOrchestrator

Your "Trident和CSI映像" 可以位于一个注册表或不同的注册表中、但所有CSI映像都必须位于同一注册表中。更新 deploy/crds/tridentorchestrator_cr.yaml 根据注册表配置添加其他位置规格。

一个注册表中的映像
imageRegistry: "<your-registry>"
autosupportImage: "<your-registry>/trident-autosupport:24.02"
tridentImage: "<your-registry>/trident:24.02.0"
不同注册表中的映像

您必须附加 sig-storageimageRegistry 使用不同的注册表位置。

imageRegistry: "<your-registry>/sig-storage"
autosupportImage: "<your-registry>/netapp/trident-autosupport:24.02"
tridentImage: "<your-registry>/netapp/trident:24.02.0"

第6步:创建 TridentOrchestrator 并安装Trident

现在、您可以创建 TridentOrchestrator 并安装Astra Trident。您也可以选择继续操作 "自定义Trident安装" 使用中的属性 TridentOrchestrator 规格以下示例显示了Trident和CSI映像位于不同注册表中的安装。

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:
  Autosupport Image:  <your-registry>/netapp/trident-autosupport:24.02
  Debug:              true
  Image Registry:     <your-registry>/sig-storage
  Namespace:          trident
  Trident Image:      <your-registry>/netapp/trident:24.02.0
Status:
  Current Installation Params:
    IPv6:                       false
    Autosupport Hostname:
    Autosupport Image:          <your-registry>/netapp/trident-autosupport:24.02
    Autosupport Proxy:
    Autosupport Serial Number:
    Debug:                      true
    Http Request Timeout:       90s
    Image Pull Secrets:
    Image Registry:       <your-registry>/sig-storage
    k8sTimeout:           30
    Kubelet Dir:          /var/lib/kubelet
    Log Format:           text
    Probe Port:           17546
    Silence Autosupport:  false
    Trident Image:        <your-registry>/netapp/trident:24.02.0
  Message:                Trident installed
  Namespace:              trident
  Status:                 Installed
  Version:                v24.02.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 status

的状态 TridentOrchestrator 指示安装是否成功、并显示已安装的Trident版本。在安装期间、的状态 TridentOrchestrator 更改自 Installing to Installed。如果您观察到 Failed 状态、并且操作员无法自行恢复、 "检查日志"

Status Description

安装

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

已安装

Astra Trident 已成功安装。

正在卸载

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

已卸载

Astra Trident 已卸载。

失败

操作员无法安装、修补、更新或卸载
Asta三端测试;操作员将自动尝试从该状态中恢复。如果此状态仍然存在,则需要进行故障排除。

正在更新

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

error

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

正在使用POD创建状态

您可以通过查看已创建Pod的状态来确认Astra 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 检查安装的Astra Trident版本。

./tridentctl -n trident version

+----------------+----------------+
| SERVER VERSION | CLIENT VERSION |
+----------------+----------------+
| 24.02.0        | 24.02.0        |
+----------------+----------------+