5 changed files with 547 additions and 16 deletions
-
18test/mq/Dockerfile.test
-
60test/mq/Makefile
-
56test/mq/README.md
-
167test/mq/docker-compose.cluster.yml
-
262test/mq/docker-compose.production.yml
@ -0,0 +1,167 @@ |
|||||
|
version: '3.8' |
||||
|
|
||||
|
services: |
||||
|
# Masters |
||||
|
master0: |
||||
|
image: chrislusf/seaweedfs:latest |
||||
|
ports: |
||||
|
- "19333:9333" |
||||
|
volumes: |
||||
|
- /tmp/seaweedfs-test/master0:/data |
||||
|
command: "master -port=9333 -mdir=/data -peers=master0:9333,master1:9334,master2:9335 -ip=master0 -defaultReplication=001" |
||||
|
networks: |
||||
|
- seaweedfs-test |
||||
|
healthcheck: |
||||
|
test: ["CMD", "curl", "-f", "http://localhost:9333/cluster/status"] |
||||
|
interval: 30s |
||||
|
timeout: 10s |
||||
|
retries: 5 |
||||
|
start_period: 30s |
||||
|
|
||||
|
master1: |
||||
|
image: chrislusf/seaweedfs:latest |
||||
|
ports: |
||||
|
- "19334:9334" |
||||
|
volumes: |
||||
|
- /tmp/seaweedfs-test/master1:/data |
||||
|
command: "master -port=9334 -mdir=/data -peers=master0:9333,master1:9334,master2:9335 -ip=master1 -defaultReplication=001" |
||||
|
networks: |
||||
|
- seaweedfs-test |
||||
|
healthcheck: |
||||
|
test: ["CMD", "curl", "-f", "http://localhost:9334/cluster/status"] |
||||
|
interval: 30s |
||||
|
timeout: 10s |
||||
|
retries: 5 |
||||
|
start_period: 30s |
||||
|
|
||||
|
master2: |
||||
|
image: chrislusf/seaweedfs:latest |
||||
|
ports: |
||||
|
- "19335:9335" |
||||
|
volumes: |
||||
|
- /tmp/seaweedfs-test/master2:/data |
||||
|
command: "master -port=9335 -mdir=/data -peers=master0:9333,master1:9334,master2:9335 -ip=master2 -defaultReplication=001" |
||||
|
networks: |
||||
|
- seaweedfs-test |
||||
|
healthcheck: |
||||
|
test: ["CMD", "curl", "-f", "http://localhost:9335/cluster/status"] |
||||
|
interval: 30s |
||||
|
timeout: 10s |
||||
|
retries: 5 |
||||
|
start_period: 30s |
||||
|
|
||||
|
# Volume Servers |
||||
|
volume1: |
||||
|
image: chrislusf/seaweedfs:latest |
||||
|
ports: |
||||
|
- "18080:8080" |
||||
|
volumes: |
||||
|
- /tmp/seaweedfs-test/volume1:/data |
||||
|
command: "volume -port=8080 -mserver=master0:9333,master1:9334,master2:9335 -dir=/data" |
||||
|
depends_on: |
||||
|
- master0 |
||||
|
- master1 |
||||
|
- master2 |
||||
|
networks: |
||||
|
- seaweedfs-test |
||||
|
|
||||
|
volume2: |
||||
|
image: chrislusf/seaweedfs:latest |
||||
|
ports: |
||||
|
- "18081:8081" |
||||
|
volumes: |
||||
|
- /tmp/seaweedfs-test/volume2:/data |
||||
|
command: "volume -port=8081 -mserver=master0:9333,master1:9334,master2:9335 -dir=/data" |
||||
|
depends_on: |
||||
|
- master0 |
||||
|
- master1 |
||||
|
- master2 |
||||
|
networks: |
||||
|
- seaweedfs-test |
||||
|
|
||||
|
volume3: |
||||
|
image: chrislusf/seaweedfs:latest |
||||
|
ports: |
||||
|
- "18082:8082" |
||||
|
volumes: |
||||
|
- /tmp/seaweedfs-test/volume3:/data |
||||
|
command: "volume -port=8082 -mserver=master0:9333,master1:9334,master2:9335 -dir=/data" |
||||
|
depends_on: |
||||
|
- master0 |
||||
|
- master1 |
||||
|
- master2 |
||||
|
networks: |
||||
|
- seaweedfs-test |
||||
|
|
||||
|
# Filers |
||||
|
filer1: |
||||
|
image: chrislusf/seaweedfs:latest |
||||
|
ports: |
||||
|
- "18888:8888" |
||||
|
volumes: |
||||
|
- /tmp/seaweedfs-test/filer1:/data |
||||
|
command: "filer -port=8888 -master=master0:9333,master1:9334,master2:9335" |
||||
|
depends_on: |
||||
|
- volume1 |
||||
|
- volume2 |
||||
|
- volume3 |
||||
|
networks: |
||||
|
- seaweedfs-test |
||||
|
|
||||
|
filer2: |
||||
|
image: chrislusf/seaweedfs:latest |
||||
|
ports: |
||||
|
- "18889:8889" |
||||
|
volumes: |
||||
|
- /tmp/seaweedfs-test/filer2:/data |
||||
|
command: "filer -port=8889 -master=master0:9333,master1:9334,master2:9335" |
||||
|
depends_on: |
||||
|
- volume1 |
||||
|
- volume2 |
||||
|
- volume3 |
||||
|
networks: |
||||
|
- seaweedfs-test |
||||
|
|
||||
|
# Message Queue Brokers |
||||
|
broker1: |
||||
|
image: chrislusf/seaweedfs:latest |
||||
|
ports: |
||||
|
- "17777:17777" |
||||
|
volumes: |
||||
|
- /tmp/seaweedfs-test/broker1:/data |
||||
|
command: "mq.broker -port=17777 -master=master0:9333,master1:9334,master2:9335" |
||||
|
depends_on: |
||||
|
- filer1 |
||||
|
- filer2 |
||||
|
networks: |
||||
|
- seaweedfs-test |
||||
|
|
||||
|
broker2: |
||||
|
image: chrislusf/seaweedfs:latest |
||||
|
ports: |
||||
|
- "17778:17778" |
||||
|
volumes: |
||||
|
- /tmp/seaweedfs-test/broker2:/data |
||||
|
command: "mq.broker -port=17778 -master=master0:9333,master1:9334,master2:9335" |
||||
|
depends_on: |
||||
|
- filer1 |
||||
|
- filer2 |
||||
|
networks: |
||||
|
- seaweedfs-test |
||||
|
|
||||
|
broker3: |
||||
|
image: chrislusf/seaweedfs:latest |
||||
|
ports: |
||||
|
- "17779:17779" |
||||
|
volumes: |
||||
|
- /tmp/seaweedfs-test/broker3:/data |
||||
|
command: "mq.broker -port=17779 -master=master0:9333,master1:9334,master2:9335" |
||||
|
depends_on: |
||||
|
- filer1 |
||||
|
- filer2 |
||||
|
networks: |
||||
|
- seaweedfs-test |
||||
|
|
||||
|
networks: |
||||
|
seaweedfs-test: |
||||
|
driver: bridge |
||||
@ -0,0 +1,262 @@ |
|||||
|
version: '3.8' |
||||
|
|
||||
|
services: |
||||
|
# Masters |
||||
|
master0: |
||||
|
image: chrislusf/seaweedfs:latest |
||||
|
ports: |
||||
|
- "19333:19333" |
||||
|
- "9333:9333" |
||||
|
volumes: |
||||
|
- /tmp/seaweedfs-test/master0:/data |
||||
|
command: "master -port=9333 -mdir=/data -peers=master0:9333,master1:9334,master2:9335 -defaultReplication=001" |
||||
|
environment: |
||||
|
WEED_MASTER_VOLUME_GROWTH_COPY_1: 7 |
||||
|
WEED_MASTER_VOLUME_GROWTH_COPY_2: 6 |
||||
|
WEED_MASTER_VOLUME_GROWTH_COPY_OTHER: 3 |
||||
|
networks: |
||||
|
- seaweedfs-test |
||||
|
healthcheck: |
||||
|
test: ["CMD", "curl", "-f", "http://localhost:9333/cluster/status"] |
||||
|
interval: 10s |
||||
|
timeout: 5s |
||||
|
retries: 3 |
||||
|
|
||||
|
master1: |
||||
|
image: chrislusf/seaweedfs:latest |
||||
|
ports: |
||||
|
- "19334:9334" |
||||
|
- "9334:9334" |
||||
|
volumes: |
||||
|
- /tmp/seaweedfs-test/master1:/data |
||||
|
command: "master -port=9334 -mdir=/data -peers=master0:9333,master1:9334,master2:9335 -defaultReplication=001" |
||||
|
environment: |
||||
|
WEED_MASTER_VOLUME_GROWTH_COPY_1: 7 |
||||
|
WEED_MASTER_VOLUME_GROWTH_COPY_2: 6 |
||||
|
WEED_MASTER_VOLUME_GROWTH_COPY_OTHER: 3 |
||||
|
networks: |
||||
|
- seaweedfs-test |
||||
|
healthcheck: |
||||
|
test: ["CMD", "curl", "-f", "http://localhost:9334/cluster/status"] |
||||
|
interval: 10s |
||||
|
timeout: 5s |
||||
|
retries: 3 |
||||
|
|
||||
|
master2: |
||||
|
image: chrislusf/seaweedfs:latest |
||||
|
ports: |
||||
|
- "19335:9335" |
||||
|
- "9335:9335" |
||||
|
volumes: |
||||
|
- /tmp/seaweedfs-test/master2:/data |
||||
|
command: "master -port=9335 -mdir=/data -peers=master0:9333,master1:9334,master2:9335 -defaultReplication=001" |
||||
|
environment: |
||||
|
WEED_MASTER_VOLUME_GROWTH_COPY_1: 7 |
||||
|
WEED_MASTER_VOLUME_GROWTH_COPY_2: 6 |
||||
|
WEED_MASTER_VOLUME_GROWTH_COPY_OTHER: 3 |
||||
|
networks: |
||||
|
- seaweedfs-test |
||||
|
healthcheck: |
||||
|
test: ["CMD", "curl", "-f", "http://localhost:9335/cluster/status"] |
||||
|
interval: 10s |
||||
|
timeout: 5s |
||||
|
retries: 3 |
||||
|
|
||||
|
# Volume Servers |
||||
|
volume1: |
||||
|
image: chrislusf/seaweedfs:latest |
||||
|
ports: |
||||
|
- "18080:8080" |
||||
|
- "8080:8080" |
||||
|
volumes: |
||||
|
- /tmp/seaweedfs-test/volume1:/data |
||||
|
command: "volume -port=8080 -mserver=master0:9333,master1:9334,master2:9335 -dir=/data" |
||||
|
depends_on: |
||||
|
master0: |
||||
|
condition: service_healthy |
||||
|
master1: |
||||
|
condition: service_healthy |
||||
|
master2: |
||||
|
condition: service_healthy |
||||
|
networks: |
||||
|
- seaweedfs-test |
||||
|
environment: |
||||
|
WEED_VOLUME_MAX: 100 |
||||
|
|
||||
|
volume2: |
||||
|
image: chrislusf/seaweedfs:latest |
||||
|
ports: |
||||
|
- "18081:8081" |
||||
|
- "8081:8081" |
||||
|
volumes: |
||||
|
- /tmp/seaweedfs-test/volume2:/data |
||||
|
command: "volume -port=8081 -mserver=master0:9333,master1:9334,master2:9335 -dir=/data" |
||||
|
depends_on: |
||||
|
master0: |
||||
|
condition: service_healthy |
||||
|
master1: |
||||
|
condition: service_healthy |
||||
|
master2: |
||||
|
condition: service_healthy |
||||
|
networks: |
||||
|
- seaweedfs-test |
||||
|
environment: |
||||
|
WEED_VOLUME_MAX: 100 |
||||
|
|
||||
|
volume3: |
||||
|
image: chrislusf/seaweedfs:latest |
||||
|
ports: |
||||
|
- "18082:8082" |
||||
|
- "8082:8082" |
||||
|
volumes: |
||||
|
- /tmp/seaweedfs-test/volume3:/data |
||||
|
command: "volume -port=8082 -mserver=master0:9333,master1:9334,master2:9335 -dir=/data" |
||||
|
depends_on: |
||||
|
master0: |
||||
|
condition: service_healthy |
||||
|
master1: |
||||
|
condition: service_healthy |
||||
|
master2: |
||||
|
condition: service_healthy |
||||
|
networks: |
||||
|
- seaweedfs-test |
||||
|
environment: |
||||
|
WEED_VOLUME_MAX: 100 |
||||
|
|
||||
|
# Filers |
||||
|
filer1: |
||||
|
image: chrislusf/seaweedfs:latest |
||||
|
ports: |
||||
|
- "18888:8888" |
||||
|
- "8888:8888" |
||||
|
volumes: |
||||
|
- /tmp/seaweedfs-test/filer1:/data |
||||
|
command: "filer -port=8888 -master=master0:9333,master1:9334,master2:9335" |
||||
|
depends_on: |
||||
|
- volume1 |
||||
|
- volume2 |
||||
|
- volume3 |
||||
|
networks: |
||||
|
- seaweedfs-test |
||||
|
environment: |
||||
|
WEED_LEVELDB2_DIR: "/data/filerldb2" |
||||
|
|
||||
|
filer2: |
||||
|
image: chrislusf/seaweedfs:latest |
||||
|
ports: |
||||
|
- "18889:8889" |
||||
|
- "8889:8889" |
||||
|
volumes: |
||||
|
- /tmp/seaweedfs-test/filer2:/data |
||||
|
command: "filer -port=8889 -master=master0:9333,master1:9334,master2:9335" |
||||
|
depends_on: |
||||
|
- volume1 |
||||
|
- volume2 |
||||
|
- volume3 |
||||
|
networks: |
||||
|
- seaweedfs-test |
||||
|
environment: |
||||
|
WEED_LEVELDB2_DIR: "/data/filerldb2" |
||||
|
|
||||
|
# Message Queue Brokers |
||||
|
broker1: |
||||
|
image: chrislusf/seaweedfs:latest |
||||
|
ports: |
||||
|
- "17777:17777" |
||||
|
volumes: |
||||
|
- /tmp/seaweedfs-test/broker1:/data |
||||
|
command: "mq.broker -port=17777 -filer=filer1:8888,filer2:8889" |
||||
|
depends_on: |
||||
|
- filer1 |
||||
|
- filer2 |
||||
|
networks: |
||||
|
- seaweedfs-test |
||||
|
environment: |
||||
|
WEED_MQ_BROKER_CPU_PERCENT: 80 |
||||
|
|
||||
|
broker2: |
||||
|
image: chrislusf/seaweedfs:latest |
||||
|
ports: |
||||
|
- "17778:17778" |
||||
|
volumes: |
||||
|
- /tmp/seaweedfs-test/broker2:/data |
||||
|
command: "mq.broker -port=17778 -filer=filer1:8888,filer2:8889" |
||||
|
depends_on: |
||||
|
- filer1 |
||||
|
- filer2 |
||||
|
networks: |
||||
|
- seaweedfs-test |
||||
|
environment: |
||||
|
WEED_MQ_BROKER_CPU_PERCENT: 80 |
||||
|
|
||||
|
broker3: |
||||
|
image: chrislusf/seaweedfs:latest |
||||
|
ports: |
||||
|
- "17779:17779" |
||||
|
volumes: |
||||
|
- /tmp/seaweedfs-test/broker3:/data |
||||
|
command: "mq.broker -port=17779 -filer=filer1:8888,filer2:8889" |
||||
|
depends_on: |
||||
|
- filer1 |
||||
|
- filer2 |
||||
|
networks: |
||||
|
- seaweedfs-test |
||||
|
environment: |
||||
|
WEED_MQ_BROKER_CPU_PERCENT: 80 |
||||
|
|
||||
|
# Test Runner |
||||
|
test-runner: |
||||
|
image: seaweedfs-test-runner |
||||
|
volumes: |
||||
|
- ../..:/workspace |
||||
|
- /tmp/test-results:/test-results |
||||
|
working_dir: /workspace |
||||
|
networks: |
||||
|
- seaweedfs-test |
||||
|
environment: |
||||
|
- SEAWEED_MASTERS=master0:9333,master1:9334,master2:9335 |
||||
|
- SEAWEED_BROKERS=broker1:17777,broker2:17778,broker3:17779 |
||||
|
- SEAWEED_FILERS=filer1:8888,filer2:8889 |
||||
|
- GO111MODULE=on |
||||
|
- CGO_ENABLED=0 |
||||
|
depends_on: |
||||
|
- broker1 |
||||
|
- broker2 |
||||
|
- broker3 |
||||
|
|
||||
|
# Monitoring |
||||
|
prometheus: |
||||
|
image: prom/prometheus:latest |
||||
|
ports: |
||||
|
- "19090:9090" |
||||
|
volumes: |
||||
|
- ./prometheus.yml:/etc/prometheus/prometheus.yml |
||||
|
networks: |
||||
|
- seaweedfs-test |
||||
|
depends_on: |
||||
|
- master0 |
||||
|
- master1 |
||||
|
- master2 |
||||
|
- volume1 |
||||
|
- volume2 |
||||
|
- volume3 |
||||
|
- filer1 |
||||
|
- filer2 |
||||
|
- broker1 |
||||
|
- broker2 |
||||
|
- broker3 |
||||
|
|
||||
|
grafana: |
||||
|
image: grafana/grafana:latest |
||||
|
ports: |
||||
|
- "13000:3000" |
||||
|
environment: |
||||
|
- GF_SECURITY_ADMIN_PASSWORD=admin |
||||
|
networks: |
||||
|
- seaweedfs-test |
||||
|
depends_on: |
||||
|
- prometheus |
||||
|
|
||||
|
networks: |
||||
|
seaweedfs-test: |
||||
|
driver: bridge |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue