内容纲要
概要描述
本篇文章主要介绍一下TDC角色迁移的基本操作步骤
问题背景
TDC环境下,某一节点需要维修,为保证维修期间业务平稳正常运行,讲该节点的涉及的重要角色迁移至其他节点。
详细说明
本次迁移的角色为guardian的apache-master角色(有存储的sts角色迁移)。
kubectl get pod -owide –all-namespaces |grep apache-master (实际操作时请确认好需要操作的namespaces)。

-
构造迁移yaml文件mig.yaml,内容如下:
apiVersion: tos.transwarp.io/v1alpha1 kind: Mig metadata: name: apa-master namespace: vlmgpsq spec: targetNodeSelector: kubernetes.io/hostname: mhdsj-tdc01 workloadStsName: apacheds-master-cfj82 displacedReplicaID: "0" stsNamespace: vlmgpsq -
yaml参数说明
name 执行的迁移任务的名字,可随意命名
namespace 迁移角色所属的namespace名
targetNodeSelector 角色迁移到的目标节点;若不需指定节点,则去除该参数,迁移任务会根据调度规则随机选取其他节点落点
workloadStsName 所要迁移的角色的pod名,如下图所示

displacedReplicaID pod名中的副本id,见上图中的后缀即0
stsNamespace 角色所在的namespace -
执行迁移任务
开始执行任务
kubectl create -f mig.yaml观察迁移状态,当结果状态为finished状态的时候,表明迁移完成
kubectl get mig -n vlmgpsq

迁移完成后,角色running在随机其他节点

迁移之前可以查看该角色对应pvc的大小从而估算迁移所要的时间
kubectl get pvc -n vlmgpsq | grep apacheds-master

df -h |grep pvc-1f497b18-0e2f-4593-9eb2-0e9f81a70ae8

-
更多信息,内部人员可以参考wiki
https://wiki.transwarp.io/pages/viewpage.action?pageId=59531310#TDC2.4.1TDC%E5%B9%B3%E5%8F%B0%E7%BB%84%E4%BB%B6%E8%BF%81%E7%A7%BB%E6%96%B9%E6%A1%88-2.2.1%E6%9C%89%E5%AD%98%E5%82%A8%E7%9A%84sts%E8%A7%92%E8%89%B2%E8%BF%81%E7%A7%BB