32.2. 恢复已删除的 Kafka 集群
此流程描述了如何通过重新创建原始 PersistentVolumeClaim (PVC)资源从持久性卷(PV)恢复已删除的集群。
如果部署了 Topic Operator 和 User Operator,您可以通过重新创建 KafkaTopic 和 KafkaUser 资源来恢复 KafkaTopic 和 KafkaUser 资源。务必要使用相同的配置重新创建 KafkaTopic 资源,否则 Topic Operator 会尝试在 Kafka 中更新这些资源。此流程演示了如何重新创建这两个资源。
如果启用了 User Operator,并且 Kafka 用户没有重新创建,用户在恢复后立即从 Kafka 集群中删除。
开始前
在此过程中,PV 被挂载到正确的 PVC 中非常重要,以避免数据崩溃。为 PVC 指定 volumeName,它必须与 PV 的名称匹配。
如需更多信息,请参阅 持久性存储。
流程
检查集群中 PV 的信息:
oc get pv
oc get pvCopy to Clipboard Copied! Toggle word wrap Toggle overflow 会显示与数据相关的 PV 的信息。
PV 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
NAME是每个 PV 的名称。 -
RECLAIMPOLICY显示 PV 被保留,这意味着当 PVC 被删除时 PV 不会被自动删除。 -
CLAIM显示到原始 PVC 的链接。
-
重新创建原始命名空间:
oc create namespace my-project
oc create namespace my-projectCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在这里,我们重新创建
my-project命名空间。重新创建原始 PVC 资源规格,将 PVC 链接到适当的 PV:
PVC 资源规格示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑 PV 规格,以删除绑定原始 PVC 的
claimRef属性。PV 规格示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在示例中,删除了以下属性:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 部署 Cluster Operator:
oc create -f install/cluster-operator -n my-project
oc create -f install/cluster-operator -n my-projectCopy to Clipboard Copied! Toggle word wrap Toggle overflow 通过应用
KafkaTopic资源配置来重新创建所有KafkaTopic资源:oc apply -f <topic_configuration_file>
oc apply -f <topic_configuration_file>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新创建所有
KafkaUser资源:如果需要保留用户密码和证书,请在重新创建
KafkaUser资源前重新创建用户 secret。如果没有重新创建 secret,User Operator 将自动生成新的凭证。确保重新创建的 secret 的名称、标签和字段与原始 secret 完全相同。
应用
KafkaUser资源配置:oc apply -f <user_configuration_file>
oc apply -f <user_configuration_file>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
使用 Kafka 资源的原始配置部署
Kafka集群:oc apply -f <kafka_resource_configuration>.yaml -n my-project
oc apply -f <kafka_resource_configuration>.yaml -n my-projectCopy to Clipboard Copied! Toggle word wrap Toggle overflow 验证
KafkaTopic资源的恢复:oc get kafkatopics -o wide -w -n my-project
oc get kafkatopics -o wide -w -n my-projectCopy to Clipboard Copied! Toggle word wrap Toggle overflow Kafka 主题状态
NAME CLUSTER PARTITIONS REPLICATION FACTOR READY my-topic-1 my-cluster 10 3 True my-topic-2 my-cluster 10 3 True my-topic-3 my-cluster 10 3 True
NAME CLUSTER PARTITIONS REPLICATION FACTOR READY my-topic-1 my-cluster 10 3 True my-topic-2 my-cluster 10 3 True my-topic-3 my-cluster 10 3 TrueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 当
READY输出显示为True时,KafkaTopic自定义资源创建成功。验证
KafkaUser资源的恢复:oc get kafkausers -o wide -w -n my-project
oc get kafkausers -o wide -w -n my-projectCopy to Clipboard Copied! Toggle word wrap Toggle overflow Kafka 用户状态
NAME CLUSTER AUTHENTICATION AUTHORIZATION READY my-user-1 my-cluster tls simple True my-user-2 my-cluster tls simple True my-user-3 my-cluster tls simple True
NAME CLUSTER AUTHENTICATION AUTHORIZATION READY my-user-1 my-cluster tls simple True my-user-2 my-cluster tls simple True my-user-3 my-cluster tls simple TrueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 当
READY输出显示为True时,KafkaUser自定义资源创建成功。