Skip to content

Commit e06e4a6

Browse files
committed
Update BanyanDB image tag and enhance Kubernetes deployment configurations
1 parent 7e45dc6 commit e06e4a6

File tree

5 files changed

+131
-100
lines changed

5 files changed

+131
-100
lines changed

.gitignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,3 +66,10 @@ deploy/platform/kubernetes/charts/
6666
deploy/platform/kubernetes/tmpcharts/
6767

6868
deploy/platform/kubernetes/generated
69+
70+
### Cursor ###
71+
.cursor
72+
73+
### Claude Code ###
74+
Claude.md
75+
.claude

Makefile.in

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,17 +26,17 @@ HUB ?= ghcr.io/apache/skywalking-showcase
2626
TAG ?= $(shell git rev-parse --short HEAD)
2727

2828
BANYANDB_IMAGE ?= ghcr.io/apache/skywalking-banyandb
29-
BANYANDB_IMAGE_TAG ?= 164b4917dcb0ade9527a5c5bbd1896f9a56a094a
29+
BANYANDB_IMAGE_TAG ?= 7e5b2d0404e8ad6d5835eee6fe589a2544d0decb
3030
STORAGE_CLASS ?= ""
3131

3232
ES_IMAGE ?= docker.elastic.co/elasticsearch/elasticsearch-oss
3333
ES_IMAGE_TAG ?= 7.10.2
3434

3535
SW_OAP_IMAGE ?= ghcr.io/apache/skywalking/oap
36-
SW_OAP_IMAGE_TAG ?= 6fe1fd8bea21d9c365c74d60584da109202ee297
36+
SW_OAP_IMAGE_TAG ?= bf04afdb2a841c60d5e27f5a9fc62d0879a5600c
3737

3838
SW_UI_IMAGE ?= ghcr.io/apache/skywalking/ui
39-
SW_UI_IMAGE_TAG ?= 6fe1fd8bea21d9c365c74d60584da109202ee297
39+
SW_UI_IMAGE_TAG ?= bf04afdb2a841c60d5e27f5a9fc62d0879a5600c
4040

4141
SW_CLI_IMAGE ?= ghcr.io/apache/skywalking-cli/skywalking-cli:bce7faaabbd57ed1f40156af8a8eb6c3eccea4ae
4242
SW_EVENT_EXPORTER_IMAGE ?= ghcr.io/apache/skywalking-kubernetes-event-exporter/skywalking-kubernetes-event-exporter:8a012a3f968cb139f817189afb9b3748841bba22

deploy/platform/kubernetes/Chart.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,13 @@ sources:
2424
dependencies:
2525
- name: skywalking-helm
2626
alias: skywalking
27-
version: 0.0.0-ea789a5633ad02ab704ddabb92aa067ee7705b09
27+
version: 0.0.0-133cfc420dd7c278445d714490898eb5cd5a90f0
2828
repository: oci://ghcr.io/apache/skywalking-helm
2929

3030
# @feature: java-agent-injector; the java agent injector is a component of the swck operator, so we need to deploy the swck operator firstly
3131
- name: skywalking-helm-swck-operator
3232
alias: swck
33-
version: 0.0.0-ea789a5633ad02ab704ddabb92aa067ee7705b09
33+
version: 0.0.0-133cfc420dd7c278445d714490898eb5cd5a90f0
3434
repository: oci://ghcr.io/apache/skywalking-helm
3535
condition: features.javaAgentInjector.enabled
3636

deploy/platform/kubernetes/Makefile

Lines changed: 14 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -26,44 +26,20 @@ include check.mak
2626

2727
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.fullnameOverride=$(RELEASE)
2828
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.banyandb.image.repository=$(BANYANDB_IMAGE) --set skywalking.banyandb.image.tag=$(BANYANDB_IMAGE_TAG)
29-
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.banyandb.etcd.persistence.storageClass=$(STORAGE_CLASS)
30-
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.banyandb.storage.persistentVolumeClaims[0].mountTargets[0]=stream
31-
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.banyandb.storage.persistentVolumeClaims[0].nodeRole=hot
32-
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.banyandb.storage.persistentVolumeClaims[0].claimName=hot-stream-data
33-
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.banyandb.storage.persistentVolumeClaims[0].size=10Gi
34-
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.banyandb.storage.persistentVolumeClaims[0].accessModes[0]=ReadWriteOnce
35-
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.banyandb.storage.persistentVolumeClaims[0].storageClass=$(STORAGE_CLASS)
36-
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.banyandb.storage.persistentVolumeClaims[0].volumeMode=Filesystem
37-
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.banyandb.storage.persistentVolumeClaims[1].mountTargets[0]=measure
38-
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.banyandb.storage.persistentVolumeClaims[1].nodeRole=hot
39-
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.banyandb.storage.persistentVolumeClaims[1].claimName=hot-measure-data
40-
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.banyandb.storage.persistentVolumeClaims[1].size=10Gi
41-
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.banyandb.storage.persistentVolumeClaims[1].accessModes[0]=ReadWriteOnce
42-
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.banyandb.storage.persistentVolumeClaims[1].storageClass=$(STORAGE_CLASS)
43-
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.banyandb.storage.persistentVolumeClaims[1].volumeMode=Filesystem
44-
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.banyandb.storage.persistentVolumeClaims[2].mountTargets[0]=property
45-
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.banyandb.storage.persistentVolumeClaims[2].nodeRole=hot
46-
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.banyandb.storage.persistentVolumeClaims[2].claimName=hot-property-data
47-
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.banyandb.storage.persistentVolumeClaims[2].size=2Gi
48-
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.banyandb.storage.persistentVolumeClaims[2].accessModes[0]=ReadWriteOnce
49-
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.banyandb.storage.persistentVolumeClaims[2].storageClass=$(STORAGE_CLASS)
50-
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.banyandb.storage.persistentVolumeClaims[2].volumeMode=Filesystem
51-
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.banyandb.storage.persistentVolumeClaims[3].mountTargets[0]=stream
52-
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.banyandb.storage.persistentVolumeClaims[3].mountTargets[1]=measure
53-
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.banyandb.storage.persistentVolumeClaims[3].nodeRole=warm
54-
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.banyandb.storage.persistentVolumeClaims[3].claimName=warm-data
55-
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.banyandb.storage.persistentVolumeClaims[3].size=50Gi
56-
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.banyandb.storage.persistentVolumeClaims[3].accessModes[0]=ReadWriteOnce
57-
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.banyandb.storage.persistentVolumeClaims[3].storageClass=$(STORAGE_CLASS)
58-
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.banyandb.storage.persistentVolumeClaims[3].volumeMode=Filesystem
59-
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.banyandb.storage.persistentVolumeClaims[4].mountTargets[0]=stream
60-
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.banyandb.storage.persistentVolumeClaims[4].mountTargets[1]=measure
61-
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.banyandb.storage.persistentVolumeClaims[4].nodeRole=cold
62-
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.banyandb.storage.persistentVolumeClaims[4].claimName=cold-data
63-
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.banyandb.storage.persistentVolumeClaims[4].size=100Gi
64-
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.banyandb.storage.persistentVolumeClaims[4].accessModes[0]=ReadWriteOnce
65-
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.banyandb.storage.persistentVolumeClaims[4].storageClass=$(STORAGE_CLASS)
66-
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.banyandb.storage.persistentVolumeClaims[4].volumeMode=Filesystem
29+
# Sanitize STORAGE_CLASS (remove quotes and whitespace), then conditionally include storageClass fields
30+
STORAGE_CLASS_SANITIZED := $(strip $(subst ",,$(subst ',,$(STORAGE_CLASS))))
31+
ifeq ($(STORAGE_CLASS_SANITIZED),)
32+
PVC_STORAGE_CLASS_FIELD :=
33+
else
34+
PVC_STORAGE_CLASS_FIELD := ,"storageClass":"$(STORAGE_CLASS_SANITIZED)"
35+
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.banyandb.etcd.persistence.storageClass=$(STORAGE_CLASS_SANITIZED)
36+
endif
37+
HELM_OPTIONS := $(HELM_OPTIONS) --set-json 'skywalking.banyandb.storage.liaison.persistentVolumeClaims[0]={"mountTargets":["measure","stream"],"claimName":"liaison-data","size":"10Gi","accessModes":["ReadWriteOnce"]$(PVC_STORAGE_CLASS_FIELD),"volumeMode":"Filesystem"}'
38+
HELM_OPTIONS := $(HELM_OPTIONS) --set-json 'skywalking.banyandb.storage.data.persistentVolumeClaims[0]={"mountTargets":["stream"],"nodeRole":"hot","claimName":"hot-stream-data","size":"10Gi","accessModes":["ReadWriteOnce"]$(PVC_STORAGE_CLASS_FIELD),"volumeMode":"Filesystem"}'
39+
HELM_OPTIONS := $(HELM_OPTIONS) --set-json 'skywalking.banyandb.storage.data.persistentVolumeClaims[1]={"mountTargets":["measure"],"nodeRole":"hot","claimName":"hot-measure-data","size":"10Gi","accessModes":["ReadWriteOnce"]$(PVC_STORAGE_CLASS_FIELD),"volumeMode":"Filesystem"}'
40+
HELM_OPTIONS := $(HELM_OPTIONS) --set-json 'skywalking.banyandb.storage.data.persistentVolumeClaims[2]={"mountTargets":["property"],"nodeRole":"hot","claimName":"hot-property-data","size":"2Gi","accessModes":["ReadWriteOnce"]$(PVC_STORAGE_CLASS_FIELD),"volumeMode":"Filesystem"}'
41+
HELM_OPTIONS := $(HELM_OPTIONS) --set-json 'skywalking.banyandb.storage.data.persistentVolumeClaims[3]={"mountTargets":["stream","measure","property"],"nodeRole":"warm","claimName":"warm-data","size":"50Gi","accessModes":["ReadWriteOnce"]$(PVC_STORAGE_CLASS_FIELD),"volumeMode":"Filesystem"}'
42+
HELM_OPTIONS := $(HELM_OPTIONS) --set-json 'skywalking.banyandb.storage.data.persistentVolumeClaims[4]={"mountTargets":["stream","measure","property"],"nodeRole":"cold","claimName":"cold-data","size":"100Gi","accessModes":["ReadWriteOnce"]$(PVC_STORAGE_CLASS_FIELD),"volumeMode":"Filesystem"}'
6743
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.oap.image.repository=$(SW_OAP_IMAGE) --set skywalking.oap.image.tag=$(SW_OAP_IMAGE_TAG)
6844
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.ui.image.repository=$(SW_UI_IMAGE) --set skywalking.ui.image.tag=$(SW_UI_IMAGE_TAG)
6945
HELM_OPTIONS := $(HELM_OPTIONS) --set skywalking.ui.env.SW_ZIPKIN_ADDRESS=http://$(RELEASE)-oap.$(NAMESPACE).svc:9412

deploy/platform/kubernetes/values.yaml

Lines changed: 105 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -161,96 +161,144 @@ skywalking:
161161
liaison:
162162
replicas: 2
163163
env:
164+
- name: GOMEMLIMIT
165+
value: "3GiB"
164166
- name: BYDB_DATA_NODE_SELECTOR
165167
value: "type=hot"
166168
httpSvc:
167169
type: ClusterIP
170+
resources:
171+
requests:
172+
- key: cpu
173+
value: 100m
174+
- key: memory
175+
value: 1Gi
176+
limits:
177+
- key: cpu
178+
value: 4
179+
- key: memory
180+
value: 4Gi
181+
securityContext:
182+
runAsUser: 1000
183+
runAsGroup: 1000
184+
fsGroup: 1000
185+
containerSecurityContext:
186+
readOnlyRootFilesystem: true
187+
allowPrivilegeEscalation: false
188+
runAsNonRoot: true
189+
capabilities:
190+
drop: [ "ALL" ]
191+
volumePermissions:
192+
enabled: true
193+
chownUser: 1000
194+
chownGroup: 1000
195+
image: busybox:1.36
168196
data:
169197
nodeTemplate:
170198
replicas: 2
171199
resources:
172200
requests:
173-
- key: cpu
174-
value: 100m
175-
- key: memory
176-
value: 1Gi
201+
- key: cpu
202+
value: 100m
203+
- key: memory
204+
value: 1Gi
177205
limits:
178-
- key: cpu
179-
value: 4
180-
- key: memory
181-
value: 4Gi
206+
- key: cpu
207+
value: 4
208+
- key: memory
209+
value: 4Gi
210+
securityContext:
211+
runAsUser: 1000
212+
runAsGroup: 1000
213+
fsGroup: 1000
214+
containerSecurityContext:
215+
readOnlyRootFilesystem: true
216+
allowPrivilegeEscalation: false
217+
runAsNonRoot: true
218+
capabilities:
219+
drop: [ "ALL" ]
220+
volumePermissions:
221+
enabled: true
222+
chownUser: 1000
223+
chownGroup: 1000
224+
image: busybox:1.36
182225
roles:
183226
hot:
184227
env:
185228
- name: GOMEMLIMIT
186229
value: "3GiB"
187-
- name: BYDB_NODE_LABELS
188-
value: "type=hot"
189230
lifecycleSidecar:
190231
schedule: "@daily"
191232
enabled: true
192233
warm:
193234
env:
194235
- name: GOMEMLIMIT
195236
value: "3GiB"
196-
- name: BYDB_NODE_LABELS
197-
value: "type=warm"
198237
lifecycleSidecar:
199238
schedule: "@daily"
200239
enabled: true
201240
cold:
202241
replicas: 1
203242
env:
204-
- name: BYDB_NODE_LABELS
205-
value: "type=cold"
206243
- name: GOMEMLIMIT
207244
value: "6GiB"
208245
resources:
209246
requests:
210-
- key: cpu
211-
value: 100m
212-
- key: memory
213-
value: 1Gi
247+
- key: cpu
248+
value: 100m
249+
- key: memory
250+
value: 1Gi
214251
limits:
215-
- key: cpu
216-
value: 8
217-
- key: memory
218-
value: 8Gi
252+
- key: cpu
253+
value: 8
254+
- key: memory
255+
value: 8Gi
219256
storage:
220-
enabled: true
221-
persistentVolumeClaims:
222-
- mountTargets: ["stream"]
257+
liaison:
258+
enabled: true
259+
persistentVolumeClaims:
260+
- mountTargets: [ "measure", "stream" ]
261+
claimName: liaison-data
262+
size: 10Gi
263+
accessModes:
264+
- ReadWriteOnce
265+
storageClass: ~
266+
volumeMode: Filesystem
267+
data:
268+
enabled: true
269+
persistentVolumeClaims:
270+
- mountTargets: [ "stream" ]
223271
nodeRole: hot
224272
claimName: hot-stream-data
225273
size: 10Gi
226274
accessModes:
227-
- ReadWriteOnce
275+
- ReadWriteOnce
228276
storageClass: ~
229277
volumeMode: Filesystem
230-
- mountTargets: ["measure"]
278+
- mountTargets: [ "measure" ]
231279
nodeRole: hot
232280
claimName: hot-measure-data
233281
size: 10Gi
234282
accessModes:
235-
- ReadWriteOnce
283+
- ReadWriteOnce
236284
storageClass: ~
237285
volumeMode: Filesystem
238-
- mountTargets: ["property"]
286+
- mountTargets: [ "property" ]
239287
nodeRole: hot
240288
claimName: hot-property-data
241289
size: 5Gi
242290
accessModes:
243-
- ReadWriteOnce
291+
- ReadWriteOnce
244292
storageClass: ~
245293
volumeMode: Filesystem
246-
- mountTargets: [ "measure", "stream" ]
294+
- mountTargets: [ "measure", "stream", "property" ]
247295
nodeRole: warm
248296
claimName: warm-data
249297
size: 100Gi
250298
accessModes:
251299
- ReadWriteOnce
252300
storageClass: ~
253-
- mountTargets: [ "measure", "stream" ]
301+
- mountTargets: [ "measure", "stream", "property" ]
254302
nodeRole: cold
255303
claimName: cold-data
256304
size: 500Gi
@@ -390,14 +438,14 @@ istiod:
390438
address: ""
391439
proxyStatsMatcher:
392440
inclusionRegexps:
393-
- ".*membership_healthy.*"
394-
- ".*upstream_cx_active.*"
395-
- ".*upstream_cx_total.*"
396-
- ".*upstream_rq_active.*"
397-
- ".*upstream_rq_total.*"
398-
- ".*upstream_rq_pending_active.*"
399-
- ".*lb_healthy_panic.*"
400-
- ".*upstream_cx_none_healthy.*"
441+
- ".*membership_healthy.*"
442+
- ".*upstream_cx_active.*"
443+
- ".*upstream_cx_total.*"
444+
- ".*upstream_rq_active.*"
445+
- ".*upstream_rq_total.*"
446+
- ".*upstream_rq_pending_active.*"
447+
- ".*lb_healthy_panic.*"
448+
- ".*upstream_cx_none_healthy.*"
401449

402450
# @feature: kubernetes-monitor; extra resources to install for kubernetes monitoring, standard kube-state-metrics
403451
kube-state-metrics:
@@ -448,16 +496,16 @@ opentelemetry-collector:
448496
clusterRole:
449497
create: true
450498
rules:
451-
- apiGroups: [""]
452-
resources:
453-
# @feature: kubernetes-monitor; permissions to read resources
454-
- "endpoints"
455-
- "pods"
456-
- "services"
457-
- "nodes"
458-
- "nodes/metrics"
459-
- "nodes/proxy"
460-
verbs: ["get", "watch", "list"]
499+
- apiGroups: [ "" ]
500+
resources:
501+
# @feature: kubernetes-monitor; permissions to read resources
502+
- "endpoints"
503+
- "pods"
504+
- "services"
505+
- "nodes"
506+
- "nodes/metrics"
507+
- "nodes/proxy"
508+
verbs: [ "get", "watch", "list" ]
461509
resources:
462510
limits:
463511
cpu: 1024m
@@ -471,16 +519,16 @@ opentelemetry-collector:
471519

472520
command:
473521
name: otelcol
474-
extraArgs: ["--config=/conf/config.yaml"]
522+
extraArgs: [ "--config=/conf/config.yaml" ]
475523

476524
extraVolumes:
477-
- name: otelcol-configmap
478-
configMap:
479-
name: otel-collector-config
480-
defaultMode: 420
525+
- name: otelcol-configmap
526+
configMap:
527+
name: otel-collector-config
528+
defaultMode: 420
481529
extraVolumeMounts:
482-
- name: otelcol-configmap
483-
mountPath: /conf
530+
- name: otelcol-configmap
531+
mountPath: /conf
484532

485533
features:
486534
kubernetesMonitor:

0 commit comments

Comments
 (0)