banzaicloud-stable/kafka-operator+local-path迁移主机

主机规划

主机名
ip
node label

Logging1

172.16.13.77

logging=true

Logging2

172.16.36.25

logging=true

Logging3

172.16.115.194

logging=true

kafka1

172.16.230.153

kafka=true

Kafka2

172.16.53.28

kafka=true

Kafka3

172.16.32.59

kafka=true

迁移kafka 数据

备份pvc pv yaml

查看pvc

kubectl get pvc

# 显示如下
NAME                      STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
kafka-0-storage-0-4ngpp   Bound    pvc-38dc6d2b-b612-445a-9a53-77903380a91f   10Gi       RWO            local-path     53d
kafka-1-storage-0-5hqjr   Bound    pvc-083d1a6c-dc2c-4ec1-bb18-d4008ee6f0b8   10Gi       RWO            local-path     53d
kafka-2-storage-0-9t4zd   Bound    pvc-21082bbf-22f3-4ce3-8e73-9d4bd4ad2b8f   10Gi       RWO            local-path     53d

备份pvc pv yaml

查看pv yaml 得知pv 所在主机及目录分别为:

主机
kafka pod 编号
目录

Logging1

kafka-2

/data/local-path-provisioner/pvc-21082bbf-22f3-4ce3-8e73-9d4bd4ad2b8f_kafka_kafka-2-storage-0-9t4zd

Logging2

kafka-1

/data/local-path-provisioner/pvc-083d1a6c-dc2c-4ec1-bb18-d4008ee6f0b8_kafka_kafka-1-storage-0-5hqjr

Logging3

kafka-0

/data/local-path-provisioner/pvc-38dc6d2b-b612-445a-9a53-77903380a91f_kafka_kafka-0-storage-0-4ngpp

新规划的 kafka pv 主机及目录

主机
kafka pod 编号
目录

Kafka1

kafka-0

/data/local-path-provisioner/pvc-38dc6d2b-b612-445a-9a53-77903380a91f_kafka_kafka-0-storage-0-4ngpp

Kafka2

kafka-1

/data/local-path-provisioner/pvc-083d1a6c-dc2c-4ec1-bb18-d4008ee6f0b8_kafka_kafka-1-storage-0-5hqjr

Kafka3

kafka-2

/data/local-path-provisioner/pvc-21082bbf-22f3-4ce3-8e73-9d4bd4ad2b8f_kafka_kafka-2-storage-0-9t4zd

迁移pod kafka-2 pv 数据

修改helm 安装values.yaml,注释broker id 2 的内容

更新kafka cluster

删除对应broker pod

因为删除了broker 2 的配置, 所以删除kafka-2 pod 不会触发operator 新建pod

在kafka3 主机复制pod kafka-2 pv 数据到新kafka3 主机

删除kafka2 pvc

因为是local-path storageclass 创建pvc , pv 自动删除

重建 kafka2 pv

编辑 kafka2.new.pv.yaml, 删除uid / resourceVersion/ creationTimestamp/claimRef/status信息, 主机名信息 logging1 替换为 kafka3

重建 kafka2 pvc

编辑 kafka2.new.pvc.yaml, 删除uid (只保留ownerReferences中uid) / resourceVersion/ creationTimestamp/status信息, 主机名信息 logging1 替换为 kafka3

查看pvc 是否正常绑定 对应pv

kafka3 主机备份目录移动为正式目录,并重置目录权限, kafka

修改helm 安装values.yaml,放开注释broker id 2 的内容

更新kafka cluster

迁移pod kafka-1 kafka-0 pv 数据

同pod kafka-2 pv 数据

Last updated