跳转至

常见问题

NebulaGraph Operator 支持 v1.x 版本的NebulaGraph吗?

不支持,因为 v1.x 版本的NebulaGraph不支持 DNS,而 NebulaGraph Operator 需要使用 DNS。

使用本地存储是否可以保证集群稳定性?

无法保证。使用本地存储意味着 Pod 被绑定到一个特定的节点,NebulaGraph Operator 目前不支持在绑定的节点发生故障时进行故障转移。

扩缩容集群时,如何确保稳定性?

建议提前备份数据,以便故障发生时回滚数据。

Operator 文档中的 replica 和NebulaGraph内核文档中的 replica 是一样的吗?

二者是不同的概念。Operator 文档中的 replica 是 K8s 中的 Pod 副本,而内核文档中的 replica 是NebulaGraph中的分片副本。

如何查看 NebulaGraph 集群中各服务的日志?

NebulaGraph 集群日志没有被收集到 K8s 集群中,因此无法通过kubectl logs查看。用户可以通过进入容器并在容器内查看日志文件的方式来获取 NebulaGraph 集群各服务日志。

操作如下:

# 查找要进入的容器所在的 Pod 名称。其中 <cluster-name> 为集群名称。
kubectl get pods -l app.kubernetes.io/cluster=<cluster-name>

# 进入 Pod 中的容器,例如进入 nebula-graphd-0 容器。
kubectl exec -it nebula-graphd-0 -- /bin/bash

# 进入 /usr/local/nebula/logs 目录,查看日志文件。
cd /usr/local/nebula/logs

host not found:nebula-<metad|storaged|graphd>-0.nebula.<metad|storaged|graphd>-headless.default.svc.cluster.local错误如何解决?

这个错误一般是由于 DNS 解析失败导致的,需检查是否修改了集群域名。如果修改了集群域名,需要同步修改 Operator 配置文件中的kubernetesClusterDomain字段。同步修改 Operator 配置文件的操作如下:

  1. 查看 Operator 配置文件。

    [abby@master ~]$ helm show values nebula-operator/nebula-operator   
    image:
      nebulaOperator:
        image: vesoft/nebula-operator:v1.7.1
        imagePullPolicy: Always
      kubeRBACProxy:
        image: bitnami/kube-rbac-proxy:0.14.2
        imagePullPolicy: Always
      kubeScheduler:
        image: registry.k8s.io/kube-scheduler:v1.24.11
        imagePullPolicy: Always
    
    imagePullSecrets: []
    kubernetesClusterDomain: ""  # 集群域名,默认为 cluster.local。
    
  2. 修改kubernetesClusterDomain字段的值为集群域名。

    helm upgrade nebula-operator nebula-operator/nebula-operator --namespace=<nebula-operator-system> --version=1.7.1 --set kubernetesClusterDomain=<cluster-domain>
    
    为 Operator 所在的命名空间,为更新后的集群域名。


最后更新: January 15, 2024