Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 957ff84

Browse files
committedJun 20, 2025··
chore: support nebula
1 parent 828b287 commit 957ff84

File tree

12 files changed

+584
-47
lines changed

12 files changed

+584
-47
lines changed
 

‎addons-cluster/nebula-cluster/templates/cluster.yaml

Lines changed: 10 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -2,31 +2,14 @@ apiVersion: apps.kubeblocks.io/v1alpha1
22
kind: Cluster
33
metadata:
44
name: {{ include "nebula-cluster.name" . }}
5+
namespace: {{ .Release.Namespace }}
56
labels:
67
{{ include "nebula-cluster.labels" . | indent 4 }}
78
spec:
89
clusterDefinitionRef: nebula
9-
clusterVersionRef: nebula-{{ default .Chart.AppVersion .Values.clusterVersionOverride }}
1010
terminationPolicy: {{ .Values.nebula.terminationPolicy }}
1111
componentSpecs:
12-
- name: nebula-console
13-
componentDefRef: nebula-console
14-
replicas: 1
15-
{{- with .Values.nebula.console.resources }}
16-
resources:
17-
{{- with .limits }}
18-
limits:
19-
cpu: {{ .cpu | quote }}
20-
memory: {{ .memory | quote }}
21-
{{- end }}
22-
{{- with .requests }}
23-
requests:
24-
cpu: {{ .cpu | quote }}
25-
memory: {{ .memory | quote }}
26-
{{- end }}
27-
{{- end }}
28-
- name: nebula-graphd
29-
componentDefRef: nebula-graphd
12+
- name: graphd
3013
replicas: {{ .Values.nebula.graphd.replicas }}
3114
{{- with .Values.nebula.graphd.resources }}
3215
resources:
@@ -42,16 +25,15 @@ spec:
4225
{{- end }}
4326
{{- end }}
4427
volumeClaimTemplates:
45-
- name: logs # ref clusterdefinition components.containers.volumeMounts.name
28+
- name: logs # ref componentDefinition.spec.volumes[i].name
4629
spec:
4730
storageClassName: {{ .Values.nebula.storageClassName }}
4831
accessModes:
4932
- ReadWriteOnce
5033
resources:
5134
requests:
5235
storage: {{ .Values.nebula.graphd.logStorage }}
53-
- name: nebula-metad
54-
componentDefRef: nebula-metad
36+
- name: metad
5537
replicas: {{ .Values.nebula.metad.replicas }}
5638
{{- with .Values.nebula.metad.resources }}
5739
resources:
@@ -67,24 +49,23 @@ spec:
6749
{{- end }}
6850
{{- end }}
6951
volumeClaimTemplates:
70-
- name: data # ref clusterdefinition components.containers.volumeMounts.name
52+
- name: data # ref componentDefinition.spec.volumes[i].name
7153
spec:
7254
storageClassName: {{ .Values.nebula.storageClassName }}
7355
accessModes:
7456
- ReadWriteOnce
7557
resources:
7658
requests:
7759
storage: {{ .Values.nebula.metad.dataStorage }}
78-
- name: logs # ref clusterdefinition components.containers.volumeMounts.name
60+
- name: logs # ref componentDefinition.spec.volumes[i].name
7961
spec:
8062
storageClassName: {{ .Values.nebula.storageClassName }}
8163
accessModes:
8264
- ReadWriteOnce
8365
resources:
8466
requests:
8567
storage: {{ .Values.nebula.metad.logStorage }}
86-
- name: nebula-storaged
87-
componentDefRef: nebula-storaged
68+
- name: storaged
8869
replicas: {{ .Values.nebula.storaged.replicas }}
8970
{{- with .Values.nebula.storaged.resources }}
9071
resources:
@@ -100,19 +81,19 @@ spec:
10081
{{- end }}
10182
{{- end }}
10283
volumeClaimTemplates:
103-
- name: data # ref clusterdefinition components.containers.volumeMounts.name
84+
- name: data # ref componentDefinition.spec.volumes[i].name
10485
spec:
10586
storageClassName: {{ .Values.nebula.storageClassName }}
10687
accessModes:
10788
- ReadWriteOnce
10889
resources:
10990
requests:
11091
storage: {{ .Values.nebula.storaged.dataStorage }}
111-
- name: logs # ref clusterdefinition components.containers.volumeMounts.name
92+
- name: logs # ref componentDefinition.spec.volumes[i].name
11293
spec:
11394
storageClassName: {{ .Values.nebula.storageClassName }}
11495
accessModes:
11596
- ReadWriteOnce
11697
resources:
11798
requests:
118-
storage: {{ .Values.nebula.storaged.logStorage }}
99+
storage: {{ .Values.nebula.storaged.logStorage }}

‎addons/nebula/scripts/start-graphd.sh

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#!/bin/bash
2+
set -ex
3+
trap : TERM INT
4+
root_dir=/usr/local/nebula
5+
logs_dir=${root_dir}/logs
6+
7+
function tail_logs() {
8+
while true; do
9+
sleep 1
10+
if [[ -f ${logs_dir}/nebula-graphd.INFO || -f ${logs_dir}/nebula-graphd.WARNING || -f ${logs_dir}/nebula-graphd.ERROR ]] ; then
11+
break
12+
fi
13+
done
14+
tail -F ${logs_dir}/nebula-graphd.{INFO,WARNING,ERROR}
15+
}
16+
17+
tail_logs &
18+
exec ${root_dir}/bin/nebula-graphd --flagfile=${root_dir}/etc/nebula-graphd.conf --meta_server_addrs=$NEBULA_METAD_SVC --local_ip=$POD_FQDN --daemonize=false

‎addons/nebula/scripts/start-metad.sh

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#!/bin/bash
2+
set -ex
3+
trap : TERM INT
4+
root_dir=/usr/local/nebula
5+
logs_dir=${root_dir}/logs
6+
7+
function tail_logs() {
8+
while true; do
9+
sleep 1
10+
if [[ -f ${logs_dir}/nebula-metad.INFO || -f ${logs_dir}/nebula-metad.WARNING || -f ${logs_dir}/nebula-metad.ERROR ]] ; then
11+
break
12+
fi
13+
done
14+
tail -F ${logs_dir}/nebula-metad.{INFO,WARNING,ERROR}
15+
}
16+
17+
tail_logs &
18+
exec ${root_dir}/bin/nebula-metad --flagfile=${root_dir}/etc/nebula-metad.conf --meta_server_addrs=$NEBULA_METAD_SVC --local_ip=$POD_FQDN --daemonize=false
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
#!/bin/bash
2+
set -ex
3+
trap : TERM INT
4+
root_dir=/usr/local/nebula
5+
logs_dir=${root_dir}/logs
6+
7+
function tail_logs() {
8+
while true; do
9+
sleep 1
10+
if [[ -f ${logs_dir}/nebula-storaged.INFO || -f ${logs_dir}/nebula-storaged.WARNING || -f ${logs_dir}/nebula-storaged.ERROR ]] ; then
11+
break
12+
fi
13+
done
14+
tail -F ${logs_dir}/nebula-storaged.{INFO,WARNING,ERROR}
15+
}
16+
17+
function register_storaged() {
18+
echo "Waiting for graphd service $GRAPHD_SVC_NAME to be ready..."
19+
until /usr/local/nebula/console/nebula-console --addr $GRAPHD_SVC_NAME --port $GRAPHD_SVC_PORT --user root --password nebula -e "show spaces"; do sleep 2; done
20+
touch /tmp/nebula-storaged-hosts
21+
echo ADD HOSTS \"${POD_FQDN}\":9779 > /tmp/nebula-storaged-hosts
22+
exec /usr/local/nebula/console/nebula-console --addr $GRAPHD_SVC_NAME --port $GRAPHD_SVC_PORT --user root --password nebula -f /tmp/nebula-storaged-hosts
23+
rm /tmp/nebula-storaged-hosts
24+
echo "Start Console succeeded!"
25+
exit 0
26+
}
27+
28+
tail_logs &
29+
register_storaged > ${logs_dir}/register_storaged.log 2>&1 &
30+
exec ${root_dir}/bin/nebula-storaged --flagfile=${root_dir}/etc/nebula-storaged.conf --meta_server_addrs=$NEBULA_METAD_SVC --local_ip=$POD_FQDN --daemonize=false

‎addons/nebula/templates/_helpers.tpl

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,14 @@ Expand the namespace of the chart.
3030
{{ .Release.Namespace }}
3131
{{- end }}
3232

33+
{{/*
34+
Common annotations
35+
*/}}
36+
{{- define "nebula.annotations" -}}
37+
apps.kubeblocks.io/skip-immutable-check: "true"
38+
{{- end }}
39+
40+
3341
{{/*
3442
Create chart name and version as used by the chart label.
3543
*/}}
@@ -57,3 +65,74 @@ app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
5765
app.kubernetes.io/managed-by: {{ .Release.Service }}
5866
helm.sh/chart: {{ include "nebula.chart" . }}
5967
{{- end }}
68+
69+
{{/*
70+
Define nebula metad component definition name
71+
*/}}
72+
{{- define "nebula-metad.cmpdName" -}}
73+
nebula-metad
74+
{{- end -}}
75+
76+
{{/*
77+
Define nebula metad component definition regex pattern
78+
*/}}
79+
{{- define "nebula-metad.cmpdRegexpPattern" -}}
80+
^nebula-metad
81+
{{- end -}}
82+
83+
{{/*
84+
Define nebula metad configuration template name
85+
*/}}
86+
{{- define "nebula-metad.configTemplateName" -}}
87+
nebula-metad-config-template
88+
{{- end -}}
89+
90+
91+
{{/*
92+
Define nebula graphd component definition name
93+
*/}}
94+
{{- define "nebula-graphd.cmpdName" -}}
95+
nebula-graphd
96+
{{- end -}}
97+
98+
{{/*
99+
Define nebula graphd component definition regex pattern
100+
*/}}
101+
{{- define "nebula-graphd.cmpdRegexpPattern" -}}
102+
^nebula-graphd
103+
{{- end -}}
104+
105+
{{/*
106+
Define nebula graphd configuration template name
107+
*/}}
108+
{{- define "nebula-graphd.configTemplateName" -}}
109+
nebula-graphd-config-template
110+
{{- end -}}
111+
112+
{{/*
113+
Define nebula storaged component definition name
114+
*/}}
115+
{{- define "nebula-storaged.cmpdName" -}}
116+
nebula-storaged
117+
{{- end -}}
118+
119+
{{/*
120+
Define nebula storaged component definition regex pattern
121+
*/}}
122+
{{- define "nebula-storaged.cmpdRegexpPattern" -}}
123+
^nebula-storaged
124+
{{- end -}}
125+
126+
{{/*
127+
Define nebula storaged configuration template name
128+
*/}}
129+
{{- define "nebula-storaged.configTemplateName" -}}
130+
nebula-storaged-config-template
131+
{{- end -}}
132+
133+
{{/*
134+
Define nebula storaged scripts template name
135+
*/}}
136+
{{- define "nebula.scriptsTemplateName" -}}
137+
nebula-scripts-template
138+
{{- end -}}

‎addons/nebula/templates/clusterdefinition.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,21 @@ metadata:
55
labels:
66
{{- include "nebula.labels" . | nindent 4 }}
77
spec:
8+
topologies:
9+
- name: default
10+
default: true
11+
components:
12+
- name: graphd
13+
compDef: {{ include "nebula-graphd.cmpdRegexpPattern" . }}
14+
- name: metad
15+
compDef: {{ include "nebula-metad.cmpdRegexpPattern" . }}
16+
- name: storaged
17+
compDef: {{ include "nebula-storaged.cmpdRegexpPattern" . }}
18+
orders:
19+
provision:
20+
- metad
21+
- graphd
22+
- storaged
823
connectionCredential:
924
username: "root"
1025
password: ""
Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
apiVersion: apps.kubeblocks.io/v1alpha1
2+
kind: ComponentDefinition
3+
metadata:
4+
name: {{ include "nebula-graphd.cmpdName" . }}
5+
labels:
6+
{{- include "nebula.labels" . | nindent 4 }}
7+
annotations:
8+
{{- include "nebula.annotations" . | nindent 4 }}
9+
spec:
10+
provider: Community
11+
description: {{ .Chart.Description }}
12+
serviceKind: nebula
13+
serviceVersion: {{ .Chart.AppVersion }}
14+
podManagementPolicy: Parallel
15+
volumes:
16+
- name: logs
17+
services:
18+
- name: thrift
19+
spec:
20+
type: ClusterIP
21+
ports:
22+
- name: thrift
23+
port: 9669
24+
targetPort: thrift
25+
protocol: TCP
26+
- name: http
27+
port: 19669
28+
targetPort: http
29+
protocol: TCP
30+
- name: http2
31+
port: 19670
32+
targetPort: http2
33+
protocol: TCP
34+
configs:
35+
- name: nebula-graphd-config
36+
templateRef: {{ include "nebula-graphd.configTemplateName" . }}
37+
namespace: {{ .Release.Namespace }}
38+
volumeName: nebula-graphd
39+
scripts:
40+
- name: nebula-scripts
41+
templateRef: {{ include "nebula.scriptsTemplateName" . }}
42+
namespace: {{ .Release.Namespace }}
43+
volumeName: scripts
44+
defaultMode: 0555
45+
vars:
46+
- name: CLUSTER_DOMAIN
47+
value: {{ .Values.clusterDomain }}
48+
- name: GRAPHD_COMPONENT_NAME
49+
valueFrom:
50+
componentVarRef:
51+
optional: false
52+
componentName: Required
53+
- name: NEBULA_METAD_SVC
54+
valueFrom:
55+
componentVarRef:
56+
compDef: nebula-metad
57+
optional: false
58+
podFQDNs: Required
59+
expression: {{ `{{ $hosts := splitList "," .NEBULA_METAD_SVC }}{{ range $idx, $host := $hosts }}{{ $host }}:9559{{ if lt $idx (sub (len $hosts) 1) }},{{ end }}{{ end }}` | toYaml }}
60+
runtime:
61+
securityContext:
62+
fsGroup: 1001
63+
containers:
64+
- name: graphd
65+
command:
66+
- /bin/bash
67+
- -c
68+
- |
69+
/scripts/start-graphd.sh
70+
imagePullPolicy: {{default .Values.nebula.images.pullPolicy "IfNotPresent"}}
71+
ports:
72+
- containerPort: 9669
73+
name: thrift
74+
protocol: TCP
75+
- containerPort: 19669
76+
name: http
77+
protocol: TCP
78+
- containerPort: 19670
79+
name: http2
80+
protocol: TCP
81+
env:
82+
- name: POD_NAME
83+
valueFrom:
84+
fieldRef:
85+
apiVersion: v1
86+
fieldPath: metadata.name
87+
- name: CLUSTER_NAMESPACE
88+
valueFrom:
89+
fieldRef:
90+
apiVersion: v1
91+
fieldPath: metadata.namespace
92+
- name: POD_FQDN
93+
value: $(POD_NAME).$(GRAPHD_COMPONENT_NAME)-headless.$(CLUSTER_NAMESPACE).svc.$(CLUSTER_DOMAIN)
94+
readinessProbe:
95+
failureThreshold: 3
96+
httpGet:
97+
path: /status
98+
port: http
99+
scheme: HTTP
100+
initialDelaySeconds: 10
101+
periodSeconds: 10
102+
successThreshold: 1
103+
timeoutSeconds: 5
104+
volumeMounts:
105+
- mountPath: /usr/local/nebula/data
106+
name: data
107+
- mountPath: /usr/local/nebula/logs
108+
name: logs
109+
- mountPath: /usr/local/nebula/etc
110+
name: nebula-graphd
111+
- name: scripts
112+
mountPath: /scripts
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
apiVersion: apps.kubeblocks.io/v1alpha1
2+
kind: ComponentDefinition
3+
metadata:
4+
name: {{ include "nebula-metad.cmpdName" . }}
5+
labels:
6+
{{- include "nebula.labels" . | nindent 4 }}
7+
annotations:
8+
{{- include "nebula.annotations" . | nindent 4 }}
9+
spec:
10+
provider: Community
11+
description: {{ .Chart.Description }}
12+
serviceKind: nebula
13+
serviceVersion: {{ .Chart.AppVersion }}
14+
podManagementPolicy: Parallel
15+
configs:
16+
- name: nebula-metad-config
17+
templateRef: {{ include "nebula-metad.configTemplateName" . }}
18+
namespace: {{ .Release.Namespace }}
19+
volumeName: nebula-metad
20+
scripts:
21+
- name: nebula-scripts
22+
templateRef: {{ include "nebula.scriptsTemplateName" . }}
23+
namespace: {{ .Release.Namespace }}
24+
volumeName: scripts
25+
defaultMode: 0555
26+
volumes:
27+
- name: data
28+
needSnapshot: true
29+
- name: logs
30+
vars:
31+
- name: CLUSTER_DOMAIN
32+
value: {{ .Values.clusterDomain }}
33+
- name: NEBULA_METAD_SVC
34+
valueFrom:
35+
componentVarRef:
36+
optional: false
37+
podFQDNs: Required
38+
expression: {{ `{{ $hosts := splitList "," .NEBULA_METAD_SVC }}{{ range $idx, $host := $hosts }}{{ $host }}:9559{{ if lt $idx (sub (len $hosts) 1) }},{{ end }}{{ end }}` | toYaml }}
39+
- name: METAD_COMPONENT_NAME
40+
valueFrom:
41+
componentVarRef:
42+
optional: false
43+
componentName: Required
44+
runtime:
45+
containers:
46+
- name: metad
47+
command:
48+
- /bin/bash
49+
- -c
50+
- |
51+
/scripts/start-metad.sh
52+
imagePullPolicy: {{default .Values.nebula.images.pullPolicy "IfNotPresent"}}
53+
ports:
54+
- containerPort: 9559
55+
name: thrift
56+
protocol: TCP
57+
- containerPort: 19559
58+
name: http
59+
protocol: TCP
60+
- containerPort: 19560
61+
name: http2
62+
protocol: TCP
63+
env:
64+
- name: POD_NAME
65+
valueFrom:
66+
fieldRef:
67+
apiVersion: v1
68+
fieldPath: metadata.name
69+
- name: CLUSTER_NAMESPACE
70+
valueFrom:
71+
fieldRef:
72+
apiVersion: v1
73+
fieldPath: metadata.namespace
74+
- name: POD_FQDN
75+
value: $(POD_NAME).$(METAD_COMPONENT_NAME)-headless.$(CLUSTER_NAMESPACE).svc.$(CLUSTER_DOMAIN)
76+
# readinessProbe:
77+
# failureThreshold: 3
78+
# httpGet:
79+
# path: /status
80+
# port: http
81+
# scheme: HTTP
82+
# initialDelaySeconds: 10
83+
# periodSeconds: 10
84+
# successThreshold: 1
85+
# timeoutSeconds: 5
86+
volumeMounts:
87+
- mountPath: /usr/local/nebula/data
88+
name: data
89+
- mountPath: /usr/local/nebula/logs
90+
name: logs
91+
- mountPath: /usr/local/nebula/etc
92+
name: nebula-metad
93+
- name: scripts
94+
mountPath: /scripts
Lines changed: 148 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,148 @@
1+
apiVersion: apps.kubeblocks.io/v1alpha1
2+
kind: ComponentDefinition
3+
metadata:
4+
name: {{ include "nebula-storaged.cmpdName" . }}
5+
labels:
6+
{{- include "nebula.labels" . | nindent 4 }}
7+
annotations:
8+
{{- include "nebula.annotations" . | nindent 4 }}
9+
spec:
10+
provider: Community
11+
description: {{ .Chart.Description }}
12+
serviceKind: nebula
13+
serviceVersion: {{ .Chart.AppVersion }}
14+
podManagementPolicy: Parallel
15+
configs:
16+
- name: nebula-storaged-config
17+
templateRef: {{ include "nebula-storaged.configTemplateName" . }}
18+
namespace: {{ .Release.Namespace }}
19+
volumeName: nebula-storaged
20+
scripts:
21+
- name: nebula-scripts
22+
templateRef: {{ include "nebula.scriptsTemplateName" . }}
23+
namespace: {{ .Release.Namespace }}
24+
volumeName: scripts
25+
defaultMode: 0555
26+
volumes:
27+
- name: data
28+
needSnapshot: true
29+
- name: logs
30+
vars:
31+
- name: CLUSTER_DOMAIN
32+
value: {{ .Values.clusterDomain }}
33+
- name: STORAGED_COMPONENT_NAME
34+
valueFrom:
35+
componentVarRef:
36+
optional: false
37+
componentName: Required
38+
- name: STORAGED_COMPONENT_REPLICAS
39+
valueFrom:
40+
componentVarRef:
41+
optional: false
42+
replicas: Required
43+
- name: NEBULA_METAD_SVC
44+
valueFrom:
45+
componentVarRef:
46+
compDef: nebula-metad
47+
optional: false
48+
podFQDNs: Required
49+
expression: {{ `{{ $hosts := splitList "," .NEBULA_METAD_SVC }}{{ range $idx, $host := $hosts }}{{ $host }}:9559{{ if lt $idx (sub (len $hosts) 1) }},{{ end }}{{ end }}` | toYaml | nindent 8 }}
50+
- name: GRAPHD_SVC_NAME
51+
valueFrom:
52+
serviceVarRef:
53+
compDef: {{ include "nebula-graphd.cmpdRegexpPattern" . }}
54+
name: thrift
55+
optional: false
56+
host: Required
57+
- name: GRAPHD_SVC_PORT
58+
valueFrom:
59+
serviceVarRef:
60+
compDef: {{ include "nebula-graphd.cmpdRegexpPattern" . }}
61+
name: thrift
62+
optional: false
63+
port:
64+
name: thrift
65+
option: Required
66+
lifecycleActions:
67+
memberLeave:
68+
exec:
69+
command:
70+
- /bin/sh
71+
- -c
72+
- /scripts/member-leave.sh
73+
targetPodSelector: Any
74+
container: console
75+
runtime:
76+
volumes:
77+
- name: nebula-console
78+
emptyDir: {}
79+
securityContext:
80+
fsGroup: 1001
81+
initContainers:
82+
- name: init-console
83+
command:
84+
- /bin/sh
85+
- -c
86+
- |
87+
cp /usr/local/bin/nebula-console /usr/local/nebula/console/nebula-console
88+
imagePullPolicy: {{default .Values.nebula.images.pullPolicy "IfNotPresent"}}
89+
volumeMounts:
90+
- mountPath: /usr/local/nebula/data
91+
name: data
92+
- name: nebula-console
93+
mountPath: /usr/local/nebula/console
94+
containers:
95+
- name: storaged
96+
command:
97+
- /bin/bash
98+
- -c
99+
- |
100+
/scripts/start-storaged.sh
101+
imagePullPolicy: {{default .Values.nebula.images.pullPolicy "IfNotPresent"}}
102+
ports:
103+
- containerPort: 9779
104+
name: thrift
105+
protocol: TCP
106+
- containerPort: 19779
107+
name: http
108+
protocol: TCP
109+
- containerPort: 19780
110+
name: http2
111+
protocol: TCP
112+
- containerPort: 9778
113+
name: admin
114+
protocol: TCP
115+
env:
116+
- name: POD_NAME
117+
valueFrom:
118+
fieldRef:
119+
apiVersion: v1
120+
fieldPath: metadata.name
121+
- name: CLUSTER_NAMESPACE
122+
valueFrom:
123+
fieldRef:
124+
apiVersion: v1
125+
fieldPath: metadata.namespace
126+
- name: POD_FQDN
127+
value: $(POD_NAME).$(STORAGED_COMPONENT_NAME)-headless.$(CLUSTER_NAMESPACE).svc.$(CLUSTER_DOMAIN)
128+
readinessProbe:
129+
failureThreshold: 3
130+
httpGet:
131+
path: /status
132+
port: http
133+
scheme: HTTP
134+
initialDelaySeconds: 10
135+
periodSeconds: 10
136+
successThreshold: 1
137+
timeoutSeconds: 5
138+
volumeMounts:
139+
- mountPath: /usr/local/nebula/etc
140+
name: nebula-storaged
141+
- mountPath: /usr/local/nebula/data
142+
name: data
143+
- mountPath: /usr/local/nebula/logs
144+
name: logs
145+
- name: scripts
146+
mountPath: /scripts
147+
- name: nebula-console
148+
mountPath: /usr/local/nebula/console

‎addons/nebula/templates/cmpv.yaml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
apiVersion: apps.kubeblocks.io/v1alpha1
2+
kind: ComponentVersion
3+
metadata:
4+
name: nebula
5+
labels:
6+
{{- include "nebula.labels" . | nindent 4 }}
7+
spec:
8+
compatibilityRules:
9+
- releases:
10+
{{- range $i, $version := .Values.nebula.versions }}
11+
- graphd-{{ $version }}
12+
{{- end }}
13+
compDefs:
14+
- {{ include "nebula-graphd.cmpdRegexpPattern" . }}
15+
- releases:
16+
{{- range $i, $version := .Values.nebula.versions }}
17+
- metad-{{ $version }}
18+
{{- end }}
19+
compDefs:
20+
- {{ include "nebula-metad.cmpdRegexpPattern" . }}
21+
- releases:
22+
{{- range $i, $version := .Values.nebula.versions }}
23+
- storaged-{{ $version }}
24+
{{- end }}
25+
compDefs:
26+
- {{ include "nebula-storaged.cmpdRegexpPattern" . }}
27+
releases:
28+
{{- range $i, $version := .Values.nebula.versions }}
29+
- name: graphd-{{ $version }}
30+
serviceVersion: {{ $version }}
31+
images:
32+
graphd: {{ $.Values.nebula.images.graphd.registry | default ( $.Values.nebula.images.registry | default "docker.io" ) }}/{{ $.Values.nebula.images.graphd.repository }}:{{ $version }}
33+
- name: metad-{{ $version }}
34+
serviceVersion: {{ $version }}
35+
images:
36+
metad: {{ $.Values.nebula.images.metad.registry | default ( $.Values.nebula.images.registry | default "docker.io" ) }}/{{ $.Values.nebula.images.metad.repository }}:{{ $version }}
37+
- name: storaged-{{ $version }}
38+
serviceVersion: {{ $version }}
39+
images:
40+
init-console: {{ $.Values.nebula.images.console.registry | default ( $.Values.nebula.images.registry | default "docker.io" ) }}/{{ $.Values.nebula.images.console.repository }}:{{ $version }}
41+
storaged: {{ $.Values.nebula.images.storaged.registry | default ( $.Values.nebula.images.registry | default "docker.io" ) }}/{{ $.Values.nebula.images.storaged.repository }}:{{ $version }}
42+
{{- end }}

‎addons/nebula/templates/scripts.yaml

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,24 @@
11
apiVersion: v1
22
kind: ConfigMap
33
metadata:
4-
name: nebula-storaged-scripts
4+
name: {{ include "nebula.scriptsTemplateName" . }}
55
labels:
66
{{- include "nebula.labels" . | nindent 4 }}
77
data:
8+
start-metad.sh: |
9+
{{- .Files.Get "scripts/start-metad.sh" | nindent 4 }}
10+
start-graphd.sh: |
11+
{{- .Files.Get "scripts/start-graphd.sh" | nindent 4 }}
12+
start-storaged.sh: |
13+
{{- .Files.Get "scripts/start-storaged.sh" | nindent 4 }}
814
pre-stop.sh: |
915
#!/bin/sh
1016
idx=${KB_POD_NAME##*-}
1117
current_component_replicas=`cat /etc/annotations/component-replicas`
1218
if [ ! $idx -lt $current_component_replicas ] && [ $current_component_replicas -ne 0 ]; then
13-
storagedhost=$(echo DROP HOSTS \"${KB_POD_FQDN}{{ .Values.clusterDomain }}\":9779)
19+
storagedhost=$(echo DROP HOSTS \"${KB_POD_FQDN}.{{ .Values.clusterDomain }}\":9779)
1420
touch /tmp/nebula-storaged-hosts
15-
echo DROP HOSTS \"$KB_POD_FQDN{{ .Values.clusterDomain }}\":9779 > /tmp/nebula-storaged-hosts
21+
echo DROP HOSTS \"$KB_POD_FQDN.{{ .Values.clusterDomain }}\":9779 > /tmp/nebula-storaged-hosts
1622
exec /usr/local/bin/nebula-console --addr $GRAPHD_SVC_NAME --port $GRAPHD_SVC_PORT --user root --password nebula -f /tmp/nebula-storaged-hosts
1723
rm /tmp/nebula-storaged-hosts
1824
fi
19-
post-start.sh: |
20-
#!/bin/sh
21-
echo "Waiting for graphd service $GRAPHD_SVC_NAME to be ready..."
22-
until /usr/local/bin/nebula-console --addr $GRAPHD_SVC_NAME --port $GRAPHD_SVC_PORT --user root --password nebula -e "show spaces"; do sleep 2; done
23-
touch /tmp/nebula-storaged-hosts
24-
echo ADD HOSTS \"${KB_POD_FQDN}{{ .Values.clusterDomain }}\":9779 > /tmp/nebula-storaged-hosts
25-
exec /usr/local/bin/nebula-console --addr $GRAPHD_SVC_NAME --port $GRAPHD_SVC_PORT --user root --password nebula -f /tmp/nebula-storaged-hosts
26-
rm /tmp/nebula-storaged-hosts
27-
echo "Start Console succeeded!"

‎addons/nebula/values.yaml

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
nebula:
22
## @param nebula.version, version of nebula-graph
33
## more info: check https://docs.nebula-graph.io/ for latest and LTS versions
4-
version: v3.5.0
4+
defaultVersion: v3.8.0
5+
versions:
6+
- v3.8.0
7+
- v3.5.0
58
images:
69
registry: docker.io
710
pullPolicy: IfNotPresent
@@ -10,24 +13,24 @@ nebula:
1013
# if the value of nebula.images.graphd.registry is not specified using `--set`, it will be set to the value of 'nebula.images.registry' by default
1114
registry: ""
1215
repository: vesoft/nebula-graphd
13-
tag: v3.5.0
16+
tag: v3.8.0
1417
## @param nebula.images.metad, container image settings
1518
metad:
1619
# if the value of nebula.images.metad.registry is not specified using `--set`, it will be set to the value of 'nebula.images.registry' by default
1720
registry: ""
1821
repository: vesoft/nebula-metad
19-
tag: v3.5.0
22+
tag: v3.8.0
2023
## @param nebula.images.storaged, container image settings
2124
storaged:
2225
# if the value of nebula.images.storaged.registry is not specified using `--set`, it will be set to the value of 'nebula.images.registry' by default
2326
registry: ""
2427
repository: vesoft/nebula-storaged
25-
tag: v3.5.0
28+
tag: v3.8.0
2629
## @param nebula.images.console, container image settings
2730
console:
2831
# if the value of nebula.images.console.registry is not specified using `--set`, it will be set to the value of 'nebula.images.registry' by default
2932
registry: ""
3033
repository: vesoft/nebula-console
31-
tag: v3.5.0
34+
tag: v3.8.0
3235

33-
clusterDomain: ".cluster.local"
36+
clusterDomain: "cluster.local"

0 commit comments

Comments
 (0)
Please sign in to comment.