-
Notifications
You must be signed in to change notification settings - Fork 424
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
[GIE Standalone] Add helm chart to deploy GIE on vineyard storage #2546
Changes from all commits
98e3669
35720ed
99f8afe
bac4bf8
835f7e7
3196a76
908ae98
4ca3fc5
37d386b
aec5027
31c313f
ef63348
49020ca
73741a0
0be46fd
f8081ee
f688031
ad7f90e
4fe4306
a492051
d4a8447
d07f087
b2891f0
7b2f18a
d728138
f49338d
4ef92b0
ced483d
1821b84
c79d317
8253e5a
4d2b72c
04392d2
ed57d37
ca2770d
c32d6d8
8f4aba8
5cbd038
44fc787
bd5e110
f2536ad
b83ae27
512824e
49a63c1
9cded77
770de7c
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 |
---|---|---|
@@ -1,16 +1,18 @@ | ||
annotations: | ||
category: Database | ||
licenses: Apache-2.0 | ||
apiVersion: v2 | ||
appVersion: latest | ||
description: Chart to create a GraphScope Store cluster (Ir on Vineyard) | ||
appVersion: 3.4.0 | ||
description: Chart to Deploy GIE on Vineyard Storage | ||
home: https://graphscope.io | ||
icon: https://graphscope.io/assets/images/graphscope-logo.svg | ||
keywords: | ||
- GraphScope | ||
- database | ||
- cluster | ||
name: graphscope-store | ||
name: gie-standalone | ||
sources: | ||
- https://github.com/alibaba/GraphScope/tree/main/interactive_engine/ | ||
version: v2 | ||
version: 0.20.0 | ||
|
||
dependencies: |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,173 @@ | ||
# GIE Standalone Deployment | ||
## Prerequisite | ||
### etcd | ||
``` | ||
# TODO: the link need to be updated after merging to main | ||
kubectl apply -f https://raw.githubusercontent.com/shirly121/GraphScope/add_gie_deploy/charts/gie-standalone/tools/etcd.yaml | ||
``` | ||
### prepare graph data | ||
- vineyard | ||
``` | ||
# there are some sample data for tests under the `gie-standalone` directory, just copy them to the target directory | ||
|
||
data | ||
└── modern_graph | ||
├── created.csv | ||
├── knows.csv | ||
├── person.csv | ||
└── software.csv | ||
|
||
helm pull graphscope/gie-standalone --untar | ||
cp -r gie-standalone/data/ /tmp/data/ | ||
``` | ||
- experimental | ||
``` | ||
# experimental storage will create modern graph for tests by default, | ||
# prepare your own data under the directories of `graph_schema` and `graph_data_bin` if needed. | ||
cp -r graph_schema /tmp/data/ | ||
cp -r graph_data_bin /tmp/data | ||
``` | ||
### prepare k8s volume | ||
- download `pvc.yaml` | ||
``` | ||
# TODO: the link need to be updated after merging to main | ||
curl -O -S https://raw.githubusercontent.com/shirly121/GraphScope/add_gie_deploy/charts/gie-standalone/tools/pvc.yaml | ||
``` | ||
- config `pvc.yaml` | ||
``` | ||
hostPath: | ||
path: /tmp/data # keep consistent with the directory where the graph data is located | ||
``` | ||
- create pvc and pv | ||
``` | ||
kubectl apply -f pvc.yaml | ||
``` | ||
## Getting Started | ||
### start gie deployment | ||
- from remote | ||
``` | ||
helm repo update | ||
helm install <your-release-name> graphscope/gie-standalone | ||
``` | ||
- from local (for customized config) | ||
``` | ||
# download helm package | ||
helm pull graphscope/gie-standalone --untar | ||
helm install <your-release-name> gie-standalone | ||
``` | ||
### stop gie deployment | ||
``` | ||
helm delete <your-release-name> | ||
``` | ||
### get service endpoint | ||
``` | ||
# execute in advance if in minikube environment | ||
minikube tunnel | ||
# gremlin endpoint | ||
kubectl describe svc <your-release-name>-gie-standalone-frontend | grep "Endpoints:" | awk -F' ' '{print $2}' | ||
``` | ||
## Customized Config | ||
### download helm package | ||
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. Helm support configuring from command line or from a file. 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.
嗯,我的文档没写清楚,需要从source code配置的应该是自定义的loader文件,这个我看官方helm是需要在指定目录下添加文件,最终才能被load进configMap |
||
``` | ||
helm pull graphscope/gie-standalone --untar | ||
|
||
gie-standalone/ | ||
├── Chart.yaml | ||
├── config | ||
│ └── v6d_modern_loader.json | ||
├── data | ||
│ └── modern_graph | ||
│ ├── created.csv | ||
│ ├── knows.csv | ||
│ ├── person.csv | ||
│ └── software.csv | ||
├── README.md | ||
├── templates | ||
│ ├── configmap.yaml | ||
│ ├── frontend | ||
│ │ ├── statefulset.yaml | ||
│ │ └── svc.yaml | ||
│ ├── _helpers.tpl | ||
│ ├── serviceaccount.yaml | ||
│ └── store | ||
│ ├── statefulset.yaml | ||
│ └── svc-headless.yaml | ||
├── tools | ||
│ ├── etcd.yaml | ||
│ └── pvc.yaml | ||
└── values.yaml | ||
``` | ||
### config `gie-standalone/values.yaml` | ||
#### vineyard | ||
- docker artifacts | ||
``` | ||
# docker artifacts for vineyard store | ||
executor: | ||
image: | ||
registry: registry.cn-hongkong.aliyuncs.com | ||
repository: graphscope/interactive-executor | ||
tag: "0.20.0" | ||
|
||
# docker artifacts for frontend | ||
frontend: | ||
image: | ||
registry: registry.cn-hongkong.aliyuncs.com | ||
repository: graphscope/interactive-frontend | ||
tag: "0.20.0" | ||
``` | ||
- load your own graph data | ||
``` | ||
# add your graph loader config under `gie-standalone/config` | ||
|
||
config | ||
└── v6d_modern_loader.json | ||
|
||
# config the file name in `gie-standalone/values.yaml` | ||
htapLoaderConfig: "v6d_modern_loader.json" | ||
``` | ||
#### common | ||
``` | ||
frontend: | ||
replicaCount: 1 # frontend num | ||
service: | ||
gremlinPort: 8182 # gremlin service port | ||
|
||
executor: | ||
replicaCount: 1 # executor num | ||
|
||
# job config | ||
pegasusWorkerNum: 2 | ||
pegasusTimeout: 240000 | ||
pegasusBatchSize: 1024 | ||
pegasusOutputCapacity: 16 | ||
|
||
# k8s volume to store graph data | ||
existingClaim: "test-graphscope-store-pvc" | ||
|
||
# data path where the inner pod read graph data from | ||
storeDataPath: "/tmp/data" | ||
# hdfs path is supported in vineyard | ||
# storeDataPath: "hdfs://{ip}:{port}" | ||
``` | ||
#### experimental | ||
``` | ||
# docker artifacts for experimental store | ||
executor: | ||
image: | ||
registry: registry.cn-hongkong.aliyuncs.com | ||
repository: graphscope/gie-exp-runtime | ||
tag: "" | ||
|
||
# docker artifacts for frontend | ||
frontend: | ||
image: | ||
registry: registry.cn-hongkong.aliyuncs.com | ||
repository: graphscope/gie-exp-runtime | ||
tag: "" | ||
|
||
# storage type | ||
storageType: Experimental | ||
|
||
# schema needed by compiler, config in `gie-standalone/templates/configmap.yaml` | ||
schemaConfig: "expr_modern_schema.json" | ||
``` |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
{ | ||
"vertices": [ | ||
{ | ||
"data_path": "$STORE_DATA_PATH/modern_graph/person.csv", | ||
"label": "person", | ||
"options": "header_row=true&delimiter=|" | ||
}, | ||
{ | ||
"data_path": "$STORE_DATA_PATH/modern_graph/software.csv", | ||
"label": "software", | ||
"options": "header_row=true&delimiter=|" | ||
} | ||
], | ||
"edges": [ | ||
{ | ||
"data_path": "$STORE_DATA_PATH/modern_graph/knows.csv", | ||
"label": "knows", | ||
"src_label": "person", | ||
"dst_label": "person", | ||
"options": "header_row=true&delimiter=|" | ||
}, | ||
{ | ||
"data_path": "$STORE_DATA_PATH/modern_graph/created.csv", | ||
"label": "created", | ||
"src_label": "person", | ||
"dst_label": "software", | ||
"options": "header_row=true&delimiter=|" | ||
} | ||
], | ||
"directed": 1, | ||
"retain_oid": 1, | ||
"generate_eid": 1 | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
src_id|dst_id|edge_id|weight | ||
1|3|9|0.4 | ||
4|5|10|1.0 | ||
4|3|11|0.4 | ||
6|3|12|0.2 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
src_id|dst_id|edge_id|weight | ||
1|2|7|0.5 | ||
1|4|8|1.0 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
id|name|age | ||
2|vadas|27 | ||
6|peter|35 | ||
4|josh|32 | ||
1|marko|29 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
id|name|lang | ||
3|lop|java | ||
5|ripple|java |
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.
It's ok to have
kubectl apply -f https://raw.githubusercontent.com/alibaba/GraphScope/add_gie_deploy/charts/gie-standalone/tools/etcd.yaml
before merging.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.
These are just for my reference to write gie docs. Cheers