使用 Kubectl 部署NebulaGraph集群¶
历史版本兼容性
1.x 版本的 NebulaGraph Operator 不兼容 3.x 以下版本的NebulaGraph。
前提条件¶
创建集群¶
本文以创建名为nebula
的集群为例,说明如何部署NebulaGraph集群。
-
创建命名空间,例如
nebula
。如果不指定命名空间,默认使用default
命名空间。kubectl create namespace nebula
-
创建集群配置文件。
创建名为
apps_v1alpha1_nebulacluster.yaml
的文件。文件内容参见示例配置。示例配置的参数描述如下:
参数 默认值 描述 metadata.name
- 创建的NebulaGraph集群名称。 spec.console
- 启动 Console 容器用于连接 Graph 服务。配置详情,参见 nebula-console. spec.graphd.replicas
1
Graphd 服务的副本数。 spec.graphd.image
vesoft/nebula-graphd
Graphd 服务的容器镜像。 spec.graphd.version
v3.6.0
Graphd 服务的版本号。 spec.graphd.service
访问 Graphd 服务的 Service 配置。 spec.graphd.logVolumeClaim.storageClassName
- Graphd 服务的日志盘存储卷的存储类名称。使用示例配置时需要将其替换为事先创建的存储类名称,参见 Storage Classes 查看创建存储类详情。 spec.metad.replicas
1
Metad 服务的副本数。 spec.metad.image
vesoft/nebula-metad
Metad 服务的容器镜像。 spec.metad.version
v3.6.0
Metad 服务的版本号。 spec.metad.dataVolumeClaim.storageClassName
- Metad 服务的数据盘存储配置。使用示例配置时需要将其替换为事先创建的存储类名称,参见 Storage Classes 查看创建存储类详情。 spec.metad.logVolumeClaim.storageClassName
- Metad 服务的日志盘存储配置。使用示例配置时需要将其替换为事先创建的存储类名称,参见 Storage Classes 查看创建存储类详情。 spec.storaged.replicas
3
Storaged 服务的副本数。 spec.storaged.image
vesoft/nebula-storaged
Storaged 服务的容器镜像。 spec.storaged.version
v3.6.0
Storaged 服务的版本号。 spec.storaged.dataVolumeClaims.resources.requests.storage
- Storaged 服务的数据盘存储大小,可指定多块数据盘存储数据。当指定多块数据盘时,路径为: /usr/local/nebula/data1
、/usr/local/nebula/data2
等。spec.storaged.dataVolumeClaims.resources.storageClassName
- Storaged 服务的数据盘存储配置。使用示例配置时需要将其替换为事先创建的存储类名称,参见 Storage Classes 查看创建存储类详情。 spec.storaged.logVolumeClaim.storageClassName
- Storaged 服务的日志盘存储配置。使用示例配置时需要将其替换为事先创建的存储类名称,参见 Storage Classes 查看创建存储类详情。 spec.<metad|storaged|graphd>.securityContext
{}
定义集群容器的权限和访问控制,以控制访问和执行容器的操作。详情参见 SecurityContext。 spec.agent
{}
Agent 服务的配置。用于备份和恢复及日志清理功能,如果不自定义该配置,将使用默认配置。 spec.reference.name
- 依赖的控制器名称。 spec.schedulerName
- 调度器名称。 spec.imagePullPolicy
NebulaGraph镜像的拉取策略。关于拉取策略详情,请参考 Image pull policy。 镜像拉取策略。 spec.logRotate
- 日志轮转配置。详情参见管理集群日志。 spec.enablePVReclaim
false
定义是否在删除集群后自动删除 PVC 以释放数据。详情参见回收 PV。 -
创建NebulaGraph集群。
kubectl create -f apps_v1alpha1_nebulacluster.yaml
返回:
nebulacluster.apps.nebula-graph.io/nebula created
-
查看NebulaGraph集群状态。
kubectl get nebulaclusters nebula
返回:
NAME GRAPHD-DESIRED GRAPHD-READY METAD-DESIRED METAD-READY STORAGED-DESIRED STORAGED-READY AGE nebula 1 1 1 1 3 3 86s
扩缩容集群¶
不支持扩缩容社区版的NebulaGraph集群。
删除集群¶
使用 Kubectl 删除NebulaGraph集群的命令如下:
kubectl delete -f apps_v1alpha1_nebulacluster.yaml
后续操作¶
最后更新:
November 15, 2023