部署Nebula Operator

    Nebula Operator为用户管理Nebula Graph集群,使用户无需在生产环境中手动安装、扩展、升级和卸载Nebula Graph,减轻用户管理不同应用版本的负担。

    安装Nebula Operator前,用户需要安装以下软件并确保安装版本的正确性:

    如果使用基于角色的访问控制的策略,用户需开启(可选)。

    软件说明

    Note

    以下内容为Nebula Operator使用的第三方项目,Nebula Operator不负责处理安装这些软件过程中出现的问题.

    • CoreDNS是一个灵活的、可扩展的DNS服务器,被安装在集群内作为集群内Pods的DNS服务器。

      Nebula Graph集群中的每个组件通过DNS解析类似这样的域名相互通信。

    • Note

      如果用户已将Nebula Operator配置项admissionWebhook.create的值设为false,无需安装cert-manager。有关配置项的详情,请参考下文安装Nebula Operator中的自定义配置Chart部分。

      cert-manager用于验证Nebula Graph的每个组件副本。如果用户在生产环境中运行它并关心Nebula Graph的高可用性,建议将admissionWebhook.create的值设为true,然后再安装cert-manager。

    • OpenKruise

      OpenKruise是Kubernetes的一整套标准扩展,能与原始的Kubernetes一起工作,为应用Pod、Sidecar容器,甚至是节点中的镜像的管理供更强大和高效的功能。Nebula Operator启动时需要用到OpenKruise开启针对StatefulSet的高级功能。用户可参考安装OpenKruise。

    1. 添加Nebula Operator chart仓库至Helm。

    2. 拉取最新的Helm仓库。

      1. helm repo update

      参考Helm仓库获取更多helm repo相关信息。

    3. 安装Nebula Operator。

      1. helm install nebula-operator nebula-operator/nebula-operator --namespace=<nebula-operator-system> --version=${chart_version}
      • 上述命令中的<nebula-operator-system>为用户创建的命名空间。如果用户未创建该命名空间,可以执行kubectl create namespace nebula-operator-system进行创建。用户也可创建其他命名空间。

      用户可在执行安装Nebula Operator chart命令时自定义其配置。更多信息,查看下文自定义配置Chart

    自定义配置Chart

    执行helm show values [CHART] [flags]查看可配置的选项。

    values.yaml中参数描述如下:

    参数默认值描述
    vesoft/nebula-operator:v0.8.0Nebula Operator的镜像,版本为v0.8.0。
    image.nebulaOperator.imagePullPolicyIfNotPresent镜像拉取策略。
    imagePullSecrets-镜像拉取密钥。
    kubernetesClusterDomaincluster.local集群域名。
    controllerManager.createtrue是否启用controller-manager。
    controllerManager.replicas2controller-manager副本数。
    admissionWebhook.createtrue是否启用Admission Webhook。
    shceduler.create是否启用Scheduler。
    shceduler.schedulerNamenebula-scheduler调度器名称。
    shceduler.replicas2nebula-scheduler副本数。

    执行helm install [NAME] [CHART] [flags]命令安装Chart时,可指定Chart配置。更多信息,参考安装前自定义Chart

    以下示例为在安装Nebula Operator时,指定Nebula Operator的AdmissionWebhook机制为关闭状态(默认开启AdmissionWebhook):

    1. helm install nebula-operator nebula-operator/nebula-operator --namespace=<nebula-operator-system> --set admissionWebhook.create=false

    参考获取更多helm install相关信息。

    用户安装Nebula Operator后,可通过修改${HOME}/nebula-operator/charts/nebula-operator/values.yaml文件中参数的值来更新Nebula Operator。操作步骤如下:

    1. 克隆Nebula Operator仓库至本机。

      1. git clone https://github.com/vesoft-inc/nebula-operator.git
    2. 修改${HOME}/nebula-operator/charts/nebula-operator/values.yaml文件中的参数值。

    3. 更新Nebula Operator。

      <nebula-operator-system>为用户创建的命名空间,nebula-operator相关Pods在此命名空间下。

    卸载Nebula Operator

    1. 卸载Nebula Operator chart。

      1. helm uninstall nebula-operator --namespace=<nebula-operator-system>
    2. 删除CRD。

      1. kubectl delete crd nebulaclusters.apps.nebula-graph.io