Rancher简介与安装
仓库地址:https://hub.docker.com/r/rancher/server/官网:https://rancher.com/docs:https://rancher.com/docs/rancher/latest/zh/目前Rancher只支持Linux,不支持Windows和Macos简介Rancher是一个开源的企业级容器管理平台。通过Rancher,企业再也不必自己...
仓库地址:https://hub.docker.com/r/rancher/server/
官网:https://rancher.com/
docs:https://rancher.com/docs/rancher/latest/zh/
目前Rancher只支持Linux,不支持Windows和Macos
简介
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的主要组件和功能:
功能
1、基础设施协调
包括网络,存储,负载平衡器,DNS和安全性的管理
2、docker编排
Rancher支持多种容器编排和调度框架,包括Docker Swarm,Kubernetes和Mesos。同一用户可以创建多个Swarm或Kubernetes群集。然后,他们可以使用本地Swarm或Kubernetes工具来管理其应用程序。
除了Swarm,Kubernetes和Mesos之外,Rancher还支持自己的容器编排和调度框架,称为“Cattle”。由Rancher广泛使用cattle来协调基础设施服务,以及建立,管理和升级Swarm,Kubernetes和Mesos群集
3、一键部署
Rancher用户可以从应用程序目录中部署整个多容器集群应用程序,只需单击一个按钮。当新版本的应用程序可用时,用户可以管理部署的应用程序并执行全自动升级
4、企业级控制
Rancher支持灵活的用户验证插件,并与Active Directory,LDAP和GitHub 进行预先建立的用户身份验证集成。Rancher在环境层面支持基于角色的访问控制(RBAC),允许用户和组分享或拒绝访问例如开发和生产环境。
下图显示了Rancher的主要组件和功能
准备 Linux 主机
先安装一个64位的 Ubuntu 14.04 Linux 主机,其内核必须高于 3.10 。或者其它同等的 Linux 发行版。你可以使用一台笔记本、一个虚拟机或者一台物理的服务器。请确保目标安装 Linux 主机的内存至少1GB。
然后安装 Docker 在这个 Linux 主机上, 可以参考 Docker安装说明。
启动 Rancher 服务器
启动 Rancher 服务器所需要做的动作就只有一条命令。在启动了这个容器之后,我们将能查看到这个运行中的服务器的日志。
$ sudo docker run -d --restart=always -p 8080:8080 rancher/server
# 显示 Rancher 服务器的容器 ID,替换containerid
$ sudo docker ps
# 显示并查看 Rancher 服务器的日志
$ sudo docker logs -f containerid
启动 Rancher 服务器可能需要花几分钟时间。这取决于您下载 Rancher Server镜像的速度。当日志中显示 “…. Startup Succeeded, Listening on port…” 以后,Rancher UI 图形界面现在就能正常访问了。
Rancher 服务器的图形界面访问端口是 8080 ,通过在浏览器中访问这个网址 http://linux_host_ip:8080 , 您就可以打开 Rancher 服务器的图形界面。如果您的浏览器和 Rancher 服务器都运行在同一台服务器上,你需要使用主机的真实 Ip 地址,如: http://192.168.1.100:8080 , 而不是 http://localhost:8080 或者http://127.0.0.1:8080
注意: Rancher 的访问控制在初始安装时并没有配置,你的 Rancher 服务器图形界面和 API 能在任何能访问到您的 IP 地址的地方被访问到。我们建议配置访问控制参考 访问控制.
添加主机
为简化操作,我们将添加运行 Rancher 服务器容器的主机。而在实际的生产环境中,我们建议使用专用的主机来运行 Rancher 服务器。
通过点击图形界面的 Infrastructure 标签来添加主机,然后您将会看到 Hosts 页面。Rancher 会提示您选择一个 IP 地址。这个 IP 地址必须可以被所有即将添加的主机访问到。把 Rancher 服务器的端口通过防火墙的 NAT 或者负载均衡器暴露出来,或者暴露到 Internet上在有些情况下是很有用的。如果你的主机有一个私有或者本地 IP 地址,例如: 192.168.*.*;Rancher 将打印一个提示信息,告诉您是否确认这个 IP 地址可以被正常访问到。
现在我们添加 Rancher 服务器主机自身,因此我们可以忽略这个提示信息。点击 Save ;您将进入默认的Custom 选项页面,您在这可以得到运行 rancher/agent 容器的命令。这里还有其它的公有云的选项,使用这个选项可以实现通过 docker-machine 去启动主机节点。在 Web 界面上,Rancher 提供的用于添加主机的命令如下:
$ sudo docker run -d –privileged -v /var/run/docker.sock:/var/run/docker.sock rancher/agent:v0.7.9 http://192.168.0.130:8080/v1/scripts/DB121CFBA836F9493653:1434085200000:2ZOwUMd6fIzz44efikGhBP1veo
由于我们正在添加 Rancher 服务器的主机,我们需要添加这个主机所使用的共有 IP。Rancher agent 命令中如果没有这个参数,这个主机的 IP 很可能会是个错误的配置。您可以添加这个 IP 地址在Step 4,这将会修改命令,并加入一个环境变量。
$ sudo docker run -e CATTLE_AGENT_IP=192.168.0.130 -d –privileged -v /var/run/docker.sock:/var/run/docker.sock rancher/agent:v0.7.9 http://192.168.0.130:8080/v1/scripts/DB121CFBA836F9493653:1434085200000:2ZOwUMd6fIzz44efikGhBP1veo
在运行 Rancher 服务器的主机上运行这个命令。
当您在 Rancher 的页面中点击 Close 按钮后,您会被返回到 Infrastructure -> Hosts 页面。在一两分钟后,这个主机将自动出现在这里。
使用图形界面创建一个容器
进入 Applications -> Stacks 页面,如果这里还没有服务,你可以点击 “Add Service” 按钮。你可以输入一个类似 “firstcontainer” 的名字。您现在使用默认配置并点击 Create 。Rancher 将开始在这个主机上启动两个容器。一个容器是您所创建的名为**_first_container ;另外一个容器是Network Agent**,这是个由 Rancher 创建的系统容器,它用来处理扩主机联网和健康检查等任务。
不管你的主机是什么 IP 地址,first_container 和 Network Agent 将会的到 192.168.*.* 网段的 IP 地址。Rancher 已经创建了能在不同主机之上的让所有容器可以相互通信的覆盖网络。
如果你点击 first_container的下拉菜单,你可以执行各种动作,例如:停止容器,查看日志,或者进入容器的 控制台。
使用 Docker 原生命令创建一个容器
Rancher 会显示所有在主机上的容器,即使有些容器是在图形界面之外创建的。在主机的 shell 命令行里创建一个容器。
$ docker run -it --name=second_container ubuntu:14.04.2
在图形界面中,你将看到 second_container 在你的主机上出现!如果你通过退出命令行来退出用命令方式创建的容器,在 Rancher 图形界面中将立刻显示这个容器的状态为停止。
Rancher 可以对带外发生的事件作出反应,并把当前的显示状况如实地整合在它的视图中。
如果你查看容器 second_container 的 IP 地址,你会注意到他不在 192.168.*.* 网段中。它的 IP 地址是通过 Docker 后台服务获得的。这是通过命令行方式创建容器的正常的结果。
如果我希望通过命令行创建的容器依然具有 Ranger 覆盖网络的网络地址呢?我们所需要做的就仅仅是在命令中加一个标签。
$ docker run -it --label io.rancher.container.network=true ubuntu:14.04.2
更多推荐
所有评论(0)