Skip to main content

System Requirements

1. Hardware Prerequisites

1.1 Single Node Virtual Machine Specs

Provided specs below estimate the resource usage for Gravity and staging DB

Number of nodesCPUsMemory (GiB)Storage (GiB)
11248900
  • Storage size is adjustable, usually twice the size of the input data

1.2 VM Specs for Multi-node Kubernetes Installation

VM nodeCountvCPUMemory (GiB)Storage (GiB)
Master node + NFS124600
Worker node1816100
Windows 跳板機12480
  • Storage size is adjustable, usually twice the size of the input data

2. Environment

  • A Kubernetes cluster, capable of connecting to internet to pull images.
  • A local image registry (e.g.,Docker, Harbor)
  • A Linux jump server with the correct access rights to operate K8S cluster

📝 A jump server could be any one of the following:

A master node in the kubernetes cluster

Any machine that can connect to the master node

3. Acquire sample .yaml files and images

Click ---> here to install the official Gravity Image file (image files)

Click ---> here to install the depndency files (Sample .yaml)

3.1 File Structure

Below is the file structure provided:

── 00-namespace.yaml
├── 10-lab-db
│   ├── source-mssql
│   │   ├── 01-create_src_db.sh
│   │   ├── 02-query_src.sh
│   │   ├── 03-drop_src_tb.sh
│   │   ├── DropTable.sql
│   │   ├── mssql.yaml
│   │   └── SrcTable.sql
│   ├── target2-mysql
│   │   ├── 01-create_target2_tb.sh
│   │   ├── 02-query_target2.sh
│   │   ├── 03-drop_target_tb.sh
│   │   ├── delete_target2.sh
│   │   ├── mysql.yaml
│   │   ├── query.sh
│   │   └── Target2Table.sql
│   └── target-mssql
│   ├── 01-create_tgt_db.sh
│   ├── 02-query_tgt.sh
│   ├── 03-drop_tgt_tb.sh
│   ├── DropTable.sql
│   ├── mssql.yaml
│   └── TargetTable.sql
├── 20-lab-gitea
│   ├── gitea.yaml
│   └── token.txt
├── 30-gravity
│   ├── 00-lab-configmap.yaml
│   ├── 01-lab-secret.yaml
│   ├── 10-lab-gravity-nats.yaml
│   ├── 20-lab-gravity-dispatcher.yaml
│   ├── 30-lab-adapter-mssql.yaml
│   ├── 40-lab-atomic.yaml
│   ├── data_product
│   │   ├── create_dp.sh
│   │   ├── delete_dp.sh
│   │   ├── handler.js
│   │   ├── list_token.sh
│   │   ├── schema.json
│   │   └── table-scanner_linux_amd64
│   └── flow
│   └── node_modules
├── atomic_build
│   ├── atomic
│   │   ├── pwd_encrypt
│   │   └── startup.sh
│   ├── Dockerfile.lab-atomic_test
│   └── README.md
├── db-test
│   ├── delete.sh
│   ├── delete_target2.sh
│   ├── error_retry.json
│   ├── flow.json
│   ├── insert.sh
│   ├── logic1.json
│   ├── logic2.json
│   ├── query.sh
│   ├── query_target2.sh
│   ├── source_1.txt
│   ├── source_2.txt
│   ├── update.sh
│   └── update.txt
├── README.md
└── tools
├── pwd_encrypt
└── table-scanner_linux_amd64