Skip to content
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

Multi-Node deploy with multiple servers? #785

Open
Beeez opened this issue Feb 16, 2023 · 3 comments
Open

Multi-Node deploy with multiple servers? #785

Beeez opened this issue Feb 16, 2023 · 3 comments
Assignees

Comments

@Beeez
Copy link

Beeez commented Feb 16, 2023

I am a bit confused with the deployment methods for Multi-node. Maybe it is just my understanding how a "node" or "cluster" is being defined, but from the looks of this docker-compose.yml and all of the documentation that goes along with the Multi-Node setup, this essentially will create just a single server/VM/Dockerhost with the dashboard, manager, 3 indexers and nginx, just 6 containers on one host.

The documentation states that this is high availability but if this docker host goes down, everything is down. When I read multi-node or cluster I am imagining 2 or more virtual machines/docker hosts where I can shut one VM down and everything functions off of the secondary, this is high availability to me.

With all that said, is it possible to setup Wazuh in this fashion? And if so, how? I would assume that there would need to be shared storage between the two hosts or some sort of replication?

Would this entire Multi-Node stack need to be deployed on each host, or done through Docker Swarm?

@jesuslinares
Copy link
Contributor

Hi @Beeez,

The single-node deployment uses only "1 container per service" and the multi-node deployment uses "several containers per service".

High availability (HA) is the elimination of single points of failure to enable applications to continue. With the multi-node deployment, you achieve that at the container level (if the manager2 fails, you still have the manager1).

That said, it is true that if the Docker server goes down, everything is down. To achieve HA at this level you will need to run the multi-node deployment on several servers. For that, you can use Docker Swarm or Kubernetes (https://github.com/wazuh/wazuh-kubernetes).

Finally, I think we should review the nomenclature for the deployments since it is a bit confusing.

@Beeez
Copy link
Author

Beeez commented Feb 22, 2023

If running 3 seperate servers as "Multi Node", should each of them be sharing all the same storage?

@vcerenu
Copy link
Member

vcerenu commented Mar 6, 2023

Hi @Beeez

Docker itself does not allow you to do what you ask, since each Wazuh indexer container creates its own volume and is not set up to share files with another instance in that way. If you want to have HA at the VM level, I recommend that you deploy with a container orchestrator, such as Kubernetes (https://github.com/wazuh/wazuh-kubernetes) and deploy a Wazuh indexer and Wazuh manager node on each node of the cluster that you have created.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants