Rancher入门

原创
2017/07/17 12:03
阅读数 80

点击上方蓝字“极客运维”一起运筹帷幄

Rancher简介

Rancher是目前市面上唯一一个能满足开箱即用的容器管理平台,同时能够支持多种编排引擎,如Mesos,Rancher自己的Cattle,Google的K8S,以及Docker官方的Swarm作为容器编排引擎。同时Rancher提供的Catalog应用商店能够帮助研发团队自主创建所需要的服务实例。Rancher 是以在生产环境中运行容器为目标而构建的开源软件平台。随着 Docker 容器这种类型的应用工作负载的逐渐流行,它催生了很多与之相应的基础架构服务,如网络服务、存储服务、负载均衡,安全,服务发现和资源管理。


1.计算资源

Rancher 使用的是来自于公有云或私有云上 Linux 主机的裸计算资源。每一个 Linux 主机既可以是虚拟机,也可以是物理机。Rancher 对每一个主机的期望不会多于 CPU,内存,磁盘存储和网络连接。Rancher可以直接调度接入到其中的阿里云,AWS,DigitalOcean,或者物理机。从 Rancher 的角度看来,一个来自云服务商的云主机和私有数据中心的物理机是没多大差异。


2.相关功能

Rancher 产品的关键功能包括:

  • 主机网络: Rancher 为每个环境生成一个软件定义网络(SDN),为主机和云的容器之间提供了安全的网络通讯。

  • 持久化存储服务: Rancher 对 Docker 提供持久化存储服务的编排,让开发者在部署容器化应用的同时可靠地部署与之相应的存储。这项新功能基于 Docker 1.9的卷插件功能,这让开发人员可以更加方便地运行需要有状态数据库和持久存储的应用。

  • 容器的负载均衡:Rancher 提供的内置、弹性负载均衡能在容器之间或者服务之间分发流量。负载均衡服务可以跨多个云工作。

  • 服务发现:Rancher 实现了分布式服务发现功能,具有内置的健康检查功能,并使容器自动地注册自己到相应至相应服务,并且各种服务之间可以在网络上动态地彼此发现。

  • 多租户和用户环境:Rancher 为多用户而设计,企业各个部门间可以跨应用生命周期协作。通过与已有目录服务的集成,Rancher 的用户可以创建独立的开发,测试和生产环境,然后邀请相关人员一起协作地管理资源和应用。

  • 服务升级:通过使用服务克隆和请求重定向功能,Rancher 使用户能更加容易地升级以及存在的容器服务。这让新版本的服务在处理生产流量前,有机会在其所依赖的生产环境中被校验和确认。

  • 多编排引擎支持:Rancher 用户在创建环境的时候,可以为他们的容器选择不同的容器编排引擎,默认是 Cattle,或者是 Kubernets Mesos Docker Swarm。这让用户可以选择任意市场领先的调度框架的同时,依然能利用到Ranher 的其它所有功能,如:应用商店/目录,企业级用户管理,容器网络,和存储技术。


Rancher部署


Rancher的部署十分简单,首先准备一台Linux发行版主机,内核至少3.10以上,并安装好docker,可使用安装脚本:
curl -fsSL https://get.docker.com/ | sh
相关的安装脚本很多,可以找一个国内源的脚本,以防被墙。 

1.安装启动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镜像下载过慢一般都是墙的问题,可以使用并配置阿里云或者Daocloud的docker源镜像加速,具体方法自行搜索,非常简单。


Rancher OS

Rancher OS为定制化,专供Rancher运行的Docker环境,精简Linux系统。

  • 可以与 Docker 的开发速度相匹配,提供最新版本的 Docker;

  • 不再需要复杂的初始化系统,使用一个简单的配置文件,管理人员很容易就可以将系统服务配置成 Docker 容器;

  • 容易扩展,用户很容易通过配置使 RancherOS 启动一个自定义的控制台容器,提供 Ubuntu、CentOS 或者 Fedora 发行版的体验;

  • 资源占用小,启动速度快,容易移植,安全性更好;

  • 升级、回滚简单;

  • 可以使用像 Rancher 这样的容器管理平台,容易维护。


迁移如同备份与恢复的步骤一样, 只需要将老服务器/var/opt/gitlab/backups目录下的备份文件拷贝到新服务器上的/var/opt/gitlab/backups即可(如果你没修改过默认备份目录的话)。但是需要注意的是新服务器上的Gitlab的版本必须与创建备份时的Gitlab版本号相同. 比如新服务器安装的是最新的8.5版本的Gitlab, 那么迁移之前, 最好将老服务器的Gitlab 升级为8.5再进行备份。

1.Rancher OS部署

Rancher OS安装十分简单,大部分人在安装后可能会发现不知道登录密码。
从镜像启动后,执行以下命令即可设定系统密码并安装到本地:

sudo ros install -d /dev/sda -c cloud-config.yml --append "rancher.password=mySecret"

cloud-config.yml配置文件内可以指定系统SSH秘钥,以及设定一些系统定制配置。
系统安装到本地硬盘完成后,使用之前设定的密码登录,修改registry_mirror,否则后续拉取docker镜像容易被墙。

sudo ros config set rancher.docker.registry_mirror "http://****.m.daocloud.io”
sudo ros config set rancher.system_docker.registry_mirror "http://****.m.daocloud.io”

安装完成Rancher OS和Rancher后,访问8080端口即可。

添加节点

通过点击图形界面的 Infrastructure 标签来添加主机,然后您将会看到 Hosts 页面。Rancher 会提示您选择一个 IP 地址。这个 IP 地址必须可以被所有即将添加的主机访问到。把 Rancher 服务器的端口通过防火墙的 NAT 或者负载均衡器暴露出来,或者暴露到 Internet上在有些情况下是很有用的。如果你的主机有一个私有或者本地 IP 地址,例如:192.168.*.*;Rancher 将打印一个提示信息,告诉您是否确认这个 IP 地址可以被正常访问到。 

在待添加节点服务器上运行提示的命令即可。 


添加完成,即可开始正常使用。

如图,创建一个nginx应用,十分便捷。




相关推荐:


戳原文,更有料!

本文分享自微信公众号 - 极客运维(hypernetworker)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
打赏
0
1 收藏
分享
加载中
更多评论
打赏
0 评论
1 收藏
0
分享
在线直播报名
返回顶部
顶部