Full Active/Active HA 集群

在高可用性(HA)中运行Rancher服务器就像使用外部数据库运行Rancher服务器一样简单,公开一个额外的端口,并为外部负载均衡器的命令添加一个额外的参数。设置HA至少需要3个节点。

节点要求

  • HA节点(至少需要3个节点):
    • 任何具有受支持版本Docker的现代Linux发行版。RancherOS,Ubuntu,RHEL/CentOS 7 经过了更严格的测试。
      • 对于RHEL / CentOS,Docker不建议使用默认存储驱动程序,即使用环回的devicemapper 。请参考Docker文档以了解如何进行更改。
      • 对于RHEL / CentOS,如果要启用SELinux,则需要安装其他SELinux模块。
    • 需要在节点之间打开的端口:9345,8080
    • 主机上至少要有1GB可用的RAM(不包括OS资源)

注意:目前,Rancher不支持 Docker for Mac。

  • MySQL数据库
    • 主机上至少要有1GB可用的RAM(不包括OS资源)
    • 每个Rancher服务器节点50个连接(例如,一个3节点设置将需要支持至少150个连接)
    • MYSQL配置要求
      • 选项1:使用默认值是羚羊运行 COMPACT
      • 选项2:使用梭子鱼运行MySQL 5.7,默认ROW_FORMAT为Dynamic

注意:当前,不支持MariaDB 10.3和MySQL8.x。

  • 外部负载均衡器
    • 需要在节点和外部负载均衡器之间打开的端口: 8080

有关更大部署的建议

  • 每个Rancher服务器节点应具有4 GB或8 GB的堆大小,这需要至少8 GB或16 GB的RAM
  • MySQL数据库应具有快速磁盘
  • 对于真正的HA,建议使用具有适当备份的复制MySQL数据库。由于事务锁定,使用Galera并强制向单个节点进行写入将是一种替代方法。
1、在要添加到高可用性设置中的每个节点上,运行以下命令:
# Launch on each node in your HA cluster
$ docker run -d --restart=unless-stopped -p 8080:8080 -p 9345:9345 rancher/server \
     --db-host myhost.example.com --db-port 3306 --db-user username --db-pass password --db-name cattle \
     --advertise-address <IP_of_the_Node>

对于每个节点,<IP_of_the_Node>它将是每个节点唯一的,因为它将是要添加到HA设置中的每个特定节点的IP。

如果更改-p 8080:8080为将HTTP端口暴露给主机上的其他端口,则需要添加--advertise-http-port <host_port>到命令中。

注意:
您可以通过运行以下命令获得命令帮助docker run rancher/server –help

2、配置一个外部负载均衡器

该负载均衡器将平衡端口80和443运行Rancher服务器的节点池之间的流量,并以port 上的节点为目标8080。您的负载平衡器必须支持websocket和转发的标头,以便Rancher正常运行。有关示例配置设置,请参见SSL设置页面

ADVERTISE-ADDRESS 的选项

选项 示例 描述
IP地址 –advertise-address 192.168.100.100 使用提供的IP地址
接口 –advertise-address eth0 检索给定接口的IP
awslocal –advertise-address awslocal 从以下位置检索IP http://169.254.169.254/latest/meta-data/local-ipv4
ipify –advertise-address ipify 从以下位置检索IP https://api.ipify.org
3、有关HA中的RANCHER SERVER节点的说明

如果您的Rancher服务器节点的IP发生更改,则您的节点将不再是Rancher HA群集的一部分。您必须使用错误的IP停止旧的Rancher服务器容器,–advertise-address并使用正确的IP 启动新的Rancher服务器–advertise-address。

参考资料

https://rancher.com/docs/rancher/v1.6/en/installing-rancher/installing-server/#multi-nodes

作者:Jeebiz  创建时间:2019-08-14 15:18
 更新时间:2024-08-02 14:28