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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 1. 前言 为什么要使用集中存储? 使用集中存储有个很大的优势是数据安全和统一管理,和集群完美配合。 产品集成存储经历过几个阶段:   1.单机本机存储。 系统使用本地硬盘存储   2.单网络集中存储。

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

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
3月前
|
Devops jenkins 持续交付
DevOps实践:构建和部署一个Docker化的应用
【9月更文挑战第14天】在当今快节奏的软件开发领域,DevOps已经成为提升效率、加速交付的关键。本文将引导你理解DevOps的核心概念,并通过一个实际的示例—构建和部署一个Docker化的应用—来深入探讨其实践方法。我们将从简单的应用出发,逐步实现Docker容器化,并最终通过CI/CD流水线自动化部署过程。这不仅是对DevOps流程的一次实操演练,也是对现代软件开发理念的一次深刻体验。
|
3月前
|
运维 Cloud Native Devops
云原生架构的崛起与实践云原生架构是一种通过容器化、微服务和DevOps等技术手段,帮助应用系统实现敏捷部署、弹性扩展和高效运维的技术理念。本文将探讨云原生的概念、核心技术以及其在企业中的应用实践,揭示云原生如何成为现代软件开发和运营的主流方式。##
云原生架构是现代IT领域的一场革命,它依托于容器化、微服务和DevOps等核心技术,旨在解决传统架构在应对复杂业务需求时的不足。通过采用云原生方法,企业可以实现敏捷部署、弹性扩展和高效运维,从而大幅提升开发效率和系统可靠性。本文详细阐述了云原生的核心概念、主要技术和实际应用案例,并探讨了企业在实施云原生过程中的挑战与解决方案。无论是正在转型的传统企业,还是寻求创新的互联网企业,云原生都提供了一条实现高效能、高灵活性和高可靠性的技术路径。 ##
230 3
|
4月前
|
Devops 虚拟化 Docker
DevOps 中的标准虚拟化技术
【8月更文挑战第27天】
63 5
|
4月前
|
Prometheus 运维 监控
Grafana 在 DevOps 中的应用
【8月更文第29天】Grafana 是一个开源的数据可视化平台,它可以连接到多种数据源,从简单的指标到复杂的查询,都能轻松创建出漂亮的图形化仪表板。在 DevOps 领域,Grafana 被广泛应用于性能监控、故障排查、服务可用性监控等方面。本文将详细介绍 Grafana 如何支持 DevOps 团队的工作,并提供一些具体的使用案例和代码示例。
49 1
|
4月前
|
敏捷开发 运维 监控
DevOps 在敏捷开发中的应用
【8月更文第30天】随着软件开发行业对快速迭代和持续交付的需求不断增加,敏捷开发方法论已经成为标准实践。DevOps 作为一种文化理念和技术实践的结合,强调开发与运维团队之间的紧密协作,以提高软件产品的质量和交付速度。本文将探讨 DevOps 如何支持敏捷开发流程,并通过具体的代码示例来展示其在迭代发布和反馈循环中的应用。
214 0
|
4月前
|
存储 运维 Devops
|
4月前
|
运维 监控 Devops
构建高效稳定的云基础设施:DevOps与容器化技术融合实践
【7月更文挑战第58天】 在当今的软件开发领域,"DevOps"和"容器化"已成为提升项目交付速度、确保环境一致性以及实现持续集成和持续部署(CI/CD)的关键策略。本文深入探讨了如何将DevOps理念与容器化技术相结合,以构建一个既高效又稳定的云基础设施。通过分析现代运维的挑战,我们提出了一套实践方案,并讨论了该方案在现实环境中的具体应用及潜在益处。文章不仅为读者提供了理论指导,还分享了来自一线实践的经验教训,旨在帮助组织优化其云基础设施管理,提高业务竞争力。
|
4月前
|
敏捷开发 缓存 前端开发
阿里云云效产品使用合集之前端打包时npm安装卡住一般是什么导致的
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
4月前
|
敏捷开发 弹性计算 持续交付
阿里云云效产品使用合集之同一个主机部署是否支持下载多个制品
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
4月前
|
敏捷开发 监控 Java
阿里云云效产品使用合集之Codeup WebIDE环境下,如何使用通义灵码
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。