一、安装前准备
1.如果docker主机是通过虚拟机安装的,则配置网络链接时需要选择桥接方式,使虚拟机在局域网环境下可以被访问到;
2.通过虚拟机安装两台centos7虚拟机,并安装好docker:
sudo yum instsll docker
sudo service docker start
sudo chkconfig docker on
关闭firewalld
sudo systemctl stop firewalld
sduo systemctl mask firewalld
并且安装iptables-services:
sudo yum install iptables-services
设置开机启动:
sudo systemctl enable iptables
手动操作iptablse命令:
sudo systemctl start iptables
保存到/etc/sysconfig/iptablse
sudo service iptables save
# Generated by iptables-save v1.4.21 on Tue Nov 1 10:48:39 2016
*nat
:PREROUTING ACCEPT [27:11935]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:DOCKER - [0:0]
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
-A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE
COMMIT
#
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [47:10966]
:DOCKER - [0:0]
-A FORWARD -o docker0 -j DOCKER
-A FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i docker0 ! -o docker0 -j ACCEPT
-A FORWARD -i docker0 -o docker0 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 500 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 4500 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Tue Nov 1 10:48:39 2016
5.设置阿里云镜像服务
sudo cp -n /lib/systemd/system/docker.service /etc/systemd/system/docker.service
sudo sed -i "s|ExecStart=/usr/bin/docker-current daemon|ExecStart=/usr/bin/docker-current daemon --registry-mirror=https://8nq5bfai.mirror.aliyuncs.com|g" /etc/systemd/system/docker.service
sudo systemctl daemon-reload
sudo service docker restart
1)查看:sestatus
2)关闭:
临时关闭:setenforce 0
永久关闭:
vi /etc/selinux/config
SELINUX=disabled
3)重启服务器:reboot
二、安装Rancher
说明:192.168.37.143上同时安装Rancher server和Rancher agent,192.168.37.144上只安装Rancher agent;
1.安装Rancher server
1)sudo docker run -d --restart=always -v /data/rancher/mysql:/var/lib/mysql -p 8080:8080 rancher/server
说明:将server端的mysql数据库挂载到宿主机;
命令执行后会自动下载Rancher server镜像并启动,可以通过sudo docker images查看rancher/server镜像,通过sudo docker ps 查看启动的rancher server容器。
2)iptables开启8080端口
2.安装Rancher agent
1)通过浏览器访问:http://192.168.37.143:8080,当前Rancher已经支持中文界面,可以选择页面下方语言选项,切换为中文显示。
2)添加主机:基础架构-》主机-》添加主机

此处需要配置第四项,该项的含义是被管理的docker主机的IP地址;
然后负责第五项中的内容,在docker主机上执行即可。
注意:要开启server端和agent端所有docker主机的udp协议500和4500端口,负责无法通过server端在agent上创建容器和以及容器间的网络互连。
3)分别在144和143上执行该命令:
sudo docker run -e CATTLE_AGENT_IP="192.168.37.144" -d --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v1.0.2 http://192.168.37.143:8080/v1/scripts/BFC6C3956145FFACEF5E:1477987200000:A5utoKrxOqJ1qomMSjVHaJXE
执行命令时同样会自动下载rancher/agent镜像并启动容器,容器启动后可以通过sudo logs <容器ID> 查看容器是否启动正常,以及是否可以与rancher server正常通信。
说明:
某些情况下agent无法与server连接上,可以尝试执行如下操作:
#删除主机映射目录和文件
sudo rm -rf /var/run/docker.sock
sudo rm -rf /var/lib/rancher
#重启docker
sudo systemctl daemon-reload
sudo service docker restart
三、关联主机
1.基础架构-》主机

可以通过点击每个主机右上角的按钮重新编辑主机显示名称。
可以看到143上可以检测到rancher server容器。
如果在安装rancher agent之前,docker主机上已经有容器在运行,则rancher也可以检测出来,并能够对其进行管理。
2.通过docker ps命令查看143和144上的容器运行情况
143:
[hanqunfeng@localhost ~]$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8fc97968bb95 rancher/agent-instance:v0.8.3 "/etc/init.d/agent-in" 2 hours ago Up 2 hours 0.0.0.0:500->500/udp, 0.0.0.0:4500->4500/udp 1146d6cc-857b-49e7-addc-691abf19ded5
b45183ca7130 rancher/agent:v1.0.2 "/run.sh run" 2 hours ago Up 2 hours rancher-agent
28bfb08104f4 rancher/server "/usr/bin/s6-svscan /" 2 hours ago Up 2 hours 3306/tcp, 0.0.0.0:8080->8080/tcp distracted_galileo
[hanqunfeng@localhost ~]$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
129bc9e115ea rancher/agent-instance:v0.8.3 "/etc/init.d/agent-in" 2 hours ago Up 2 hours 0.0.0.0:500->500/udp, 0.0.0.0:4500->4500/udp 94edd3bf-9c98-4d4a-822b-43c2bb6599f7
418e0a5cc41d rancher/agent:v1.0.2 "/run.sh run" 2 hours ago Up 2 hours rancher-agent













[hanqunfeng@localhost ~]$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/mariadb latest 3034b40630a2 10 days ago 389.8 MB
docker.io/rancher/agent-instance v0.8.3 b6b013f2aa85 4 months ago 330.9 MB
docker.io/rancher/agent v1.0.2 860ed2b2e8e3 4 months ago 454.3 MB
[hanqunfeng@localhost ~]$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d70a8a45739c mariadb:latest "docker-entrypoint.sh" 21 minutes ago Up 21 minutes 3306/tcp r-Default_mariadb_1
129bc9e115ea rancher/agent-instance:v0.8.3 "/etc/init.d/agent-in" 2 hours ago Up 2 hours 0.0.0.0:500->500/udp, 0.0.0.0:4500->4500/udp 94edd3bf-9c98-4d4a-822b-43c2bb6599f7
418e0a5cc41d rancher/agent:v1.0.2 "/run.sh run" 2 hours ago Up 2 hours rancher-agent






3)创建负载均衡服务








配置好相关设置,登录wordpress:
