This specific guide is macOS M1 based.
- Install UTM from here
- Download Ubuntu server for ARM
- Create several virtual machines as you wish, using the above image. Allocate 8 gigabytes per machine as elastic is memory intensive.
- Set the network mode to bridged. The other settings can be left at default. Remember to eject the the ISO installer before rebooting
- SSH into each created machine and run
git clone https://github.com/shimi9276/elk_docker_swarm.git && cd elk_docker_swarm/
- run
./basic_installer.sh
- Exit and reconnect for the changes to be set
- In the swarm-manager machine run
docker swarm init
. The output should include a join command with a token. Copy the command and paste in the other machines. Note you may need to addsudo
to the command. - In the swarm-manager machine run
docker node ls
and verify all the workers have been added. - In the swarm-manager machine run
./ingress
. This script resets the default ingress network (this is done as a result of a bug, see here)
- In the swarm-manager machine, set the
.env
file variables according to your pleasing, then runexport $(cat .env | xargs)
. Note that the replica variable should eqaul the amount of workers in the swarm cluster - run
docker stack deploy -c <(docker-compose config) $DEPLOYMENT_NAME
. Note that if may take some time for the stack to be up and running as it may need to download the images, give it a few minutes. - Run
docker service ls
to see the stack status. - Get the IP of one of the workers and head to port 5601
You should now be able to see Kibana and your logs!