* Rancher概览
Rancher是一个开源的企业级容器管理平台。通过Rancher,企业再也不必自己使用一系列的开源软件去从头搭建容器服务平台。Rancher提供了在生产环境中使用的管理Docker和Kubernetes的全栈化容器部署与管理平台。
Rancher由以下四个部分组成:
基础设施编排
Rancher可以使用任何公有云或者私有云的Linux主机资源。Linux主机可以是虚拟机,也可以是物理机。Rancher仅需要主机有CPU,内存,本地磁盘和网络资源。从Rancher的角度来说,一台云厂商提供的云主机和一台自己的物理机是一样的。
Rancher为运行容器化的应用实现了一层灵活的基础设施服务。Rancher的基础设施服务包括网络, 存储, 负载均衡, DNS和安全模块。Rancher的基础设施服务也是通过容器部署的,所以同样Rancher的基础设施服务可以运行在任何Linux主机上。
容器编排与调度
很多用户都会选择使用容器编排调度框架来运行容器化应用。Rancher包含了当前全部主流的编排调度引擎,例如Docker Swarm, Kubernetes, 和Mesos。同一个用户可以创建Swarm或者Kubernetes集群。并且可以使用原生的Swarm或者Kubernetes工具管理应用。
除了Swarm,Kubernetes和Mesos之外,Rancher还支持自己的Cattle容器编排调度引擎。Cattle被广泛用于编排Rancher自己的基础设施服务以及用于Swarm集群,Kubernetes集群和Mesos集群的配置,管理与升级。
应用商店
Rancher的用户可以在应用商店里一键部署由多个容器组成的应用。用户可以管理这个部署的应用,并且可以在这个应用有新的可用版本时进行自动化的升级。Rancher提供了一个由Rancher社区维护的应用商店,其中包括了一系列的流行应用。Rancher的用户也可以创建自己的私有应用商店。
企业级权限管理
Rancher支持灵活的插件式的用户认证。支持Active Directory,LDAP, Github等 认证方式。 Rancher支持在环境级别的基于角色的访问控制 (RBAC),可以通过角色来配置某个用户或者用户组对开发环境或者生产环境的访问权限。
下图展示了Rancher的主要组件和功能:
* Rancher Server安装
准备linux主机:CentOS7 (docker环境)
主机IP:192.168.18.113(Rancher服务器)
主机IP:192.168.18.114
Docker安装
添加yum源:
$ sudo tee /etc/yum.repos.d/docker.repo <<-'EOF' [dockerrepo] name=Docker Repository baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/ enabled=1 gpgcheck=1 gpgkey=https://yum.dockerproject.org/gpg EOFyum缓存更新,安装docker-engine。
$ sudo yum update (不更新Linux内核系统,不操作) $ sudo yum install -y docker-engine启动docker。
systemctl start docker.service systemctl enable docker.serviceRancher服务器启动(单容器部署)
Rancher单容器部署无需考虑数据库(rancher使用内部数据库,测试环境使用)。
$ sudo docker run -d --restart=always -p 8080:8080 rancher/server
Rancher单容器部署使用外部数据库Link。
$ sudo docker run -d --restart=unless-stopped -p 8080:8080 rancher/server --db-host xxx --db-port 3306 --db-user username --db-pass password --db-name dbname
rancher/server:latest最新版,rancher/server:stable稳定版生产环境建议使用此版本。
单容器安装部署
$ sudo docker run -d --restart=always -p 8080:8080 rancher/server
显示 Rancher 服务器的容器 ID,替换containerid
$ sudo docker ps docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b1164aef82ff rancher/server "/usr/bin/entry /u..." 9 minutes ago Up 9 minutes 3306/tcp, 0.0.0.0:8080->8080/tcp vigorous_wing显示并查看 Rancher 服务器的日志
$ sudo docker logs -f containerid docker logs -f b1164aef82ff启动 Rancher 服务器可能需要花几分钟时间。这取决于下载 Rancher Server镜像的速度(sudo docker run -d --restart=always -p 8080:8080 rancher/server,目前很慢,花了一个晚上自己下载)。当日志中显示 “…. Startup Succeeded, Listening on port…” 以后,Rancher UI 图形界面现在就能正常访问。
添加主机
添加运行Rancher服务器容器的主机。而在实际的生产环境中,建议使用专用的主机来运行Rancher服务器。
另一台主机IP:192.168.18.114已经安装好docker。
点击图形界面的 Infrastructure 标签来添加主机,然后您将会看到 Hosts 页面。Rancher 会提示您选择一个 IP 地址。这个 IP 地址必须可以被所有即将添加的主机访问到。
添加 Rancher 服务器主机自身,因此我们可以忽略这个提示信息。点击 Save ;
进入默认的Custom 选项页面,可以得到运行 rancher/agent 容器的命令。在每台需要添加到rancher控制台的主机上运行 rancher/agent。