(Source)
Introduction
Clustd is an open source cluster management provider. The goal is to provide automated failover systems for apps, whether the system is down for maintenance or an unexpected event. When the system is ready, it will deployed in production on @steemdunk to minimize any form of downtime for the bot and web services.
Disclaimer: This is not intended to be used in conjunction with a database, otherwise data will be out of sync. See your database manual for setting up clusters that will preserve the integrity of your database across multiple machines.
What does a cluster look like?
Reminder from part 2 of what the full cluster will look like. This driver allows you to put the full setup into action for testing and deployment across multiple machines. :)
Each machine runs a clustd daemon. The daemon provides automatic consensus on deciding a new master if the master goes down. Drivers control what actions to perform when this happens.
Shell Driver
This is the first release of the shell driver. It is the most basic of all but can be used to virtually control anything on the system with a shell script. The script is executed as the same user as the driver process. Scripts must not require any form of manual intervention! This includes sudo that requires a password.
The "1" and "2" and the script output is retrieved from the configuration as an environment variable. This is the output of the driver with full debugging enabled.
The following configuration is used:
host: ws://127.0.0.1:3001
secret: 'cluster secret'
script:
shell: /bin/bash
cwd: .
start: ./start.sh
stop: ./stop.sh
env:
TEST: 1
MY_VAR: 2
Of course, you can specify any shell or command. The start/stop commands don't even need to be scripts. It can be something as simple as systemctl start myservice
(this command may require root depending on your system configuration). Scripts are the recommended way to go if more than a single line is needed.
Find the driver here: https://github.com/steemdunk/clustd-driver-shell
Now what?
clustd can now be deployed in a fully functional and useful manner. The previous parts setup the cluster, but wasn't able to provide usefulness. The shell driver will now fill the missing gap to provide full functionality you would expect of a cluster.
This is the first step towards creating a cluster for @steemdunk and will be deployed there first on a couple of machines. Afterwards automatic DNS record updating and notification drivers can be implemented to ensure uptime of web services and to personally notify me of issues.
Previous parts
If you're new to the project, be sure to check out the previous parts to get a full idea on the project.
Components
Posted on Utopian.io - Rewarding Open Source Contributors
Thank you for the contribution. It has been approved.
You can contact us on Discord.
[utopian-moderator]
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
I am not computer savvy...but thanks anyway.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
This is really cool!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Another genius contribution Sir Sam, Amazing work brother
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Great upgrade!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
You do an amazing job, keep it up!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Hey @samrg472 I am @utopian-io. I have just upvoted you!
Achievements
Community-Driven Witness!
I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!
Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
so data can travel smoother nice!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Well done!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit