Rancher常用操作及名词解析

前言:

关于Rancher安装请参考Rancher-Server部署,此文操作过程是基于以上部署环境进行演示。关于Rancher是做什么,能完成哪些功能,有哪些优据点请自行了解。

本文主要介绍以下几点

  1. 什么是环境

    1. 如何添加环境
  2. 什么是应用栈
    1. 如何添加,删除,修改应用栈
  3. 什么是服务
    1. 如何添加,删除,升级服务
  4. 什么是主机
    1. 如何添加,删除,管理主机

什么是环境:

一般情况下项目分为测试环境,开发环境和线上环境。或者不同的项目组使用不同的环境,比如A项目环境,B项目环境。由此可见Rancher支持统一管理多环境需求,针对不同环境,可以使用不同的环境模板,比如开发环境中使用的网络模式可以为ipsec,而测试环境和线上环境可以使用vxlan网络模式。不同的环境之间完全隔离,但可以实现统一管理,还可以针对不同的用户分配不同的环境,比如Admin用户可以管理所有环境,那么Admin用户可以查看所有环境的配置并管理,A用户只能管理测试环境,那么A用户登录只能查看到测试环境的配置,无法查看其它环境的配置。

什么是应用栈:

在我的理解,应用栈就是一组相同的服务的集合,比如DB应用栈,WEB应用栈,注册中心应用栈,LB负载均衡应用栈等

什么是服务:

服务就是由一组(至少1个)相同镜像,相同配置启动的容器,并提供相同的服务。比如可以由nginx镜像创建一个web服务,这个服务里面至有1个以上的容器,并暴露同样的端口到宿主机(如果暴露端口那么需要调度这些容器分别在不同主机上运行,否则会端口冲突),映射同样的目录等这些配置,这就是服务

什么是主机:

在我们安装好Rancher-Server后我们至少必须添加1台主机,因为我们的容器就是在这些主机上面运行的。所以可以理解为一台主机,就是Rancher-Server管理了一个Agent节点。主机可以是虚拟机,也可以是物理机,主机不限地理位置,只要能与Server端通讯及可进行管理

通过上面的简单介绍我们已经明白了一些基础概念,那么接下来就开始以图片的方式演示这些功能的基本使用方法:

首先在访问我们的Server管理平台默认情况下不需要输入密码,这样是不安全的,所以我们还应该配置认证,另外可根据个人使用习惯调整显示语言为中文(90%支持中文)操作方法如下:

  1. 首次打开管理平台会提示一个欢迎界面,主要是基本界面和一个文档的链接,去掉“√”点击Got It及可
  2. 默认语言可能显示为英文,这时候单击右下角的“English”选择“简体中文”及可显示为中文
  3. 光标放在“系统管理”选上“访问控制”打开如下图所示:然后选择“LOACL”,再配置好第一个管理员用户,后点击“启动访问控制”即可

  4. 添加主机步骤如下:

    单击“基础架构”>“主机”然后点击“添加主机”,首先添加主机会提示主机默认注册的URL,默认是使用IP地址,如果是集群环境,把URL改为DNS可解析的域名。然后保存,进入到添加主机界面,只需要在第4步填写被添加主机的IP地址,然后复制下面的连接到被添加主机上面执行,然后点击关闭,等待会就会就会出现一台主机在操作界面

  5. 主机界面描述:通过以下界面我们可以看到,上面显示了主机的计算机名,IP地址,Docker版本号,以及CPU,内存硬盘等信息,下面还有主机上面所运行的容器,容器所属的应用栈(Stack)信息,默认我们在启动一个Agent的时候就会启动一些基础的容器,比如健康检查,高度,网络管理等,这些需要启动的窗口,都可以通过我们的环境配置来指定默认启动些窗口,后面会介绍,如何环境管理。

    通过此界面主机的右上角三个点的按钮可以对主机进行编辑,修改描述信息,添加标签,查看主机管理API等信息,还可以直接点击主机名,查看主机的负载压力等更详细的信息

  6. 现在继续按上面的方法,再添加一台主机,这样就可以组成一个小型的集群环境,过程不再演示
  7. 接下来我们需要添加医院应用栈,单击“应用栈”然后点击“添加应用栈”输入栈名和描述信息,点击创建即可,创建好默认进入到当前栈配置里面,我这里创建的是Web应用栈

  8. 下图显示的就是栈配置,我们可以单击图片中的“添加服务”来启动我们的容器,比如我们现在要启动两个Nginx镜像,然后实现负载均衡

  9. 单击上图“添加服务”如现如下所示窗口:填写好名称,也就是容器启动时指定的名称,选择镜像中填写需要从哪个镜像启动,如果没有找到该镜像会自动从默认站点pull该镜像启动,一般情况下推荐搭建个私有仓库,然后选择要暴露的端口,这里我们先不暴露,后面通过创建负载均衡来调度,然后下面还有一些配置,根据自己需求进行设置,最后点击创建即可,如果需要从网上下载镜像,这样速度有点慢,需要等一会,服务就会显示为“Active”状态,说明启动成功

  10. 刚才我们在创建服务的时候默认只启动了一个容器,我们可以点击刚创建“nginx”服务进去,然后点击左侧的“+-”来对容器进行增加或者删除(如下图所示),同样还可以单击服务最右侧的三个点按钮对服务进行升级,升级也就是更改一些容器启动的配置信息,界面如同添加服务一样

  11. 这时候我们的容器还无法访问,因为没有暴露端口,所以这时候我们还需要按照前面的方法新增一个LB的应用栈,然后再到LB应用栈里面新增一个“负载均衡”服务,再添加服务的时候选择“添加负载均衡器”,如下图所示:输入Name,然后在第一个Port下面输入需要暴露的端口,然后在Target处选择刚创建的nginx服务,然后再最后的Port输入对应到容器里面的端口,点击创建及可

  12. 我们的创建nginx服务,和负载均衡器的时候我们都没有指定在哪台主机上面运行,系统会自动调度,根据压力负载进行调度,也可以为主机创建标签,然后根据标签自已调度。当负载均衡器启动成功后如下图所示,单击中间的端口号就可以直接访问我们的nginx欢迎页面了,这里我们默认我们负载均衡器也是只运行了一个,我们可以在每台主机上面运行一个相同的负载均衡器,然后在前端再加个nginx负载均衡,这样就实现交叉负载均衡,此负载均衡器会根据后端服务容器的增加减少,然后配置文件也会做自动的同步更新,默认使用的是haproxy调试

  13. 花样百出
时间: 2024-10-07 03:20:32

Rancher常用操作及名词解析的相关文章

Rancher常用操作及名词概念解析

前言: 关于Rancher安装请参考Rancher-Server部署,此文操作过程是基于以上部署环境进行演示.关于Rancher是做什么,能完成哪些功能,有哪些优据点请自行了解. 本文主要介绍以下几点 什么是环境 如何添加环境 什么是应用栈 如何添加,删除,修改应用栈 什么是服务 如何添加,删除,升级服务 什么是主机 如何添加,删除,管理主机 什么是环境: 一般情况下项目分为测试环境,开发环境和线上环境.或者不同的项目组使用不同的环境,比如A项目环境,B项目环境.由此可见Rancher支持统一管

MongoDB Shell 常用操作

数组查询 数组查询 MongoDB 中有子文档的概念,一个文档中能方便的嵌入子文档,这与关系性数据库有着明显的不同,在查询时,语法有一些注意点. 例子代码,假如我们的一个集合(tests)中存在标签键,有如下模式: tags: [ObjectId] 查询含有某个标签 ID 的文档 db.tests.find({tags: tagId}); 我现在有一组标签 tagIds,即是数组,需要查询含有该数组中任一元素的文档,此时需要用到 $in 操作符 db.tests.find({tags: {$in

JAVA常用集合源码解析系列-ArrayList源码解析(基于JDK8)

文章系作者原创,如有转载请注明出处,如有雷同,那就雷同吧~(who care!) 一.写在前面 这是源码分析计划的第一篇,博主准备把一些常用的集合源码过一遍,比如:ArrayList.HashMap及其对应的线程安全实现,此文章作为自己相关学习的一个小结,记录学习成果的同时,也希望对有缘的朋友提供些许帮助. 当然,能力所限,难免有纰漏,希望发现的朋友能够予以指出,不胜感激,以免误导了大家! 二.稳扎稳打过源码 首先,是源码内部的成员变量定义以及构造方法: 1 /** 2 * Default in

.NET中常用的几种解析JSON方法

一.基本概念 json是什么? JSON:JavaScript 对象表示法(JavaScript Object Notation). JSON 是一种轻量级的数据交换格式,是存储和交换文本信息的语法.类似 XML. JSON 比 XML 更小.更快,更易解析. 序列化和反序列化是怎么回事? 序列化: 将数据结构或对象转换成二进制串的过程 反序列化:将在序列化过程中所生成的二进制串转换成数据结构或者对象的过程 如何:对 JSON 数据进行序列化和反序列化? 1.定义 Person 的数据协定 通过

checkbox常用操作

全选(根据全选check选项,设置所有checkbox的全选或 全不选) function SelectAll(checked,checkbox_id) { var checkboxs=document.getElementsByName(checkbox_id); for (var i=0;i<checkboxs.length;i++) { var e=checkboxs[i]; e.checked=checked; } } 调用代码: <input type="checkbox&

C#之Socket操作类实例解析

本文展示了一个C#的Socket操作类的完整实例,并附带了用法说明,分享给大家供大家参考之用.具体方法如下: 主要功能代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net.Sockets; using System.Collections; using System.Net; using System.Runtime.Serializ

Python 字典的特点和常用操作

一.字典帮助文档 >>> dir(dict) ['__class__', '__cmp__', '__contains__', '__delattr__', '__delitem__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt

postgresql的ALTER常用操作

postgresql版本:psql (9.3.4) 1.增加一列ALTER TABLE table_name ADD column_name datatype; 2.删除一列 ALTER TABLE table_name DROP column_name; 3.更改列的数据类型 ALTER TABLE table_name ALTER column_name TYPE datatype; 4.表的重命名 ALTER TABLE table_name RENAME TO new_name; 5.更

Mysql数据库常用操作

1.备份数据库 [[email protected] ~]# mysqldump -h 192.168.0.8 -uroot  -p'123456'  user >user.sql 2.查看mysql数据库字符集设置 mysql> show variables like 'character_set_%';+--------------------------+----------------------------+| Variable_name            | Value