這個sidekick果然是快速、簡單、直接,就可以實作minio的負載均衡配置。sidekick的容器大小隻有13M。 在企業的開發中,一般nginx擁有較多的應用,如網關靜态頁面通路配置、路由規則轉發等,也完全可以使用nginx實作對minio的負載均衡,但如果要修改配置,則必須要停止nginx然後重新啟動,在要求7*24不停機運作的環境下,這顯然不是我們要的,當然可以再對nginx做負載均衡。不過minio/sidekick是一個輕量級的用于minio的負載均衡工具,它的大小隻有13M,且可以非常簡的配置負載均衡和健康檢查。
官方參考
https://hub.docker.com/r/minio/sidekick
https://blog.min.io/introducing-sidekick-a-high-performance-load-balancer/
配置示例:
規劃
本次添加上keepalived+sidekick,并且上傳一個至少1G的檔案測試上傳是否可以成功。
配置
配置sidekick+minio叢集
現在我們直接使用docker-compose.yml讓sidekick代理一個minio的叢集。
啟動 sidekick+minio
# docker compose up -d
# docker compose ps
檢視 sidekick健康檢查日志
安裝 keepalived
可以采用主控端直接安裝,也可以使用docker,本次采用主控端直接安裝。
# apt install -y keepalived
配置keepalived
修改配置檔案/etc/keepalived/keepalived.conf,添加以下内容,請根據你自己的網卡名稱進行修改,一般情況下,虛拟機在ubuntu下,區域網路網卡為:enp0s8。可以通過ifconfig檢查:
完整的keepalived.conf配置檔案内容如下:
配置說明:
router_id : 在同一個keepalived叢集的id必須相同。
state:隻能是MASTER(主)或BACKUP(從)
priority:優先級越高的越會擷取虛拟IP的擁有權
interface: 使用的主控端網卡名稱。
unicast_src:本機ip
unicast_peer:叢集中所有主機ip,我這是模拟,隻有一個主控端。
authentication:叢集中共享的密碼
vritual_ipaddress:虛拟ip位址。
啟動keepalived
# service keepalived start
檢視虛拟ip :
# ifconfig
測試
測試通路
通過IP直接通路:
http://192.168.56.61:8000
http://192.168.56.61:9001
http://wangj.com:8000/one/1.png
通過虛拟IP通路:
http://192.168.56.88:8000
http://192.168.56.88:9001
http://wangj.com:8000/one/1.png
上傳大檔案測試
上傳大約為1G的檔案測試成功。