Rancher简介
Rancher是一个开源的企业级容器管理平台。通过Rancher,企业再也不必自己使用一系列的开源软件去从头搭建容器服务平台。Rancher提供了在生产环境中使用的管理Docker和Kubernetes的全栈化容器部署与管理平台。主要包括服务管理,公有云节点管理,支持第三方用户权限管理,应用商店,api很是灵活,只是文档较少,让你更多的去参考官方文档。
Rancher结构
Rancher由以下四个部分组成:
1、基础设施编排
Rancher可以使用任何公有云或者私有云的Linux主机资源。Linux主机可以是虚拟机,也可以是物理机。Rancher仅需要主机有CPU,内存,本地磁盘和网络资源。从Rancher的角度来说,一台云厂商提供的云主机和一台自己的物理机是一样的。
Rancher为运行容器化的应用实现了一层灵活的基础设施服务。Rancher的基础设施服务包括网络, 存储, 负载均衡, DNS和安全模块。Rancher的基础设施服务也是通过容器部署的,所以同样Rancher的基础设施服务可以运行在任何Linux主机上。
2、容器编排与调度
很多用户都会选择使用容器编排调度框架来运行容器化应用。Rancher包含了当前全部主流的编排调度引擎,例如Docker Swarm,
Kubernetes,
和Mesos。同一个用户可以创建Swarm或者Kubernetes集群。并且可以使用原生的Swarm或者Kubernetes工具管理应用。
除了Swarm,Kubernetes和Mesos之外,Rancher还支持自己的Cattle容器编排调度引擎。Cattle被广泛用于编排Rancher自己的基础设施服务以及用于Swarm集群,Kubernetes集群和Mesos集群的配置,管理与升级。
3、应用商店
Rancher的用户可以在应用商店里一键部署由多个容器组成的应用。用户可以管理这个部署的应用,并且可以在这个应用有新的可用版本时进行自动化的升级。Rancher提供了一个由Rancher社区维护的应用商店,其中包括了一系列的流行应用。Rancher的用户也可以创建自己的私有应用商店。
4、企业级权限管理
Rancher支持灵活的插件式的用户认证。支持Active Directory,LDAP, Github等 认证方式。 Rancher支持在环境级别的基于角色的访问控制 (RBAC),可以通过角色来配置某个用户或者用户组对开发环境或者生产环境的访问权限。
下图展示了Rancher的主要组件和功能:
Rancher的特性
1、采用图形化方式
易用的Web管理界面,在Docker易用性的基础上,再一次降低了使用容器技术部署容器应用的难度。
2、支持多种调度器
通过环境模板,很容易地创建和部署Cattle、Swarm、K8S、Mesos容器集群管理调度平台。
3、管理主机集群
管理对象是多台主机的集群,而不仅仅是单台容器主机,创建和管理几台、几十台应用服务器集群,只需要Ctrl+C、Ctrl+V,复制粘贴就解决了。
4、内置应用商店
使用其中的WordPress模板,创建一个WordPress博客系统,只需点点鼠标,部署难度不高于申请一个免费的电子邮箱!
5、资源弹性分配
内置应用负载均衡器,“服务”最小只需1个容器实例,当负载不够/或过剩时,只需点点鼠标,增加/减少“服务”中容器的实例数,即可解决问题,应用系统具有天生的弹性扩容能力。
实验环境:
系统版本:centos7x3.10.0-514.el7.x86_64
Docker版本:1.13.1(yum安装)
注: 如果想安装rancher, 那么适用的系统版本为64位的Ubuntu 16.04/Centos7/RHEL,内核版本位3.10以上;docker版本为1.10以上版本和17.06以上版本。
关闭防火墙并禁止开机自启
systemctl stop firewalld.service
systemctl disable firewalld
关闭selinux
sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g‘ /etc/sysconfig/selinux
重启 reboot
安装Rancher主机
rancher-server主机 (IP:192.168.152.170)
rancher-agent-1主机(IP:192.168.152.168)
rancher-agent-2主机(IP:192.168.152.169)
注:三台主机安装的主要组件都是docker
Server/agent-1/agent-2三台主机同时安装docker并启动服务
1、安装docker
yum -y install docker
2、查看docker安装版本
docker -v
3、启动docker
//设置docker开机自启
systemctl enable docker
//启动docker服务
systemctl start docker
rancher-server(192.168.152.170)
1、执行命令安装并运行rancher服务
docker search rancher/server 查看版本
docker pull rancher/server:v1.6.14 下载镜像
docker run -d --restart=always -p 8080:8080 rancher/server:v1.6.14 运行容器
或 docker run -d --restart=unless-stopped -p 8080:8080 rancher/server:v1.6.14
-d :后台运行
-p :映射端口(8080:8080,前者为宿主机端口,后者为容器端口)
--restart=always:重新启动=始终
--restart=unless-stopped :重新启动=除非停止
注:如果一直报错,那么可能是网络原因,多试几次,如果还是不行,那就使用国内镜像下载地址,使用方式如下:
1)编辑/etc/docker/daemon.json文件
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
2)重启docker
systemctl restart docker
注:执行以上方式后,再重新执行命令,就不会报错了!
2、查看rancher运行情况
docker ps
3、查看rancher服务监听端口
netstat -antupl | grep 8080
4、访问测试
//访问地址:http://192.168.152.170:8080
//先点击基础架构然后点击主机
//点击添加主机(就是添加rancher的节点)
//使用命令添加节点
注:看到以上截图后,复制5小题注册 Rancher的脚本在agent-1节点主机上执行,然后点击关闭。
rancher-agent-1(192.168.152.168)
添加rancher节点agent-1
1、复制并执行注册 Rancher的脚本(在agent-1节点主机上执行)
2、刷新网页查看
注:说明agent-1节点添加成功!有多少个节点就添加几个,节点添加方式和agent-1的添加方式一样,就不多说了,只不过执行命令时,是在不同ip的节点主机上!切记每次点击添加主机生成的rancher注册脚本只限于一个节点,不能多个节点重复使用一个脚本。
rancher-agent-2(192.168.152.169)
添加rancher节点agent-2
1、复制并执行注册 Rancher的脚本(在agent-2节点主机上执行)
2、刷新网页查看
注:以上截图说明rancher添加agent-1和agent-2完成!