手动部署Trident操作员(脱机模式)
您可以手动部署Trident操作员以安装Astra Trident。此过程将处理适用场景 安装、其中、Astra Trident所需的容器映像存储在专用注册表中。如果您没有专用映像注册表、请使用 "标准部署流程"。
有关Astra Trident 23.01的关键信息
您必须阅读以下有关Astra Trident的重要信息。
<strong> 中有关Astra </strong> 的信息
-
Trident现在支持Kubernetes 1.26。在升级Kubernetes之前升级Trident。
-
Astra Trident会严格强制在SAN环境中使用多路径配置、建议值为
find_multipaths: no
在multipath.conf文件中。使用非多路径配置或
find_multipaths: yes
或find_multipaths: smart
multipath.conf文件中的值将导致挂载失败。Trident已建议使用find_multipaths: no
自21.07版起。
手动部署Trident操作员并安装Trident
请查看 "安装概述" 以确保满足安装前提条件并为您的环境选择正确的安装选项。
登录到Linux主机并验证它是否正在管理正常工作的和 "支持的 Kubernetes 集群" 并且您拥有必要的特权。
使用OpenShift oc 而不是 kubectl 在下面的所有示例中、运行以*系统:admin*身份登录 oc login -u system:admin 或 oc login -u kube-admin 。
|
Details
-
验证Kubernetes版本:
kubectl version
-
验证集群管理员权限:
kubectl auth can-i '*' '*' --all-namespaces
-
验证您是否可以从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/v23.01.1/trident-installer-23.01.1.tar.gz tar -xf trident-installer-23.01.1.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:23.01.1
以反映映像注册表的位置。Your "Trident和CSI映像" 可以位于一个注册表或不同的注册表中、但所有CSI映像都必须位于同一注册表中。例如:
-
image: <your-registry>/trident-operator:23.01.1
如果您的映像全部位于一个注册表中。 -
image: <your-registry>/netapp/trident-operator:23.01.1
如果Trident映像与CSI映像位于不同的注册表中。
第4步:部署Trident操作员
Trident安装程序在中部署操作员 trident
命名空间。如果 trident
命名空间不存在、请使用 kubectl apply -f deploy/namespace.yaml
以创建它。
在非命名空间中部署操作员 trident
命名空间、更新 serviceaccount.yaml
, clusterrolebinding.yaml
和 operator.yaml
部署操作员之前。
-
创建资源并部署操作员:
kubectl kustomize deploy/ > deploy/<BUNDLE>.yaml
Astra Trident安装程序提供了一个包文件、可用于安装操作员和创建关联对象。使用此捆绑包文件可以轻松地部署操作员并使用默认配置安装Astra Trident。
-
对于运行Kubernetes 1.24或更低版本的集群、请使用
bundle_pre_1_25.yaml
。 -
对于运行Kubernetes 1.25或更高版本的集群、请使用
bundle_post_1_25.yaml
。
-
-
验证是否已部署此操作员。
kubectl get deployment -n <operator-namespace> NAME READY UP-TO-DATE AVAILABLE AGE trident-operator 1/1 1 1 3m
在 Kubernetes 集群中只能有 * 一个操作符实例 * 。请勿创建 Trident 操作员的多个部署。 |
第5步:更新中的映像注册表位置 TridentOrchestrator
Your "Trident和CSI映像" 可以位于一个注册表或不同的注册表中、但所有CSI映像都必须位于同一注册表中。更新 deploy/crds/tridentorchestrator_cr.yaml
根据注册表配置添加其他位置规格。
imageRegistry: "<your-registry>" autosupportImage: "<your-registry>/trident-autosupport:23.01" tridentImage: "<your-registry>/trident:23.01.1"
您必须附加 sig-storage
到 imageRegistry
使用不同的注册表位置。
imageRegistry: "<your-registry>/sig-storage" autosupportImage: "<your-registry>/netapp/trident-autosupport:23.01" tridentImage: "<your-registry>/netapp/trident:23.01.1"
第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:23.01 Debug: true Image Registry: <your-registry>/sig-storage Namespace: trident Trident Image: <your-registry>/netapp/trident:23.01.1 Status: Current Installation Params: IPv6: false Autosupport Hostname: Autosupport Image: <your-registry>/netapp/trident-autosupport:23.01 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:23.01.1 Message: Trident installed Namespace: trident Status: Installed Version: v23.01.1 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 |
已安装 |
Astra Trident 已成功安装。 |
正在卸载 |
操作员正在卸载Astra Trident、因为 |
已卸载 |
Astra Trident 已卸载。 |
失败 |
操作员无法安装,修补,更新或卸载 Astra Trident ;操作员将自动尝试从此状态恢复。如果此状态仍然存在,则需要进行故障排除。 |
正在更新 |
操作员正在更新现有安装。 |
error |
。 |
正在使用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 | +----------------+----------------+ | 23.01.1 | 23.01.1 | +----------------+----------------+
下一步行动
现在可以了 "创建创建后端和存储类、配置卷并将卷挂载到Pod中"。