Rancher

在接触Docker和K8s的前阶段就耳闻目睹到Rancher,但是没有进一步接触过。直到将K8s搭建完成。才进一步了学习与实践Rancher。

Rancher是简便易用的容器管理。其中Rancher对Kubernetes的支持与维护特别用心,使其在生产环境中的基础设置里更易于搭建与使用。

但实话实说,其一对于k8s的小白能通过rancher方便部署k8s,但在其封装下,不易理解k8s的内部实现。对于更多专业人士,推荐自己亲自搭建K8s;其二,对于生产中使用Rancher,建议需要更为专业的人士,不能将Rancher只是作为一个搭建平台而已。

环境与版本说明

Rancher

Rancher 版本: v1.6.2

其中所需镜像:

     
     
     
     
     
     
     
     
     
     
Docker

Docker 版本: 1.12.5

Rancher对支持的Docker版本有相关规定,请仔细阅读官网文档

Kubernetes

Kubernetes 版本: v1.5.4

其中所需镜像:

     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     

这些镜像均需加载到所需的寄主机中

寄主机

操作系统: Centos7

     
     
     
     
     

Rancher启动

在寄主机192-168-1-175上操作:

 

过一段时间,访问地址(http://192.168.1.175:8080/) 便可进入Rancher的界面。

随后在系统管理-访问控制中添加本地账户

Rancher搭建配置原理

Rancher搭建以Kubernetes模版为基础,其定义以rancher-catalog中的docker-compose.ymlrancher-compose.yml为基础。

默认官方的rancher-catalog如下图所示:

这些yml文件当然也可以自己编写,通过在Rancher界面中的第四栏选择系统管理-系统设置-应用商店中,停用官方认证的Rancher,或者社区贡献,添加自定义的可以git clone的URl。名称填写library,地址填写https://xxxxx.git,分支选择你需要的分支即可。

如果对Rancher和Kubernetes不是特别深入的学习,请勿随意修改这里面的值。当然这里面会涉及到相关镜像,可以修改为自己的,方便拉取

命名空间kube-system中的dashboard,heapster,grafana,helm等等,其配置文件都在镜像rancher/k8s:v1.5.4-rancher1-4中的/etc/kubernetes/addons/中,这些服务的启动就依靠这些配置文件。

如果你想修改这些YAML配置问题——例如我想把其中的imagePullPolicy: Always这条去掉,避免始终去拉取相关镜像——你们需要重新制作这个镜像,则可以在rancher/kubernetes-package这个GitHub项目,需要clone到相对应分支或者tag的源码,加以修改,并创建镜像,其创建的镜像就是rancher/k8s:v1.5.4-rancher1-4

以上操作本人实践过,耗时较长,还没有成功过。主要是卡死在某些步骤上,涉及到一些插件或者依赖包。解决不重建镜像,又能修改配置的方法,可以在Kubernetes-UI中实现,修改完yaml文件,然后进行UPDATE

添加环境

在Rancher界面中的第一栏选择环境管理-添加环境中,填写环境名称(k8stest)环境模版(Kubernetes),然后点击创建,如下图

添加主机

在Rancher界面中的第三栏选择基础框架-主机-添加主机,认真阅读添加过程中的每一条,再将第五点的shell命令复制到每一台寄主机(192-168-1-176,192-168-1-179,192-168-1-180)上

 

如此完成后,等所有服务启动完成,即Kubernetes的集群搭建完成

主机信息图如下图:

基础设施应用

在Rancher界面中的第二栏选择KUBERNETES-基础设施应用中,可以看到所有的基础应用。如下图所示:

应用kubernetes中可以列表形式,链接图形式和编排文件形式(docker-compose.yml和rancher-compose.yml)来查看应用。

以链接图形式查看如下图所示:

命名空间kube-system中的服务这里并不能找到。需要在上述的应用中找,如下图所示:

可以看出这里的镜像标签是端口号,内置的API是错误的。

Kubernete仪表板

在Rancher界面中的第二栏选择KUBERNETES-仪表板-Kubernete UI,直接就跳入Dashboard的界面,如下图所示:

Rancher重启

对于某些节点的清扫,一般用到以下命令:

 

参考博文

  1. Rancher-k8s加速安装文档
  2. Rancher使用入门
  3. CentOS7上Docker安装与卸载
  4. Rancher实现的内部DNS基础服务
  5. 如何hack一下Rancher Kubernetes

秒搭Kubernetes之使用Rancher的更多相关文章

  1. [原]CentOS7安装Rancher2.1并部署kubernetes (一)---部署Rancher

    ##################    Rancher v2.1.7  +    Kubernetes 1.13.4  ################ ##################### ...

  2. 企业级rancher搭建Kubernetes(采用rancher管理平台搭建k8s)

    一.简介 Rancher简介 来源官方:https://www.cnrancher.com/ Rancher是一个开源的企业级容器管理平台.通过Rancher,企业再也不必自己使用一系列的开源软件去从 ...

  3. 快速安装与配置kubernetes集群搭

    Kubernetes是什么? 首先,它是一个全新的基于容器技术的分布式架构领先方案.这个方案尽然很新,但它是谷歌十几年以来大规模应用容器技术的经验积累和升华的一个重要成果.确切地说,kubernete ...

  4. Kubernetes 服务入口管理 Traefik Ingress Controller

    前面部署了 kubernetes/ingress-nginx 作为 Ingress Controller,使用 Nginx 反向代理与负载,通过 Ingress Controller 不断的跟 Kub ...

  5. [原]CentOS7安装Rancher2.1并部署kubernetes (三)---解决登录kubernets超时和部署测试Pod和Containter[nginx为例]

    ##################    Rancher v2.1.7  +    Kubernetes 1.13.4  ################ ##################### ...

  6. [原]CentOS7安装Rancher2.1并部署kubernetes (二)---部署kubernetes

    ##################    Rancher v2.1.7  +    Kubernetes 1.13.4  ################ ##################### ...

  7. 主流 Kubernetes 发行版梳理

    2014 年,Kubernetes 作为内部 Google orchestrator Borg 开源版本推出,目前已是最成功和发展最快的 IT 基础架构项目之一.2018 年,Kubernetes 已 ...

  8. Rancher 2.1平台搭建及使用

    一.概述 1.1.什么是Rancher Rancher是一套容器管理平台,它可以帮助组织在生产环境中轻松快捷的部署和管理容器. Rancher可以轻松地管理各种环境的Kubernetes,满足IT需求 ...

  9. Rancher与ARM深化战略合作,“软硬结合”加速边缘计算时代

    时至今日,许多企业已将边缘计算列为战略目标,对于部分企业而言,边缘计算则已成为它们势在必行的部分.而随着对应用软件和硬件能力的需求不断增长,容器和Kubernetes已发展为边缘计算领域备受瞩目的一项 ...

随机推荐

  1. git 提交部分修改的文件,以及如何撤回已经add的文件

    命令 1.git status //查看修改文件状态 ,可以看到哪些add了哪些没add 注意:如果此时出现了有些文件不想添加到暂存区却添加进去了,需要撤回 git reset HEAD 全部撤销gi ...

  2. 图之强连通--Tarjan算法

    强连通分量 简介 在阅读下列内容之前,请务必了解图论基础部分. 强连通的定义是:有向图 G 强连通是指,G 中任意两个结点连通. 强连通分量(Strongly Connected Components ...

  3. 吴裕雄--天生自然 pythonTensorFlow图形数据处理:数据集基本使用方法

    import tempfile import tensorflow as tf # 1. 从数组创建数据集. input_data = [1, 2, 3, 5, 8] dataset = tf.dat ...

  4. oracle中null的理解

    < EXAMNO STUNO WRITTENEXAM LABEXAM e2014070001 s25301 80 58 e2014070002 s25302 50   e2014070003 s ...

  5. iTOP-4412开发板qt4文件的移植和修改

    在 7.4 小节介绍配置文件的时候,提到迅为制作的触摸库文件“/usr/local/tslib”,迅为 已经将触摸功能编译到 Qt/E4.7.1 的库文件中,开发板可以支持触摸和鼠标功能. 用户在前面 ...

  6. 54)PHP,访问修饰符

    类外就是你再实例化成对象的时候  用你类里面的变量 继承的类内,  就是子类里面,但是实例化对象时,不能用 本类内,      只在本类的定义时用,子类不能用.

  7. 41)PHP,数据库函数的注意点

    (1)那个mysqli_connect()            函数返回的是一个数据库连接对象,所以,你要是var_dump()这个函数的返回值,就是一个对象 (2)那个mysqli_query() ...

  8. Eclipse 快捷键(mac)

    Option + Command + X: 运行Command + O:显示大纲Command + 1:快速修复Command + D:删除当前行Command + Option + ↓:复制当前行到 ...

  9. vue实现动态绑定class--(三目运算符)根据span数字内容改变其样式

    一.根据span数字内容改变数字本身样式(两种样式) <template> //使用三目运算符,判断当span的val是否小于0给其不同的class名 <span class=&qu ...

  10. 微信小程序引用外部js

    1.先建立一个common.js, 写我们的外部js 比如: common.js function getTime(){ //下面写我们的代码 .... } function getCity(){ / ...