-
Notifications
You must be signed in to change notification settings - Fork 4
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
Documentation on multi-node system #17
Comments
You can navigate to docker-compose.yaml file, this file is a minimalism multi node configuration example. Vorker have one master and multi agent, for production deployment, assume there are three nodes, one master and two agents, their dockercompose file should be as follows More detailed documentation is still under construction, the configuration given below should work fine, if there are any issues please let me know and I'll be happy to fix them
version: '3'
services:
vorker-master:
image: vaalacat/vorker
privileged: true
volumes:
- /tmp/workerd-master:/var/lib/litefs # if you want to enable litefs, switch to this and change to your own path
environment:
- WORKER_URL_SUFFIX=.example.com # worker url = SCHEME://WORKERNAME+WORKER_URL_SUFFIX eg: .example.com
- SCHEME=http
- ENABLE_REGISTER=false # only allow admin to register
- COOKIE_DOMAIN=example.com
- JWT_SECRET=123123
- AGENT_SECRET=123123
- RUN_MODE=master
- LITEFS_ENABLED=true
- LITEFS_IS_MASTER=true
- LITEFS_LISTEN_ADDR=:20202
- DB_PATH=/litefs/db.sqlite
ports:
- 8080:8080 # reverse proxy port, this port is all workers entry
- 8888:8888 # admin webui port
# - 10080:10080 # tunnel reverse proxy port, only when debug need expose this
- 18080:18080 # tunnel relay port, agent need this port connect to master
restart: unless-stopped
version: '3'
services:
vorker-agent:
privileged: true
image: vaalacat/vorker
volumes:
- /tmp/workerd-agent:/var/lib/litefs # if you want to enable litefs, switch to this, and change to your own path
environment:
- WORKER_URL_SUFFIX=.example.com # worker url = SCHEME://WORKERNAME+WORKER_URL_SUFFIX eg: .example.com must be same as master
- AGENT_SECRET=123123 # must be same as master
- RUN_MODE=agent
- TUNNEL_HOST=vorker-master # change here to master ip
- MASTER_ENDPOINT=http://vorker-master:8888 # change here to master ip, you can modify http to https if you have a reverse proxy for vorker
- NODE_NAME=agent-1 # must be different amone agents
- LITEFS_ENABLED=true
- LITEFS_IS_MASTER=false
- LITEFS_LISTEN_ADDR=:20201 # must be different from master
- DB_PATH=/litefs/db.sqlite
version: '3'
services:
vorker-agent:
privileged: true
image: vaalacat/vorker
volumes:
- /tmp/workerd-agent:/var/lib/litefs # if you want to enable litefs, switch to this, and change to your own path
environment:
- WORKER_URL_SUFFIX=.example.com # worker url = SCHEME://WORKERNAME+WORKER_URL_SUFFIX eg: .example.com must be same as master
- AGENT_SECRET=123123 # must be same as master
- RUN_MODE=agent
- TUNNEL_HOST=vorker-master # change here to master ip
- MASTER_ENDPOINT=http://vorker-master:8888 # change here to master ip, you can modify http to https if you have a reverse proxy for vorker
- NODE_NAME=agent-2 # must be different amone agents
- LITEFS_ENABLED=true
- LITEFS_IS_MASTER=false
- LITEFS_LISTEN_ADDR=:20201 # must be different from master
- DB_PATH=/litefs/db.sqlite |
Interesting, thanks for this. I'm going to try and push this to my kubernetes cluster for testing. I'm not too good with Chinese so I hope a internationalization can be implemented into the frontend as well. Does the agent require individual volumes or can the agent's share the same volume? I brought up #15 as an seperate issue because I have already existing infrastructure that is made highly available. Ceph is on all k8s nodes, minio is located elsewhere in my network, postgres/mysql is also made HA. |
Vorker's goal is to build a self-consistent system that does not need to rely on external components to achieve distribution. Each agent uses an independent volume, and Vorker will implement all the functions of distributed HA internally. No need to rely on external infrastructure. internationalization has already implemented, Internationalization documentation is here: i18n, the front end should automatically detect the locale. If i18n does not work, you can open a new issue and let me fix it. #15 I have explained Vorker's goals in detail under this question |
Thank you for your information! |
Currently vorker seems to have
Multi Node
support as mentioned on the README. Is there any documentation to how you would set this up?The text was updated successfully, but these errors were encountered: