简介
Rancher是什么
Rancher是一个开源的企业级容器管理平台。通过Rancher,企业再也不必自己使用一系列的开源软件去从头搭建容器服务平台。Rancher提供了在生产环境中使用的管理Docker和Kubernetes的全栈化容器部署与管理平台。

为什么需要Rancher
在以前, 如果我们需要做一个分布式集群我们需要学习一全套的框架并编码实现如 服务发现, 负载均衡等逻辑, 给开发者造成很大的负担, 不过好在现在有Docker以及他周边的一些技术能在上层解决这些问题, 而应用该怎么开发就怎么开发。
当你选择使用Docker技术栈的时候, 会发现在生产环境中不光光是 docker run就能解决的. 还需要考虑比如docker之间的组网, 缩扩容等问题, 于是你去学习部署和使用Kubernetes, 发现太复杂了,光部署就已经很困难了,还要学习一系列的yaml语法来使用,有没有更简单一些的工具呢?Rancher 提供了一系列简单的工具用于部署和管理Kubernetes集群,通过webUI鼠标点点就可以轻松部署各种应用到Kubernetes集群上,技术小白也能轻松上手。
部署
Rancher Server可以单独部署在一台机器上,也支持部署到Kubernetes集群当中,当然,为了管理方便,我们这里选择部署到Kubernetes集群当中。
环境准备
在部署Rancher之前,有一些工作需要提前准备:
- 一个部署就绪,可以使用的Kubernetes集群
- 安装helm 工具
- http ssl证书 (可选,非必须)
安装helm
helm是什么
Helm是Kubernetes的一个包管理工具,用来简化Kubernetes应用的部署和管理。可以把Helm比作CentOS的yum工具。
获取Helm3
|
添加官方仓库
稳定版用于生产环境,最新版用于评估测试新功能.
|
创建新的命名空间
Rancher Server 需要一个专用的命名空间用于部署,cattle-system
这个名字是固定的,不能使用别的。
|
配置SSL证书
Rancher Server默认设计为使用SSL证书用于加强安全,因此支持3种方式配置证书, 自签证书、Let’s Encrypt、使用已有的证书。这里我们使用已有证书方式。
创建证书Secrets对象
首先将证书公钥如example.crt
和私钥example.key
重命名为tls.crt
, tls.key
,放在当前目录下,然后创建成secrets对象。
|
使用Helm部署Rancher Server
注意: hostname是定义域名,一定要跟你的证书签发域名要一致,通常自有证书都是泛域名证书。
|

检查部署情况
|
需要等待一些时间,因为要拉取Rancher Server的镜像,这取决于你的网络速度。

部署成功,启动完成。

使用
登录
打开浏览器,输入配置的域名,首次登录会提示需要创建一个管理员密码。

部署应用
默认只有2个命名空间: default
和 system
, 通常需要建立一个单独的命名空间用于部署应用,system 是集群内部的专用命名空间,尽量不要部署应用到此。

这里演示部署3个nginx实例到default命名空间,设置完成后,点击下面的Launch

等待一会部署完成,容器启动成功。

访问应用
要访问部署在集群中的应用,有3种方式:
- LoadBalance (一般部署在公有云上时,由云厂商提供)
- Ingress (常用方式,推荐)
- nodePorts (调试用,一般不推荐使用)
这里使用ingress进行配置

可以使用集成的xp.io
域名功能进行测试应用,真实生产环境应该使用自有的主机域名。

等待创建完毕后,显示如下:

访问生成的url,应该可以访问到部署的nginx了
