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

使用 tridentctl 进行升级

贡献者

您可以使用轻松升级现有的Astra Trident安装 tridentctl

使用升级Astra三端到功能 tridentctl

卸载并重新安装 Astra Trident 可作为升级。卸载 Trident 时,不会删除 Astra Trident 部署所使用的永久性卷声明( PVC )和永久性卷( PV )。在 Astra Trident 脱机期间,已配置的 PV 仍可用,而 Astra Trident 将在恢复联机后为在此期间创建的任何 PVC 配置卷。

开始之前

请查看 "选择升级方法" 升级之前 tridentctl

步骤
  1. 在中运行卸载命令 tridentctl 删除与Asta Trandent关联的所有资源(CRD和相关对象除外)。

    ./tridentctl uninstall -n <namespace>
  2. 重新安装Asta Trdent。请参见 "使用 tridentctl 安装 Astra Trident"

重要说明 请勿中断升级过程。确保安装程序运行完毕。

使用升级卷 tridentctl

升级后、您可以利用较新的三元数据版本中提供的一组丰富功能(例如按需卷快照)、也可以使用升级卷 tridentctl upgrade 命令:

如果存在原有卷、则应将其从NFS或iSCSI类型升级到CSI类型、以使用Asta三元数据中的一整套新功能。Trident 配置的原有 PV 支持传统功能集。

开始之前

在决定将卷升级到CSI类型之前、请考虑以下事项:

  • 您可能不需要升级所有卷。以前创建的卷将继续可访问并正常运行。

  • 升级时, PV 可以作为部署 / 状态集的一部分挂载。不需要关闭部署 / 状态集。

  • 升级时,您 * 无法 * 将 PV 连接到独立 POD 。在升级卷之前,您应关闭 POD 。

  • 您只能升级绑定到 PVC 的卷。升级前,应删除和导入未绑定到 PVC 的卷。

步骤
  1. 运行 kubectl get pv 列出PV。

    kubectl get pv
    NAME                         CAPACITY     ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM                  STORAGECLASS    REASON   AGE
    default-pvc-1-a8475          1073741824   RWO            Delete           Bound    default/pvc-1          standard                 19h
    default-pvc-2-a8486          1073741824   RWO            Delete           Bound    default/pvc-2          standard                 19h
    default-pvc-3-a849e          1073741824   RWO            Delete           Bound    default/pvc-3          standard                 19h
    default-pvc-4-a84de          1073741824   RWO            Delete           Bound    default/pvc-4          standard                 19h
    trident                      2Gi          RWO            Retain           Bound    trident/trident                                 19h

    目前、Trident 20.07使用创建了四个PV netapp.io/trident 配置程序。

  2. 运行 kubectl describe pv 以获取PV的详细信息。

    kubectl describe pv default-pvc-2-a8486
    
    Name:            default-pvc-2-a8486
    Labels:          <none>
    Annotations:     pv.kubernetes.io/provisioned-by: netapp.io/trident
                     volume.beta.kubernetes.io/storage-class: standard
    Finalizers:      [kubernetes.io/pv-protection]
    StorageClass:    standard
    Status:          Bound
    Claim:           default/pvc-2
    Reclaim Policy:  Delete
    Access Modes:    RWO
    VolumeMode:      Filesystem
    Capacity:        1073741824
    Node Affinity:   <none>
    Message:
    Source:
        Type:      NFS (an NFS mount that lasts the lifetime of a pod)
        Server:    10.xx.xx.xx
        Path:      /trid_1907_alpha_default_pvc_2_a8486
        ReadOnly:  false

    PV是使用创建的 netapp.io/trident 配置程序和类型为NFS。要支持 Astra Trident 提供的所有新功能,应将此 PV 升级到 CSI 类型。

  3. 运行 tridentctl upgrade volume <name-of-trident-volume> 用于将原有Astra Trident卷升级到CSI规范的命令。

    ./tridentctl get volumes -n trident
    +---------------------+---------+---------------+----------+--------------------------------------+--------+---------+
    |            NAME     |  SIZE   | STORAGE CLASS | PROTOCOL |             BACKEND UUID             | STATE  | MANAGED |
    +---------------------+---------+---------------+----------+--------------------------------------+--------+---------+
    | default-pvc-2-a8486 | 1.0 GiB | standard      | file     | c5a6f6a4-b052-423b-80d4-8fb491a14a22 | online | true    |
    | default-pvc-3-a849e | 1.0 GiB | standard      | file     | c5a6f6a4-b052-423b-80d4-8fb491a14a22 | online | true    |
    | default-pvc-1-a8475 | 1.0 GiB | standard      | file     | c5a6f6a4-b052-423b-80d4-8fb491a14a22 | online | true    |
    | default-pvc-4-a84de | 1.0 GiB | standard      | file     | c5a6f6a4-b052-423b-80d4-8fb491a14a22 | online | true    |
    +---------------------+---------+---------------+----------+--------------------------------------+--------+---------+
    
    ./tridentctl upgrade volume default-pvc-2-a8486 -n trident
    +---------------------+---------+---------------+----------+--------------------------------------+--------+---------+
    |            NAME     |  SIZE   | STORAGE CLASS | PROTOCOL |             BACKEND UUID             | STATE  | MANAGED |
    +---------------------+---------+---------------+----------+--------------------------------------+--------+---------+
    | default-pvc-2-a8486 | 1.0 GiB | standard      | file     | c5a6f6a4-b052-423b-80d4-8fb491a14a22 | online | true    |
    +---------------------+---------+---------------+----------+--------------------------------------+--------+---------+
  4. 运行 kubectl describe pv 验证此卷是否为CSI卷。

    kubectl describe pv default-pvc-2-a8486
    Name:            default-pvc-2-a8486
    Labels:          <none>
    Annotations:     pv.kubernetes.io/provisioned-by: csi.trident.netapp.io
                     volume.beta.kubernetes.io/storage-class: standard
    Finalizers:      [kubernetes.io/pv-protection]
    StorageClass:    standard
    Status:          Bound
    Claim:           default/pvc-2
    Reclaim Policy:  Delete
    Access Modes:    RWO
    VolumeMode:      Filesystem
    Capacity:        1073741824
    Node Affinity:   <none>
    Message:
    Source:
        Type:              CSI (a Container Storage Interface (CSI) volume source)
        Driver:            csi.trident.netapp.io
        VolumeHandle:      default-pvc-2-a8486
        ReadOnly:          false
        VolumeAttributes:      backendUUID=c5a6f6a4-b052-423b-80d4-8fb491a14a22
                               internalName=trid_1907_alpha_default_pvc_2_a8486
                               name=default-pvc-2-a8486
                               protocol=file
    Events:                <none>