Rancher版本:Rancher v1.0.1

基本配置需求

  • 多节点的HA配置请参照单节点需求

    • 节点需要开放的端口
    • 全局访问:TCP 端口22,80,443,18080(可选:用于在集群启动前 查看并管理栈 )
    • 节点间连接:
    • UDP 端口:500,4500
    • TCP 端口:2181,2376,2888,3888,6379
  • MySQL数据库
    • 至少 1GB 内存
    • 每 Rancher 服务器节点 50 个连接(如:3 节点的高可用部署至少需要支持 150 个连接)
  • 外部负载均衡

建议配置

  • 每个 Rancher 服务器节点应该有 4GB 或 8GB 可用内存,意味着至少需要 8GB 或 16GB 的物理内存
  • MySQL 数据库应该使用高速的磁盘
  • 对于真正的高可用,建议使用主从的 MySQL,并做适当的备份。由于存在事物锁,可以选择 Galera 或强制写入单节点的方式。

配置高可用的准备

  1. 根据 使用外部数据库启动单节点 说明部署一个至少拥有 1GB 内存的 MySQL 数据库,但是不要使用其中启动 Rancher 服务器的相关指令。因为默认情况下, 用户只能从本地访问数据库,你需要授权所有 Rancher 服务器节点对其的网络访问。
  2. 配置一个外部负载均衡器并将端口 80 和 443 的流量指向运行 Rancher Server 的节点池。
  3. 使用本文准备所有节点。这些节点都应该满足单节点部署 Rancher 服务器的需求。(可选)您可以提前拉取 rancher/server 镜像到这些节点上。

    目前,我们的高可用集群支持 3 种配置。 1 节点:没有高可用; 3节点:任何一台主机可以宕机; 5 节点:任何两台主机可以宕机。

    注意:

    这些节点可以分布在同一个地区,并使用稳定的高速链路连接的多个数据中心,不建议分布在距离较远的区域中。如果你选择分布节点在同一个区域,Zookeeper 可以用来保证集群的高可用。如果你的节点分布在不同的数据中心,那么你只能保留问题最少的那个区域。

  4. 在其中一个节点上,启动一个 Rancher 服务器用于生成配置脚本。下面这个脚本用于生成 Rancher 服务器同时连接到外部数据库并初始化数据。它将被引导高可用部署过程。最终,Rancher 服务器容器将使用此步骤替换为支持高可用的 Rancher 服务器容器。

    注意:

    请耐心等待,这个初始化步骤可能要15分钟才能完成

  5. (可选)预先下载 rancher/server 镜像到 Rancher 节点。这里下载的镜像可用于配置脚本生成 Rancher 服务器。

生成配置脚本

  1. 访问 Rancher 服务器地址 http://<server_IP>:8080 生成脚本。在 Admin -> HA 确认 Rancher 服务器已经成功连接到外部数据库。如果没有正确配置,请重复上一节中的步骤 1 和 4 。
  2. 选择集群大小,应该为您的 Rancher 服务器节点数量,参照上一节中步骤 3 。
  3. 在 Host Registration URL 中填写外部负载均衡器的 IPv4 地址或主机名。
  4. 选择您想使用的证书类型。Rancher 服务器可以为您生成一个自签名证书或者使用自己的有效证书。
  5. 点击 Generate Config Script 。
  6. 下载脚本并保存到本地。
  7. 保存脚本后,停止用于生成脚本的 Rancher 服务器容器。

启动Rancher高可用

    1. 为了使所有节点支持高可用,你需要在所有节点上使用配置脚本启动 Rancher 服务器 。脚本将启动一个 Rancher 服务器容器并连接到之前创建的外部数据库。

      注意:

      请确保您已经停止用于生成脚本 rancher-ha.sh 的 Rancher 服务器容器后再运行配置脚本。否则,在你尝试在同一个节点运行配置脚本时,将会有一个端口冲突导致高可用节点无法启动。

    2. 如果你之前生成配置脚本时提供了 Host Registration URL ,请导航到外部负载均衡器的 IP 或主机名。请注意,Rancher 服务器的用户界面可能需要几分钟才可以使用。如果你的用户界面仍不可用,请参照 查看并管理栈 。

    3. 一旦用户界面可用,您将可以添加主机到 Rancher 高可用集群。在 Admin -> HA 标签可以查看高可用节点的数量。添加主机前,您需要保存证书 /var/lib/rancher/etc/ssl/ca.crt 并赋予 400 权限到您要添加的主机上。注册命令可以自动创建使用并管理证书。
    4. 在您向环境中添加主机后,高可用设置已经完成,您可以开始通过用户界面 添加服务 ,从目录 启动模板 或使用 rancher-compose 启动服务。

      注意:

      如果您正在使用 AWS ,你需要为添加到 Rancher 的主机配置 IP 。如果你想添加 自定义主机 ,你需要在配置页面中填写公网 IP ,启动 Rancher agent 的命令会相应改变。已经通过页面添加的主机,必须 ssh 登陆到机器重启 Rancher agent 使 IP 生效。

      Rancher中文手册目录

Rancher安装多节点高可用(HA)的更多相关文章

  1. corosync+pacemaker实现高可用(HA)集群

    corosync+pacemaker实现高可用(HA)集群(一)     重要概念 在准备部署HA集群前,需要对其涉及的大量的概念有一个初步的了解,这样在实际部署配置时,才不至于不知所云 资源.服务与 ...

  2. Corosync+Pacemaker+DRBD+MySQL 实现高可用(HA)的MySQL集群

    大纲一.前言二.环境准备三.Corosync 安装与配置四.Pacemaker 安装与配置五.DRBD 安装与配置六.MySQL 安装与配置七.crmsh 资源管理 推荐阅读: Linux 高可用(H ...

  3. Hadoop 高可用(HA)的自动容灾配置

    参考链接 Hadoop 完全分布式安装 ZooKeeper 集群的安装部署 0. 说明 在 Hadoop 完全分布式安装 & ZooKeeper 集群的安装部署的基础之上进行 Hadoop 高 ...

  4. 通过 Kubeadm 安装 K8S 与高可用,版本1.13.4

    环境介绍: CentOS: 7.6 Docker: 18.06.1-ce Kubernetes: 1.13.4 Kuberadm: 1.13.4 Kuberlet: 1.13.4 Kuberctl: ...

  5. 使用kubeadm进行单master(single master)和高可用(HA)kubernetes集群部署

    kubeadm部署k8s 使用kubeadm进行k8s的部署主要分为以下几个步骤: 环境预装: 主要安装docker.kubeadm等相关工具. 集群部署: 集群部署分为single master(单 ...

  6. 浅谈web应用的负载均衡、集群、高可用(HA)解决方案(转)

    1.熟悉几个组件 1.1.apache     —— 它是Apache软件基金会的一个开放源代码的跨平台的网页服务器,属于老牌的web服务器了,支持基于Ip或者域名的虚拟主机,支持代理服务器,支持安 ...

  7. hadoop在zookeeper上的高可用HA

    (参考文章:https://www.linuxprobe.com/hadoop-high-available.html) 一.技术背景 影响HDFS集群不可用主要包括以下两种情况:一是NameNode ...

  8. 【高可用HA】Nginx (1) —— Mac下配置Nginx Http负载均衡(Load Balancer)之101实例

    [高可用HA]Nginx (1) -- Mac下配置Nginx Http负载均衡(Load Balancer)之101实例 nginx版本: nginx-1.9.8 参考来源: nginx.org [ ...

  9. 浅谈web应用的负载均衡、集群、高可用(HA)解决方案

    http://aokunsang.iteye.com/blog/2053719   声明:以下仅为个人的一些总结和随写,如有不对之处,还请看到的网友指出,以免误导. (详细的配置方案请google,这 ...

随机推荐

  1. 三阶平面魔方(BFS)

    有一个  3×3 的平面魔方,在平面魔方中,每个格子里分别无重复地写上 1 - 9 这 9 个数字.一共有 4 种对平面魔方的操作: 选择某一行左移. 选择某一行右移. 选择某一列上移. 选择某一列下 ...

  2. 虚拟机virtualBox

    在笔记本了装了一个虚拟机, 并安装了Linux系统, 方便测试linux 命令. 考虑到不需要图形界面, 学习了用命令行操作虚拟机, 配置如下 linux 下安装openssh-server 虚拟机设 ...

  3. HDU-4460 Friend Chains(BFS&权为1所有最短路的最大值)

    题目: For a group of people, there is an idea that everyone is equals to or less than 6 steps away fro ...

  4. Tensorflow学习教程------lenet多标签分类

    本文在上篇的基础上利用lenet进行多标签分类.五个分类标准,每个标准分两类.实际来说,本文所介绍的多标签分类属于多任务学习中的联合训练,具体代码如下. #coding:utf-8 import te ...

  5. UI Automation技术获取cmd或Powershell命令提示符窗口的实时内容

    事先打开的Powershell或cmd窗口中的文本,用其他方式难以拿到.但是用UI Automation可以轻松获取.本工具在窗体上加入了一个Timer控件,每秒钟都查找桌面上是否有Powershel ...

  6. Python 学习笔记:Python 操作 SQL Server 数据库

    最近要将数据写到数据库里,学习了一下如何用 Python 来操作 SQL Server 数据库. 一.连接数据库: 首先,我们要连接 SQL Server 数据库,需要安装 pymssql 这个第三方 ...

  7. 《Premiere Pro 2020》初心版_v3 14.0.1.71

    <Premiere Pro 2020>初心版_v3 下载地址(78e7) SHA1:8B081196C1756CE9477A0D056D6331907B3DDFDC 版本信息    发行版 ...

  8. 对Spring aware理解

    aware翻译过来时就是意识到,我对他的理解就是spring的感知器.是不是很诡异这个名字起得^_^ 先来看看aware接口的结构 spring提供了许多的aware,Aware.java也只是做一个 ...

  9. CodeForces 990B Micro-World(思维、STL)

    http://codeforces.com/problemset/problem/990/B 题意: 有n个细菌,每个细菌的尺寸为ai,现在有以常数k,如果细菌i的尺寸ai大于细菌j的尺寸aj,并且a ...

  10. 在Orcl中通过SQL语句修改创建表

    1.创建表时定义唯一性约束 CREATE TABLE table_name ( column1 datatype null/not null, column2 datatype null/not nu ...