0


【云原生】Rancher 从搭建到使用详解

前言

随着容器化的逐渐普及,以docker为基础的云原生概念也逐步有了市场,尤其是最近几年,docker的飞速发展,带动了一大批周边的生态构建,比如大家熟知的 k8s 等。

当越来越多的企业逐步开始尝试以容器化的方式部署应用服务时,一种基于容器化的编排,发布,运维等一体化的管理方案就亟需解决,于是市面上陆续出现了不少这种管理类的工具平台,比如:Openshift,蓝鲸,Rancher ,shipyard等;

不同的平台有各自的适用场景,从部署、搭建、运维等成本也不一样,本篇以**Rancher **为例,做一个详细的说明。

一、什么是 Rancher

  • 官网地址:https://rancher.com
  • 开源的企业级的Pass容器管理平台,通过rancher,企业不需要再适用一系列的开源组件从头搭建自己的容器平台了;
  • Rancher提供了在生产环境下使用的管理Docker和Kubernetes的全栈化容器部署与管理平台;

二、Rancher 特性

1、作为企业级容器编排的基础设施

  • 可以使用任何公有云或者私有云的linux主机资源;
  • linux主机可以是虚拟机,也可以是物理机;
  • Rancher 只需要主机有CPU,内存,本地磁盘和网路资源即可,即从Rancher 的角度讲,一台云厂商提供的虚拟机和自己的一台物理机是一样的;

2、集中式的容器编排与调度

  • 几乎包含了当下全部主流的编排调度引擎,比如:Docker Swarm ,Kubernetes,Mesos;
  • 同一个用户可以创建Swarm或者Kubernetes集群,并且可以使用原生的Kubernetes或者Swarm工具管理创建的应用;
  • 除了 Swarm ,Kubernetes,Mesos 之外,Rancher还支持自己的Cattle容器编排调度引擎;
  • Cattle被广泛用于编排Rancher自己的基础设施服务以及用于Swarm 集群,Kubernetes集群和Mesos集群的配置,管理与升级等;

更详细的关于 Rancher的介绍参考:rancher中文文档 ,下图是Rancher提供的核心功能图

三、Rancher 安装与部署

rancher对网络要求比较高,因为其内部包含的组件比较多,需要下载大量的安装包,部分模块的组件可能需要从中央仓库(海外拉取),所以初次安装时可能会出现拉取镜像失败的问题,如果是云服务器,建议配置镜像加速源;

最低配置:2核 8G,建议配置:4核8G,推荐使用云服务器;

1、使用docker安装Rancher

使用下面的docker命令启动rancher容器(官方也有)

docker run -d --restart=unless-stopped -p 8888:8080 rancher/server

注意点

映射端口可以根据自己的情况指定,只要与系统中其他端口不冲突即可

安装过程

初次安装时,拉取镜像可能需要花费较长的时间,需要耐心等待一会儿,待启动完毕即可

控制台访问

使用IP+端口访问rancher控制台,初次访问效果如下

如果英文看不懂,可切换右下角的语言为中文

修改密码

环境搭建好了之后,首先要做的是修改密码,否则管控台相当于是直接裸露的,点击“访问控制”进行密码修改;

注销之后再次刷新页面就来到了登录界面,输入用户名、密码即可

四、Rancher 核心功能演示

完成Rancher的安装部署之后,接下来以Rancher的核心功能为线索,体验下核心功能的使用,方便后续需要的时候可以快速查阅;

1、设置环境

在日常开发、测试与发布中,通常会涉及到多套环境,通过区分环境,可以让整个过程更加有序,管理也更方便,在rancher的管控台上,也可以创建不同的环境以应对后续的需要;

这里我们设置2个环境,一个开发环境,一个测试环境用于演示

2、应用商店

应用商店里提供了很多开发过程中可能涉及到的中间件,比如kafka,zk等,后续可以根据需要有选择的安装;

3、添加主机

通过上面的介绍,我们了解到其实Rancher的模式就是 server-client模式,比如上面安装完毕之后,这个就是Rancher的服务端,后面可以添加很多主机,这些主机就可以被server纳管,server端就可以通过控制台在安装其他服务时指定具体的某个主机;

点击保存后来到下面的页面,在红框中填写主机IP

再将图中步骤5中的一段命令拷贝到填写的主机中运行

通过上一步的操作,可以理解为当前的这台机器就纳入到Rancher进行管理了,从主机菜单也可以看到,刚刚添加的主机已经被纳管,后续可以根据需要,将更多新的机器纳入进去;

4、容器管理

点击菜单栏中的“容器”,展示出了当前主机下的所有容器,比如运行中的,停止状态的,也可以针对单个容器进行日常的管理操作,比如启动、停止、删除等操作;

以上简单介绍了Rancher管控台的常用功能,应该来说,这对大多数人来说都不难,多操作一下就会用了,接下来,让我们使用Rancher在线部署一些常用的中间件吧,通过Rancher管控台,就不需要像往常那样,比如使用docker安装mysql,需要敲一大堆的命令了,直接在线安装即可;

五、使用Rancher 部署中间件

1、部署redis6

还记得下面这个使用docker命令启动一个redis服务吗

docker run -itd --name my-redis -p 6379:6379 \
-v /usr/local/docker/redis/data:/data \
-v /usr/local/docker/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf \
redis:6.2.4 --requirepass 123456

点击添加应用

创建完毕后,点击添加服务

在这一栏主要填写容器的自定义名称,端口映射信息,redis版本号(版本号可以从中央仓库查询)

接下来,从左到的tab页,依次做如下设置

设置客户端连接密码

设置容器数据卷

其他的可以保存默认状态即可,然后点击创建,等待创建完成并启动后就可以使用了,可能过程会毕竟慢,初次启动要拉取镜像会耗费一定的时间;

进入之后,可以查看当前redis这个容器的详细信息,可以在这里对其进行日常的管理;

服务升级

升级是Rancher提供的一个个人认为很实用也很好用的功能,试想在真实的生产环境下,通常服务都是集群(多节点)部署的以确保高可用,同样来说,在日常服务升级过程中,为了保证整个系统的服务不会因为某个服务升级而中断,通常可以采用灰度升级的方式,其核心就是服务轮起,即升级某个服务时,确保集群中的另一个服务可用;

在Rancher这里,提供了类似的功能,通过配置升级相关策略,可以确保在容器升级过程中,始终有一个或多个容器可对外提供服务,具体操作如下:

点击升级

只需要对下面的界面做简单的配置即可

点击创建后,可看到如下的状态,然后点击升级完成即可,升级完成后,只会保留一个可提供服务的容器;

也可以使用客户端尝试进行连接

2、部署mysql

上面掌握了使用Rancher部署redis之后,再尝试部署一下mysql吧,下面的流程对大家来说就很简单了;

使用docker部署mysql命令

docker run -p 3309:3306 --name mysql57 \
-v /usr/local/docker/mysql/conf:/etc/mysql \
-v /usr/local/docker/mysql/logs:/var/log/mysql \
-v /usr/local/docker/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root@123456 \
-d mysql:5.7

基础配置,名称,端口映射信息

环境变量,数据卷等

然后点击创建即可,等待容器启动完成就可以使用了

使用客户端进行连接测试

总结

本文通过较大的篇幅详细讲解了Rancher的使用,更深入的内容有兴趣的同学可以结合官网进行学习,本篇作为一个引导为看到的同学提供一个参考,希望对您有用。


本文转载自: https://blog.csdn.net/zhangcongyi420/article/details/127555527
版权归原作者 小码农叔叔 所有, 如有侵权,请联系我们删除。

“【云原生】Rancher 从搭建到使用详解”的评论:

还没有评论