-
Notifications
You must be signed in to change notification settings - Fork 199
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Integrate BanyanDB as storage solution #126
Changes from 13 commits
40c8a6c
a508921
b46bdb0
8fe0feb
d19eaf3
22861b6
25220da
bc6a673
678d6a0
53d61bd
de6caef
1f5cf73
4c27e3e
456a583
16b2035
b1faf52
03069e6
3dc2878
220696d
6da849c
8138cce
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
|
@@ -18,7 +18,7 @@ There are required values that you must set explicitly when deploying SkyWalking | |||||
| name | description | example | | ||||||
| ---- | ----------- | ------- | | ||||||
| `oap.image.tag` | the OAP docker image tag | `9.2.0` | | ||||||
| `oap.storageType` | the storage type of the OAP | `elasticsearch`, `postgresql`, etc. | | ||||||
| `oap.storageType` | the storage type of the OAP | `elasticsearch`, `postgresql`, `banyandb`, etc. | | ||||||
| `ui.image.tag` | the UI docker image tag | `9.2.0` | | ||||||
|
||||||
You can set these required values via command line (e.g. `--set oap.image.tag=9.2.0 --set oap.storageType=elasticsearch`), | ||||||
|
@@ -66,6 +66,22 @@ helm repo add elastic https://helm.elastic.co | |||||
helm dep up ${REPO}/skywalking | ||||||
``` | ||||||
|
||||||
To use banyandb as storage solution, you can try | ||||||
|
||||||
```shell | ||||||
export REPO=chart | ||||||
git clone https://github.com/apache/skywalking-kubernetes | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
cd skywalking-kubernetes | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
helm install "${SKYWALKING_RELEASE_NAME}" \ | ||||||
${REPO}/skywalking \ | ||||||
-n "${SKYWALKING_RELEASE_NAMESPACE}" \ | ||||||
--set oap.image.tag=9.5.0 \ | ||||||
--set oap.storageType=banyandb \ | ||||||
--set ui.image.tag=9.5.0 \ | ||||||
--set elasticsearch.enabled=false \ | ||||||
--set banyandb.enabled=true | ||||||
``` | ||||||
|
||||||
## Install development version of SWCK Adapter using master branch | ||||||
|
||||||
This is needed **only** when you want to install [SWCK Adapter](https://github.com/apache/skywalking-swck/tree/master/adapter) from master branch. | ||||||
|
@@ -136,6 +152,7 @@ elasticsearch: | |||||
user: "xxx" # [optional] | ||||||
password: "xxx" # [optional] | ||||||
``` | ||||||
The same goes for PostgreSQL and BanyanDB. | ||||||
|
||||||
## Install development version using ghcr.io Helm repository | ||||||
|
||||||
|
@@ -161,9 +178,9 @@ This is needed **only** when you want to install source codes. | |||||
helm install "${SKYWALKING_RELEASE_NAME}" ${REPO}/skywalking -n "${SKYWALKING_RELEASE_NAMESPACE}" | ||||||
``` | ||||||
|
||||||
## Install a specific version of SkyWalking with an existing Elasticsearch | ||||||
## Install a specific version of SkyWalking with an existing database | ||||||
|
||||||
Modify the connection information to the existing elasticsearch cluster in file [`values-my-es.yaml`](chart/skywalking/values-my-es.yaml). | ||||||
If you want to use a specific version of elasticsearch as storage solution, for instance, modify the connection information to the existing elasticsearch cluster in file [`values-my-es.yaml`](chart/skywalking/values-my-es.yaml). | ||||||
|
||||||
```shell script | ||||||
helm install "${SKYWALKING_RELEASE_NAME}" ${REPO}/skywalking -n "${SKYWALKING_RELEASE_NAMESPACE}" \ | ||||||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -38,3 +38,7 @@ dependencies: | |
version: 12.1.2 | ||
repository: https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami | ||
condition: postgresql.enabled | ||
- name: skywalking-banyandb-helm | ||
version: 0.0.0-67df1c7 | ||
repository: oci://ghcr.io/apache/skywalking-banyandb-helm | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't think we could use this as the final release. We should request for docker hub repository, and do a release for banyandb helm. @hanahmily There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Because we deploy skywalking chart snapshot to ghcr so this makes sense in main branch but have to remember to change to a released one for banyandb chart before releasing. This also implies that a skywalking chart release depends on a banyandb release. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Makes sense to me. We will release the banyandb helm once the cluster mode is supported later. @ButterBright please make a note of this. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
For me, the concern is, that we don't release This PR is never urgent, so, if you feel the BanyanDB helm repo is ready to release, please go ahead to do so. I believe no matter banyandb helm repo is relying on BanyanDB server 0.5 release or not, it is close to be ready. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Okay. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Let's wait for banyandb's first official release then. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Agreed. @ButterBright, could you please release the banyandb helm chart version 0.1.0? @kezhenxu94, would you kindly guide them through the process? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Reach out to me if there is any help I can offer, btw, it's too troublesome to ask a non-committer to release, even it's a committer who is releasing, one of the steps in release process still needs a PMC member to help, so basically there is few stuff can be done by @ButterBright to propose a release yet. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We can't accept non committer to do a release. Because ASF requires apache ID and his/her sign based on that. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I will take care of the release |
||
condition: banyandb.enabled |
Original file line number | Diff line number | Diff line change | ||
---|---|---|---|---|
|
@@ -115,6 +115,16 @@ Create the name of the service account to use for the satellite cluster | |||
echo "Waiting for postgresql..." | ||||
sleep 3 | ||||
done | ||||
{{- else if eq .Values.oap.storageType "banyandb" -}} | ||||
{{- $banyandbHost := "banyandb-http" -}} | ||||
{{- if not .Values.banyandb.enabled -}} | ||||
{{- $banyandbHost = .Values.banyandb.config.httpHost -}} | ||||
{{- end }} | ||||
- name: wait-for-banyandb | ||||
image: curlimages/curl | ||||
imagePullPolicy: IfNotPresent | ||||
command: ['sh', '-c', 'for i in $(seq 1 60); do curl {{ $banyandbHost }}:{{ .Values.banyandb.config.httpPort }}/api/healthz && exit 0 || sleep 5; done; exit 1'] | ||||
|
||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||
{{- end }} | ||||
{{- end -}} | ||||
|
||||
|
@@ -150,5 +160,14 @@ Create the name of the service account to use for the satellite cluster | |||
value: "{{ .Values.postgresql.auth.username }}" | ||||
- name: SW_DATA_SOURCE_PASSWORD | ||||
value: "{{ .Values.postgresql.auth.password }}" | ||||
{{- else if eq .Values.oap.storageType "banyandb" }} | ||||
{{- $banyandbHost := "banyandb-grpc" -}} | ||||
{{- if not .Values.banyandb.enabled -}} | ||||
{{- $banyandbHost = .Values.banyandb.config.grpcHost -}} | ||||
{{- end }} | ||||
- name: SW_STORAGE_BANYANDB_HOST | ||||
value: "{{ $banyandbHost }}" | ||||
- name: SW_STORAGE_BANYANDB_PORT | ||||
value: "{{ .Values.banyandb.config.grpcPort }}" | ||||
{{- end }} | ||||
{{- end -}} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should run e2e in the parallel mode. You could ref the main repo skywalking.yml to use
matrix
to definename
andconfig
.