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


    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的安全性。

  • 相关阅读:
    (转)asp.net页面出错时的处理方法
    Angular.js学习笔记 (二) H.U.C
    一套常用的css初始化样式 H.U.C
    hexo工具介绍及使用方法 H.U.C
    Angular.js学习笔记 (一) H.U.C
    Nhibernate 对view 查询的几种方法
    如何做类似google的Textbox的AutoComplete增强版,可以显示多列
    POS 打印机编程控制
    (转) 商品损耗控制
    win 2008 IIS 7 安装 PHPMYAdmin
  • 原文地址:https://www.cnblogs.com/vesaa/p/7992878.html
Copyright © 2020-2023  润新知