天天看點

使用keepalived+sidekick+Minio實作高可用

作者:空山細兩

這個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+Minio實作高可用

配置示例:

使用keepalived+sidekick+Minio實作高可用

規劃

本次添加上keepalived+sidekick,并且上傳一個至少1G的檔案測試上傳是否可以成功。

使用keepalived+sidekick+Minio實作高可用

配置

配置sidekick+minio叢集

現在我們直接使用docker-compose.yml讓sidekick代理一個minio的叢集。

使用keepalived+sidekick+Minio實作高可用
使用keepalived+sidekick+Minio實作高可用

啟動 sidekick+minio

# docker compose up -d

# docker compose ps

使用keepalived+sidekick+Minio實作高可用

檢視 sidekick健康檢查日志

使用keepalived+sidekick+Minio實作高可用

安裝 keepalived

可以采用主控端直接安裝,也可以使用docker,本次采用主控端直接安裝。

# apt install -y keepalived

配置keepalived

修改配置檔案/etc/keepalived/keepalived.conf,添加以下内容,請根據你自己的網卡名稱進行修改,一般情況下,虛拟機在ubuntu下,區域網路網卡為:enp0s8。可以通過ifconfig檢查:

使用keepalived+sidekick+Minio實作高可用

完整的keepalived.conf配置檔案内容如下:

使用keepalived+sidekick+Minio實作高可用

配置說明:

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

使用keepalived+sidekick+Minio實作高可用

測試

測試通路

通過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

使用keepalived+sidekick+Minio實作高可用

上傳大檔案測試

上傳大約為1G的檔案測試成功。

使用keepalived+sidekick+Minio實作高可用

繼續閱讀