-
Notifications
You must be signed in to change notification settings - Fork 0
minio vm‐broker multi node minio
Allan Roger Reid edited this page Oct 31, 2023
·
2 revisions
Create vm-broker instances source[0-7]
Install minio on each instance individually or using ansible. Note that /etc/hosts needs to be modified to allow 127.0.0.1 recognize itself as an internet address
Note the environment variable _MINIO_REVERSE_PROXY
. Run minio as:
_MINIO_REVERSE_PROXY=1 MINIO_CI_CD=1 MINIO_BROWSER_REDIRECT_URL="https://source0.lab.min.dev:9090" MINIO_SERVER_URL="https://source0.lab.min.dev:9000" \
./minio server \
https://source{0...7}.lab.min.dev:9000/tmp/data{1...2} \
--address :9000 --console-address :9090 --certs-dir $HOME/.minio/certs
or
MINIO_CI_CD=1 MINIO_BROWSER_REDIRECT_URL="https://source0.lab.min.dev:9090" MINIO_SERVER_URL="https://source0.lab.min.dev:9000" \
./minio server \
/tmp/data{1...2} \
--address :9000 --console-address :9090 --certs-dir $HOME/.minio/certs
Sample script
#!/bin/bash
echo "Begin" > /tmp/minio.log
echo "Killing minio" >> /tmp/minio.log
sudo kill "$(ps aux | grep -v grep | grep "minio" | awk '{print $2}')"
sudo rm -rf /tmp/data*
echo "Installing certs" >> /tmp/minio.log
wget https://github.com/minio/certgen/releases/latest/download/certgen-linux-amd64
chmod +x certgen-linux-amd64
./certgen-linux-amd64 -host "127.0.0.1,source0.lab.min.dev,source1.lab.min.dev,source2.lab.min.dev,source3.lab.min.dev,source4.lab.min.dev,source5.lab.min.dev,source6.lab.min.dev,source7.lab.min.dev"
mkdir -p $HOME/.minio/certs/CAs
cp public.crt $HOME/.minio/certs
cp private.key $HOME/.minio/certs
# Add entry to hosts
if grep -q "127\.0\.0\.1 source0.lab.min.dev" /etc/hosts;
then
echo "/etc/hosts already setup" >> /tmp/minio.log
else
echo "127.0.0.1 source0.lab.min.dev" | sudo tee -a /etc/hosts
fi
# Install go
echo "Installing go" >> /tmp/minio.log
cd $HOME && mkdir go && cd go && wget https://go.dev/dl/go1.21.3.linux-amd64.tar.gz && sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.21.3.linux-amd64.tar.gz
/usr/local/go/bin/go version
# Install modified minio
echo "Installing minio" >> /tmp/minio.log
sudo apt install git
cd $HOME && mkdir github && cd github && git clone https://github.com/allanrogerr/minio.git && cd minio && git checkout check-is-lxc_test
CGO_ENABLED=0 /usr/local/go/bin/go build -tags kqueue -trimpath -o minio
# Run minio
echo "Running minio" >> /tmp/minio.log
# Cluster
_MINIO_REVERSE_PROXY=1 MINIO_CI_CD=1 MINIO_BROWSER_REDIRECT_URL="https://source0.lab.min.dev:9090" MINIO_SERVER_URL="https://source0.lab.min.dev:9000" \
./minio server \
https://source{0...7}.lab.min.dev:9000/tmp/data{1...2} \
--address :9000 --console-address :9090 --certs-dir $HOME/.minio/certs >> /tmp/minio.log &
https://source0.lab.min.dev:9090/login
Upload data and observe the same data on all minio deployments source[0-7]