锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

【云原生 • DevOps】一文掌握容器管理工具 Rancher

时间:2022-09-11 10:30:00 连接器574d0971636连接器贴片电容cl05c040cb连接器345

a495ba886213440a9c1c1503c5fe87ae.jpeg

本章的学习目标:

  • 掌握容器管理工具 Rancher 安装使用;
  • 掌握基于 Rancher 应用部署,扩容缩容操作。

目录

一、容器管理工具 Rancher 介绍

二、Rancher 的安装

三、Rancher 的初始化

1. 添加环境

2. 添加主机

3. 添加应用

四、应用部署

1. Mysql 部署

2. RabbitMQ 部署

3. Redis 部署

四、扩容缩容

1. 扩容

2. 缩容

五、负载均衡器


一、容器管理工具 Rancher 介绍

Rancher 它实际上是一个开源的企业级全栈集装箱部署和管理平台 Docker 图形管理界面。它为容器提供基础设施服务 CNI 兼容的网络服务、存储服务、主机管理、负载平衡、防火墙等服务跨越公共云、私有云、虚拟机、物理机环境,真正实现一键应用部署和管理。此外,它还提供了高级功能,如负载容等高级功能,也是一种常用的操作和维护工具。

提示:由于 Rancher 是 Docker 界面操作,如应用部署,实际上是重复的。为了避免端口冲突,建议在新的系统镜像中操作。

二、Rancher 的安装

第一步:下载 Rancher 镜像;

docker pull rancher/server

第二步:创建 Rancher 容器;

docker run -di --name=rancher -p 9090:8080 rancher/server

第三步:本地浏览器输入: 虚拟机/服务器 IP:端口号访问以下界面 Rancher 安装成功;

若无法访问自己创建的容器是否已启动。

初始界面为英文界面,中文可在右下角切换;

三、Rancher 的初始化

1. 添加环境

Rancher 支持将资源分组属于多个环境,每个环境都有自己独立的基础设施资源和服务,由一个或多个用户、团队/组织管理。例如,您可以创建一个独立的开发、测试和生产环境,并确保这些环境之间的安全隔离,并将开发环境的访问权授予所有人员,而测试环境只允许小团队访问。

点击 “Default” --> 进入环境界面的环境管理;

点击“添加环境”,输入环境名称和描述即可创建;

以下是我创造的开发、生产和测试环境。每个环境完全分离,环境配置不会相互影响;

此时选择 “Default” 可在环境间切换;

2. 添加主机

选择 基础设施 --> 点击主机添加主机;

默认选择我们的虚拟机/服务器网站地址,点击保存;

然后进入以下界面;

注意第五步中的代码,这意味着创建一个代码 Rancher 需要添加代理容器 Rancher 如果这个命令运行在服务的虚拟机/服务器上,虚拟机/服务器将和解 Rancher 建立服务联系。

需要连接复制代码 Rancher 虚拟机/服务器器上运行,运行成功如下;

此时在 Rancher 主机界面将增加一个主机;

3. 添加应用

这里的应用实际上是指我们的一个项目,而一个项目包含多个服务,换句话说,应用实际上是一个服务组;

点击 “应用” --> 点击所有/用户 添加应用 按钮;

输入名称和描述后点击 “创建”;

成功后如下;

应用创建成功后,服务可以部署在应用上,即应用部署。

四、应用部署

其实在 Rancher 中部署应用与传统方法(命令行操作)最大的区别在于,这里的所有操作都在图形界面中进行,更直观。请参见以下部署演示。

1. Mysql 部署

首先下载镜像 centos/mysql-57-centos7 增加数据库服务;

[root@192 ~]# docker pull centos/mysql-57-centos7 Using default tag: latest latest: Pulling from centos/mysql-57-centos7 d8d02d457314: Pull complete  a11069b6e245: Pull complete  596303fbaa3: Pull complete 
a29499e779a7: Pull complete 
17d1a52c2e00: Pull complete 
ed24591227fe: Pull complete 
de0ad46e3ed9: Pull complete 
c62e4a984a9c: Pull complete 
01d54c6bda68: Pull complete 
Digest: sha256:e08ee4d43b7356607685b69bde6335e27cf20c020f345b6c6c59400183882764
Status: Downloaded newer image for centos/mysql-57-centos7:latest
docker.io/centos/mysql-57-centos7:latest
[root@192 ~]# 

然后在我们创建好的应用中,点击 “添加服务”;

此时就可以以图形化界面的方式来部署 MySQL 服务了,进行相关的设置;

点击 “创建”,显示 “Active” 则说明部署成功;

2. RabbitMQ 部署

下载镜像 rabbitmq:management;

[root@192 ~]# docker pull rabbitmq:management
management: Pulling from library/rabbitmq
7b1a6ab2e44d: Pull complete 
37f453d83d8f: Pull complete 
e64e769bc4fd: Pull complete 
c288a913222f: Pull complete 
12addf9c8bf9: Pull complete 
eaeb088e057d: Pull complete 
b63d48599313: Pull complete 
05c99d3d2a57: Pull complete 
43665bfbc3f9: Pull complete 
f14c7d7911b1: Pull complete 
Digest: sha256:4c4b66ad5ec40b2c27943b9804d307bf31c17c8537cd0cd107236200a9cd2814
Status: Downloaded newer image for rabbitmq:management
docker.io/library/rabbitmq:management
[root@192 ~]# 

添加服务,设置相关属性及端口映射(包含端口 5671 5672 4369 15671 15672 25672);

部署成功如下;

在浏览器访问 虚拟机/服务器 IP:15672;

RabbitMQ 安装成功。

3. Redis 部署

下载镜像 redis;

[root@192 ~]# docker pull redis
Using default tag: latest
latest: Pulling from library/redis
a2abf6c4d29d: Pull complete 
c7a4e4382001: Pull complete 
4044b9ba67c9: Pull complete 
c8388a79482f: Pull complete 
413c8bb60be2: Pull complete 
1abfd3011519: Pull complete 
Digest: sha256:db485f2e245b5b3329fdc7eff4eb00f913e09d8feb9ca720788059fdc2ed8339
Status: Downloaded newer image for redis:latest
docker.io/library/redis:latest
[root@192 ~]# 

添加服务,设置相关属性及端口映射(端口 6379);

创建成功如下;

打开本地的 Redis 终端,输入 redis-cli -h 虚拟机/服务器 IP 进行连接,如下可正常运行,redis 部署成功;

四、扩容与缩容

扩容就是扩充容器的数量,缩容反之。在实际的运维过程中,容器需要为网站提供一个后端的支撑,当网站访问比较高的时候就需要用到更多的容器来形成容器的微服务集群,以减轻承载压力。若访问量不是那么高,则可以缩容释放出更多的空间出来。

1. 扩容

选择应用,添加新的服务 base-service,但不设置端口映射,创建完成后默认为一个容器;

此时点击 “API” --> “WebHooks”;

进入添加接收器界面,选择添加接收器,如下;

选择参数之后,点击创建,此时就为服务创建了接收器(扩缩容服务);

其实接收器就是配置了一个 URL,这个 URL 主要用 post 方式触发,也就是一个接口,使得某一个软件能够通过这个地址来调用 Rancher,Rancher 接收之后触发,然后进行相应的扩缩容操作。

此时回到服务页面,可以看到服务的容器数量为 1;

复制接收器触发地址(接口),使用本地接口测试工具调用该地址(我使用的是 ApiPost)点击发送;

此时服务的容器数量便会自动增加。

2. 缩容

缩容操作与扩容相同,此处不再赘述。

五、负载均衡器

当使用扩容和缩容服务时,我们是不设置端口映射的,那么就没办法直接访问服务,为了解决此问题,Rancher 提供了负载均衡器。当想要访问没有端口映射的服务时,就需要为该服务添加负载均衡。

点击 “添加服务” --> “添加负载均衡”;

输入端口以及目标等信息,进行创建;此时就可以通过负载均衡器的特殊服务来访问我们的服务了。

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章