1. 前言

为什么要使用集中存储? 使用集中存储有个很大的优势是数据安全和统一管理,和集群完美配合。 产品集成存储经历过几个阶段:

1.单机本机存储。 系统使用本地硬盘存储

2.单网络集中存储。 局域网主机使用同一网络内的磁盘阵列存储单元

3.分布式集群本地存储。 集群节点使用自己本地硬盘存储。

4.分布式集群集中存储。集群节点使用集中存储(其背后可以是单一存储也可以是分布式存储,集中存储相当于一个代理入口)

其中云计算用的最多的是 3,4 这几个。主要适应于网络架构的分布式设计和基本云计算存储,如多机房,多地存储。使用集中存储给运维带来的最大

优势就是核心数据保存,不怕应用崩溃,各种docker容器都可以随时抛弃,重建。不用担心数据问题。

2. Rancher中使用集中存储NFS

Rancher对Docker集群的管理已经是非常方便,默认是没有加载共享存储的,我们这里使用RancherNFS插件来实现一个统一的存储,

当然也可以选择其他的插件,目前官方只有这一个,其他非官方的如CephFS,FastDfs等请自行添加插件或自写插件来实现。在此不做过多解读

点击Rancher应用商店,搜索nfs,找到官方插件并添加

填写主机地址:IP

目录: 建议不要填 / 而是指向NFS服务器存储的一个目录

ON_Remove: Purge: 删除映射目录时会删除NFS远程对应的数据  Retain:不删除远程数据

点“启动”即可 ,Rancher会在各个宿主机上面添加NFS驱动

查看NFS驱动,每个宿主机都已启动完毕

使用NFS:

我们在添加服务的时候, 可以配置下卷  name:/容器对应目录

填  logs:/opt/logs  会对应远程NFS里面 新建的 logs目录

如果填  /logs:/opt/logs  则是常用的卷映射,会写入宿主机本地的/logs目录

驱动填写默认的  rancher-nfs

这样 容器里面读写的文件就直接操作远程Nfs服务器了

查看效果:

启动应用后,容器的日志已经输出到NFS里面了。

用途及注意事项:

主要是针对日志类的,可以统一做日志搜集。

针对于数据持久化的,如MySQL数据  可以 通过映射 mysql/data:/var/lib/mysql  把数据集中存储到NFS上

注意:1. 集中存储要考虑到同时读写的问题,即Lock。 有的程序无法同用一套数据,这时候要考虑到单独读写或放到多个变量子目录

如MySQL无法同时起2个实例读写一套数据。

2. NFS插件还有不完善的地方, 如只能映射目录,无法映射文件 ,我们常用的 -v /nginx.conf:/nginx.conf 就无法使用了。

3. 多NFS服务器配置,无法从UI界面添加, 只能从YML文件来处理。

4. 集中存储一定要考虑速度问题,毕竟网络传输没有本地传输速度快,尽量选择公有云/私有云网络是走光纤通道的。尽量不要跨地域传输,如深圳的使用上海的NFS服务器

5. 尽可能使用可靠性有保障的存储,毕竟服务器,容器神码的都可以丢弃,数据是要绝对安全的。推荐阿里云的NFS服务,可以保障9个9的安全性。

【下一代核心技术DevOps】:(六)Rancher集中存储及相关应用的更多相关文章

  1. 【下一代核心技术DevOps】:(五)微服务CI与Rancher持续集成

    1. 引言 DevOps的核心魅力是快速的持续集成交付,降低研发和实施运维之间的交互,使得传统的各种扯皮现象统统消失.最重要的是降低成本 保障产品交付可靠性. 使用Rancher作为持续集成的关键环节 ...

  2. 【下一代核心技术DevOps】:(一)容器服务的Rancher选型

    为什么说是下一代核心技术 其实经过互联网的多次变革说起,早期的C/S架构,到后来的B/S架构,一直到现在最普遍的M/S架构,他们的背后都是技术不断的优化改进,以适应促进IT技术的发展 整体而言在过去1 ...

  3. 【下一代核心技术DevOps】:(二)Rancher的应用及优点简介

    1.环境选择 安装Rancher环境,一定要在干净的linux主机上进行,避免出现因配置导致的莫名其妙的问题.服务器操作系统建议CentOS7.4(内核3.10以上)低于这个版本的系统 如7.3 7. ...

  4. 【下一代核心技术DevOps】:(七)持续集成Jenkins的应用(Aliyun Pipiline持续构建)

    1. 前言 使用Jenkins比较好的就是可以在整个构建顺序中增加自定义的动作,比如构建成功给Leader发个邮件,给团队核心发个微信什么的. 当然最基本的核心还是它可以构建多种开发语言的项目,此类构 ...

  5. 【下一代核心技术DevOps】:(四)私有镜像库阿里云Docker服务使用

    1.使用阿里云镜像库有很多优点 稳定可靠,阿里技术,放心使用. 国内cdn多节点加速,下载速度非常快 可以和阿里云Git代码集成,不需要第三方CI工具,当然带的自动构建服务也可以和其他的Git库集成, ...

  6. 【下一代核心技术DevOps】:(三)私有代码库阿里云Git使用

    1. 引言 使用DevOps肯定离不开和代码的集成.所以要想跑通整套流程,代码库的选型也是非常重要的.否则无法实现持续集成.目前比较常用的代码管理有SVN和GIt 如果还使用SVN的,建议尽早迁移到G ...

  7. spark 源码分析之十六 -- Spark内存存储剖析

    上篇spark 源码分析之十五 -- Spark内存管理剖析 讲解了Spark的内存管理机制,主要是MemoryManager的内容.跟Spark的内存管理机制最密切相关的就是内存存储,本篇文章主要介 ...

  8. Kubernetes学习之路(十六)之存储卷

    目录 一.存储卷的概念和类型 二.emptyDir存储卷演示 三.hostPath存储卷演示 四.nfs共享存储卷演示 五.PVC和PV的概念 六.NFS使用PV和PVC 1.配置nfs存储 2.定义 ...

  9. rancher中级(一)(rancher的存储,网络)

    容器的存储机制 参考 http://dockone.io/article/128:http://dockone.io/article/129: Docker镜像是由多个文件系统(只读层)叠加而成.当我 ...

随机推荐

  1. linux中使用nfs共享文件

    NFS需要使用远程过程调用 (RPC),也就是说,我们并不是只要启动NFS, 还需要启动RPC这个服务 服务器端 CentOS 7.4 ip:172.16.0.1 共享/tmp目录 共享/data目录 ...

  2. 简单整理关于C#和Java的区别

    相信每个程序猿都有自己最喜欢的编程语言,然而对于编程语言似乎形成一条独特的鄙视链,就如Java和C#常常两边的开发者都是相互鄙视,然后他们一起共同鄙视全世界最好的编程语言——PHP 哈哈,但是其实我想 ...

  3. 始终使用属性(Property),而不是字段(Data Member)

    1.始终使用属性(Property),而不是字段(Data Member) C# 属性已经晋升为一等公民,如果你的类中还有public的字段,Stop.访问属性和字段的方式是一样的,但是属性是用方法( ...

  4. linux之基本命令进阶

    一  配置yum源管理与软件管理  yum常见工具 tree telent sl  cowsay yum install tree #安装tree命令,以树形目录显示 #由于每次安装都有确认的提示,取 ...

  5. rac添加新节点的步骤与方法2

    上一篇文章,把节点删除了.这次新增加一个节点 .新增加的节点是host03.如下: #Public IP192.168.16.45 racdb1192.168.16.46 racdb2192.168. ...

  6. 搭建LNMP环境(CentOS 6)

    本文档介绍如何使用一台普通配置的云服务器ECS实例搭建LNMP平台的web环境. Linux:自由和开放源码的类UNIX操作系统. Nginx:轻量级网页服务器.反向代理服务器. MySQL:关系型数 ...

  7. PAT A1012 The Best Rank (25 分)——多次排序,排名

    To evaluate the performance of our first year CS majored students, we consider their grades of three ...

  8. JVM实践

    package com.lsw.classloader; import java.io.FileInputStream;import java.lang.reflect.Field;import ja ...

  9. ESP32 environment ubuntu

    ubuntu官方用的是16.04版本的,阿里源下载地址:http://mirrors.aliyun.com/ubuntu-releases/16.04/     用官方版本的好处就是省的搞一堆各种错误 ...

  10. java 转换流 打印流 数据流

    转换流 InputStreamReader 和 OutputStreamWriter处理流用于将字节流转化成字符流,字符流与字节流之间的桥梁InputStreamReader 的作用是把 InputS ...