故障自愈

Nebula Operator调用Nebula Graph集群提供的接口,动态地感知服务是否正常运行。当Nebula Graph集群中某一组件停止运行时,Nebula Operator会自动地进行容错处理。本文通过删除Nebula Graph集群中1个Storage服务Pod,模拟集群故障为例,说明Nebular Operator如何进行故障自愈。

前提条件

安装Nebula Operator

操作步骤

  1. 创建Nebula Graph集群。具体步骤参考使用Kubectl部署Nebula Graph集群或者使用Helm部署Nebula Graph集群

  2. 待所有Pods都处于Running状态时,模拟故障,删除名为<cluster_name>-storaged-2 Pod。

    1. kubectl delete pod <cluster-name>-storaged-2 --now

    <cluster_name>为Nebula Graph集群的名称。

  3. Nebula Operator自动创建名为<cluster-name>-storaged-2的Pod,以修复故障。

    执行kubectl get pods查看<cluster-name>-storaged-2Pod的创建状态。

    1. ...
    2. nebula-cluster-storaged-1 1/1 Running 0 5d23h
    3. nebula-cluster-storaged-2 0/1 ContainerCreating 0 1s
    4. ...
    1. ...
    2. nebula-cluster-storaged-1 1/1 Running 0 5d23h
    3. nebula-cluster-storaged-2 1/1 Running 0 4m2s
    4. ...

    <cluster-name>-storaged-2的状态由ContainerCreating变为Running时,说明自愈成功。


最后更新: September 28, 2021