原文:Docker决战到底(三) Rancher2.x的安装与使用 - 简书

 
image.png

当越来越多的容器化应用被部署,一个可以管理编排这些容器的工具此时就显得尤为重要了。目前容器编排领域的佼佼者非kubernates莫属了, 但我一直没有来得及上手,可能是学习成本比较高吧,加上公司里面使用的rancher1.6,我就直接用rancher来作为容器编排管理的切入点了,只是我这里采用的是rancher2.15版本。 非常意外的是,以前rancher1.6版本还支持docker compose、swarm等集成,但是我从rancher2.15版本里却找不到入口了,直接是对kubernates的集成管理,这也反向突出了kubernates确有一统之势。 整体来说,rancher是相对简单的,至少从满足我的操作要求来说,依然是使用的kubernates,但是却没有那么大的复杂度,当然,这仅仅是我的猜测而已,因为我根本没有使用过原生kubernates,开始之前我们看一下配置推荐。

部署大小 集群(个) 节点(个) vCPU 内存
不超过5 最多50 4C 16GB
不超过100 最多500 8C 32GB
超过100 超过500    

一、安装rancher(v2.x)

直接通过docker镜像来运行我们的rancher,首先,先从镜像中心下载rancher镜像,如果是1.x系列的,镜像名为rancher/server,而2.x是rancher/rancher,我们使用2.x版本的,所以,执行如下命令即可:

$ docker pull rancher/rancher
 
 

可通过docker image ls命令查看我们pull的镜像列表

 
 

查看rancher镜像详细信息

$ docker inspect rancher/rancher:latest
 
 

从中可以看出一些对我们有用的环境变量Env,以及数据卷Volumes等一般在Dockerfile构建中的参数。显而易见,rancher镜像主要有两个volume目录,默认方式是采用匿名卷的方式。接下来我们使用挂载到指定的主机目录方式来进行数据卷持久化同时启动rancher。

执行如下命令,在宿主机创建两个挂载目录

$ mkdir -p /docker_volume/rancher_home/rancher
$ mkdir -p /docker_volume/rancher_home/auditlog
 
 

接下来我们启动rancher容器

$ docker run -d --restart=unless-stopped -p 80:80 -p 443:443 \
-v /docker_volume/rancher_home/rancher:/var/lib/rancher \
-v /docker_volume/rancher_home/auditlog:/var/log/auditlog \
--name rancher rancher/rancher
 
 

执行如下命令查看我们刚才启动的容器信息

$ docker container ls
 
 

到这里,我们的rancher已经在docker容器里运行起来了,接下来,我们将开始通过rancher的web界面来进行容器管理等操作。

二、Rancher可视化管理

2.1 初始配置

访问rancher的管理web页面:https://192.168.225.129

 
 

为admin账户设置默认密码并点击继续按钮后会跳转到如下页面,让你设置rancher server url,需要注意的是URL可以是IP地址或主机名,但是你要保证群集的每个节点都能够连接到它。

 
 

点击Save URL按钮后,即将跳转到rancher管理主页。

 
 

你可以通过右下角的语言选项来选择语言,这里我们选择简体中文。

 
 
 
 

2.2 创建集群

点击上面图中的添加集群按钮,进入添加集群页面

 
 

选择添加主机自建Kubernetes集群CUSTOM,输入你的集群名称,当然如果你需要配置更多,下面的成员角色、集群选项等几个tab都可展开进行详细的配置,这里我们不进行配置,直接点击下一步,进入到下一步的页面。

 
 

这里我们勾选上所有的主机角色,然后将页面中第二步里显示的命令复制到宿主机进行执行,点击右边的

 
 

图标即可复制,下面的命令是我复制出来的命令:

$ sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:v2.1.5 --server https://192.168.225.129 --token zj7gbhp4brncd7fzx664nm4dbh6rxqt5bz2xcdt6klmcwk9xsqtxqq --ca-checksum 34a2465107c418fb8f5e6851ed28f8b518d76abc84ab82b2554158aae978ec7c --etcd --controlplane –worker
 
 

执行成功后我们的浏览器中会提示如下图所示的信息[1台新主机注册成功],之后我们便可点击完成按钮。

 
 

完成按钮点击后,会跳转到集群首页,如下图所示:

 
 

这时候你可以稍作等待,这个时间可能有点长,因为这期间会在后台给我们pull多个镜像并会启动多个容器。直到集群处于Active状态(如下图)时,说明集群创建成功了。

 
 

我们可以通过docker image ls和docker container ls看看刚才集群创建过程中都为我们拉取了哪些镜像和启动了哪些容器:

 
 
 
 

2.3 部署服务

在上一步创建的集群中给我们分配了两个项目Default和System,接下来我们在Default项目中部署我们的服务,进入如下页面:

 
 

点击部署服务按钮,进入到部署页:

 
 

你可以在部署页中输入你的应用名称,可以指定部署多少个Pod(k8s中的概念),选择对应的镜像,然后配置各种参数策略,如果你想进行数据持久化可以到数据卷的tab中进行配置,如果你有参数的定义可以到环境变量的tab中进行指定,最后再启动它。这看起来似乎是更方便的让我们执行了docker run命令,前提是你得熟悉docker中各种命令的使用及含义。本篇实践记录中我们并没有实际的部署一个服务,更多的是演示了需要部署服务的时候它的入口在哪里,部署服务的页面中都有哪些参数可供我们配置。

结束语: 本篇实践记录中记录了rancher2的安装与可视化界面的简单使用,并简单介绍了最常用的部署服务里都有哪些功能。在接下来,我们会通过部署一个jenkins服务来作为示例,更好的演示我们怎么在rancher中部署服务。
本篇实践记录中所有的操作都是基于前面几篇创建的环境上下文而实现的,如果你有兴趣可以了解了解:
docker决战到底(一)虚拟机中安装ubuntu系统
docker决战到底(二)Docker环境搭建

作者:wendell_dev
链接:https://www.jianshu.com/p/40f4fbe1ec22
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

 

Docker决战到底(三) Rancher2.x的安装与使用 - 简书的更多相关文章

  1. Linux下安装MySQL----来自简书(挺好的)

    来自简书的: https://www.jianshu.com/p/f4a98a905011 注: 1. 下载方式: 可以使用命令下载: wget http://downloads.mysql.com/ ...

  2. docker学习 (三) Windows 10 安装Docker

    Docker CE: 社区版,免费. Docker EE: 企业版,收费. 安装:             Windows 10 Pro 64, 必须开启Hyper-v 下载:Docker for W ...

  3. Docker笔记(三):Docker安装与配置

    原文地址:http://blog.jboost.cn/2019/07/14/docker-3.html Docker分为Docker CE社区免费版与Docker EE企业收费版.Docker EE主 ...

  4. CentOS安装docker ce的三种方式

    参考文章: CentOS安装docker ce的三种方式: 1.环境 CentOS Linux release 7.6.1810 (Core) 2.卸载旧版本 sudo yum remove dock ...

  5. Docker实战 | 第三篇:Docker安装Nginx,实现基于vue-element-admin框架构建的项目线上部署

    一. 前言 在上一文中 点击跳转 通过IDEA集成Docker插件实现微服务的一键部署,但 youlai-mall 是前后端分离的项目,除了后端微服务的部署之外,当然还少不了前端工程的部署.所以本篇讲 ...

  6. Docker(社区版) centos版 安装

    1,总结一下docker的安装,其实官网有很全面的资料了,可以自己上面去看,但都是英文的. https://docs.docker.com/engine/installation/linux/dock ...

  7. Docker学习笔记1:CentOS7 下安装Docker

    本文内容摘自官网:https://docs.docker.com/engine/installation/linux/centos/#/create-a-docker-group 注:本文是介绍Lin ...

  8. 8天入门docker系列 —— 第三天 使用aspnetcore小案例熟悉对镜像的操控

    上一篇我们聊到了容器,现在大家应该也知道了,没有镜像就没有容器,所以镜像对docker来说是非常重要的,关于镜像的特性和原理作为入门系列就不阐 述了,我还是通过aspnetcore的小sample去熟 ...

  9. Docker 入门 第三部分: 服务

    目录 Docker 入门 第三部分: 服务 先决条件 介绍 你的第一个 docker-compose.yml 文件 docker-compose.yml 运行你新建的负载均衡应用 扩展应用程序 卸载应 ...

随机推荐

  1. 使用 Laravel 5.5+ 更好的来实现 404 响应

    译文首发于 使用 Laravel 5.5+ 更好的来实现 404 响应,转载请注明出处! Laravel 5.5.10 封装了两个有用的路由器方法,可以帮助我们为用户提供更好的 404 页面.现在,当 ...

  2. APS.NET webform中的isPostBack

    IsPostBack介绍Page.IsPostBack是一个标志:当前请求是否第一次打开. 调用方法为:Page.IsPostBack或者IsPostBack或者this.IsPostBack或者th ...

  3. 洛谷—— P3353 在你窗外闪耀的星星

    https://www.luogu.org/problem/show?pid=3353 题目描述 飞逝的的时光不会模糊我对你的记忆.难以相信从我第一次见到你以来已经过去了3年.我仍然还生动地记得,3年 ...

  4. 给 string 添加一个 GetInputStream 扩展方法

    有时候,我们须要读取一些数据,而无论这数据来源于磁盘上的数据文件,还是来源于网络上的数据.于是.就有了以下的 StringExtensions.cs: using System; using Syst ...

  5. Leetcode_299_Bulls and Cows

    本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/50768550 You are playing the fo ...

  6. Java向上转型和向下转型(附具体样例)

                                                Java向上转型和向下转型(附具体样例) 熬夜整理的关于Java向上和向下转型的样例,很的通俗易懂哦~~~~ 一 ...

  7. java 抽象类和接口的差别

     语法层面上: 1)抽象类能够提供成员方法的实现细节.而接口中仅仅能存在public abstract 方法. 2)抽象类中的成员变量能够是各种类型的.而接口中的成员变量仅仅能是public st ...

  8. Spark SQL Catalyst源代码分析之Analyzer

    /** Spark SQL源代码分析系列文章*/ 前面几篇文章解说了Spark SQL的核心运行流程和Spark SQL的Catalyst框架的Sql Parser是如何接受用户输入sql,经过解析生 ...

  9. 并行编程(1) - sum.msic.Unsafe 一

    相信看过java源代码的同学.对 sum.msic.Unsafe 这个类并不陌生,特别是在java.util.concurrent包有非常多的使用. sum.msic.Unsafe源代码:      ...

  10. #定位系统性能瓶颈# perf

    perf是一个基于Linux 2.6+的调优工具,在liunx性能測量抽象出一套适应于各种不同CPU硬件的通用測量方法,其数据来源于比較新的linux内核提供的 perf_event 接口 系统事件: ...