使用GlusterFS作为外部卷存储和VIP的Docker Swarm

问题描述

我想知道Docker Swarm是否有可能成为GlusterFS作为本地文件系统的负载平衡器?并使用Pacemaker持有VIP(因为我知道Docker无法创建VIP)。

我的想法-我希望可以对其进行验证或提出更好的建议:)

系统:

2x CentOS 8 servers
- 192.168.0.1
---- /dev/sda (OS)
---- /dev/sdb (data)
- 192.168.0.2
---- /dev/sda (OS)
---- /dev/sdb (data)
  1. 安装起搏器,Corosync

    dnf --enablerepo=HighAvailability -y install pacemaker pcs psmisc policycoreutils-python-utils
    systemctl start pcsd
    
  2. 向两个服务器添加VIP

     pcs resource create vip IPaddr2 ip=192.168.0.100 cidr_netmask=24 op monitor interval=30s
    
  3. 设置两个存储空间

     mkfs.xfs /dev/sdb
    
  4. 创建目录并添加到启动

     mkdir -p /my-data/
    
     echo "/dev/sdb /my-data xfs defaults 0 0" >> /etc/fstab
    
  5. 在两个节点上都安装GlusterFS

     dnf install -y glusterfs-server
    
  6. 设置卷的Gluster

     gluster volume create gfs replica 2 transport tcp node01:/my-data node02:/my-data force
     gluster volume start gfs
    
  7. 使其可用于复制

     echo 'node01:/my-data /mnt glusterfs defaults,_netdev 0 0' >> /etc/fstab
    
     echo 'node02:/my-data /mnt glusterfs defaults,_netdev 0 0' >> /etc/fstab
    
  8. 安装Docker和Docker-Compose

  9. 初始化群体

     - on node01 use IP 192.168.0.1 -> manager
     - on node02 use IP 192.168.0.2 -> manager
    
  10. 创建目录

     mkdir /mnt/html
     mkdir /mnt/mysql
    
  11. 在docker-compose.yml文件中:

    volumes:
        - "/mnt/html:/var/www/html/wp-content"
    volumes:
        - "/mnt/mysql:/var/lib/mysql"
    
  12. docker-compose.yml的一部分-Apache:

    Use IP 192.168.0.100 as the access on 80
    

我的想法是,由于只能在Pacemaker资源之一上访问192.168.0.100,因此二级管理器不会在前端受到攻击。如果该节点的IP为.100,则另一个node02将使用该IP,而Swarm仍将处于活动状态。

这行得通吗?我找不到关于在群上拥有VIP的任何东西-至少是可行的解决方案。

我都把他们当做经理,是因为我假设如果经理休假,那么它将无法正常工作?然后,如果我有第3,第4等,则将它们添加为Workers。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...