类似Rancher这种的容器管理和编排工具,它可以很快地让每个组织获得高效的弹性集群管理能力。当前技术世界的发展形势就是让开发人员从繁琐的应用配置和管理中解放出来,使用容器镜像来处理复杂的程序运行依赖库的需求,保证代码运行环境的一致性。

 

基于Docker和Rancher来运行弹性集群的一大关键点,就是运行Rancher高可用模式。本文将在介绍Rancher Server的几种部署方式的基础上,重点演示如何部署Rancher HA 环境,文末还有视频链接,可直接观看Demo视频噢(划重点)!


单节点


基础环境需求


主流最新操作系统(ubuntu/centos),docker 版本推荐 1.12.6


Server 配置

docker run -d --restart=unless-stopped -p 8080:8080 rancher/server

单节点+独立数据库


基础环境需求


主流最新操作系统(ubuntu/centos);docker 版本推荐 1.12.6;推荐Mysql 5.5以上版本


DB 配置

CREATE DATABASE IF NOT EXISTS cattle COLLATE = 'utf8_general_ci' CHARACTER SET = 'utf8';
GRANT ALL ON cattle.* TO 'cattle'@'%' IDENTIFIED BY 'cattle';
GRANT ALL ON cattle.* TO 'cattle'@'localhost' IDENTIFIED BY 'cattle';


Server 配置示例,如:

docker run -d --restart=unless-stopped -p 8080:8080 -p 9345:9345 rancher/server:v1.6.2 --db-host 42.62.51.26 --db-port 3306 --db-user cattle --db-pass cattle --db-name cattle

Rancher HA 环境部署


基础环境需求


主流最新操作系统(ubuntu/centos);docker 版本推荐 1.12.6;推荐Mysql 5.5以上版本;OS中自带的 HAproxy 包即可满足


DB 配置


CREATE DATABASE IF NOT EXISTS cattle COLLATE = 'utf8_general_ci' CHARACTER SET = 'utf8';
GRANT ALL ON cattle.* TO 'cattle'@'%' IDENTIFIED BY 'cattle';
GRANT ALL ON cattle.* TO 'cattle'@'localhost' IDENTIFIED BY 'cattle';

Server配置示例,如:

docker run -d --restart=unless-stopped -p 8080:8080 -p 9345:9345 rancher/server:v1.6.2 --db-host 42.62.51.26 --db-port 3306 --db-user cattle --db-pass cattle --db-name cattle --advertise-address 42.62.83.4

注:

  • 参数--advertise-address 后为当前主机 IP

  • 如果更换 -p 8080:8080 主机端口参数,请添加--advertise-http-port <host_port>参数


HAproxy配置文件示例如下:

global
  maxconn 4096
  ssl-server-verify none
 
defaults
  mode http
  balance roundrobin
  option redispatch
  option forwardfor
 
  timeout connect 5s
  timeout queue 5s
  timeout client 36000s
  timeout server 36000s
 
frontend http-in
  mode tcp
  #bind *:443 ssl crt /etc/haproxy/certificate.pem
  bind *:8080
  default_backend rancher_servers
 
  acl is_websocket hdr(Upgrade) -i WebSocket
  acl is_websocket hdr_beg(Host) -i ws
  use_backend rancher_servers if is_websocket
 
backend rancher_servers
  server websrv1 42.62.83.5:8080 weight 1 maxconn 1024 //Rancher server IP:Port
  server websrv2 42.62.83.4:8080 weight 1 maxconn 1024   //Rancher server IP:Port

如果你觉得文档阅读不够清晰直观,不妨观看Rancher的技术专家录制的视频,为你演示如何部署Rancher HA环境吧!

 

视频链接


wKioL1ldtWLjGMzwAAUzFz_a2xM717.jpg

原文来源:Rancher Labs