云原生-云应用挂载持久化存储卷NAS及通过NAS实现批量机器并发查找日志

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
文件存储 NAS,50GB 3个月
简介: 云原生-云应用挂载持久化存储卷NAS及通过NAS实现批量机器并发查找日志

需求


先说明需求,为什么要用NAS?

1.因为之前机器都是在ECS模式下,日志都可以持久化存储在ECS机器上,但是一旦应用上云部署为云应用了,那么云应用机器的扩缩容会导致POD的销毁和创建,这种情况下日志会随着POD而销毁,因此需要有一个持久化的存储


2.再者就是实现批量机器查找日志,之前在ECS模式下可以使用集团内部的pgm命令,一把梭哈就可以在上千台机器中定位查找的日志在哪台机器,但云原生POD模式就咩有这种功能了,通过NAS最后也实现了。


NAS


我也是第一次知道有NAS这款产品,那就先为阿里云的兄弟打一波广告:文件存储 (NAS),不了解什么是NAS的同学可以先了解一下,再继续下面。


购买及配置NAS


工欲善其事,必先购买NAS

这里先说明一下,不同环境可能操作步骤有不同


由于我的是有状态云应用,用到yaml配置文件,因此需要用到NAS的话,需要先在yaml中配置好NAS挂载信息,又因为我的上千个云应用共用NAS,要实现每个应用的日志在NAS下要有所区分,又在NAS上区分了挂载目录。

大致的yaml配置脱敏示例如下:

     # nas挂载
      - name: "nasName"
        flexVolume:
          driver: "alicloud/nas"
          options:
            server: "file-system-id.region.nas.aliyuncs.com"
            path: "当前服务器上待挂载的本地路径"
            vers: "3" #文件系统版本,vers=3:使用NFS v3协议挂载文件系统。
            options: "*"


其实到这里NAS挂载和配置就已经结束了,不懂的可以私戳我协助!


通过NAS实现批量机器并发查找日志


我们可以把NAS理解为一个磁盘,我的每个云应用会在磁盘上创建对应的目录,想在所有应用上查询同一个字段信息,相当于在NAS磁盘查询就好了,但是NAS没有办法直接登录啊!

这里给到一个解法:将NAS挂载到一台ECS机器,这样相当于给ECS机器挂载了一个磁盘,就可以查询NAS了。


ECS机器挂载NAS


说干就干,买ECS机器就不说了

买完之后跟着下面这里操作新购ECS时挂载NAS文件系统

一路向西就操作完毕

下面可以检查挂载结果了

使用VNC连接ECS实例,执行df -h命令,即可查看挂载的NAS文件系统信息

类似下图:

2021032621220883.png


使用SSH密钥对连接Linux实例


使用VNC连接实例太不方便了,那是阿里云多少年前的东西了,也一直没有优化,用户体验极差


这里可以参考使用SSH密钥对连接Linux实例


1.由于前面买机器的时候没有创建公网固定IP或EIP,也没有创建密钥对,所以需要绑定EIP,创建密钥对

参考创建SSH密钥对

参考绑定SSH密钥对

2.我这里目前是通过:在支持SSH命令的环境中使用密钥对(通过命令配置信息)


(1)修改私钥文件的属性

chmod 400 [.pem私钥文件在本地机上的存储路径]


例如

chmod 400 /Users/kunzhi/**.pem

(2)连接实例

ssh -i [.pem私钥文件在本地机上的存储路径] root@[公网IP地址]


(3)输入密码登录即可


20210326213310810.png


日志搜索

成功连接到实例后,需要进入对应的路径进行日志搜索

如下命令是对当前目录及子目录进行文件搜索关注字,并且每个文件只展示最新一条

find -name "文件名" | xargs -I file sh -c 'grep  "关键字" file|tail -1 ;grep -l  "关键字" file'

查找当前目录及子目录下包含"关键字”的文件名

find . -name "文件名" | xargs grep -l "关键字"


xargs,这个确实是一个好东西,后面会专门写一篇博客来记录一下

这里先给大家分享一个链接,可以先自己了解下xargs 命令教程


并发日志搜索


前面说了xargs好,但是GNU Parallel更香

这里是使用Linux 并行处理器 GNU Parallel

先安装

yum install parallel


安装完毕后直接在shell环境执行并行命令即可

#parallel 默认并发执行,每个CPU执行一条,当前机器是8核,即8个线程同:-j 8
#并发查找当前目录及子目录下的文件,包含"关键字"的第一条匹配的内容
#-I% 占位符
#-m1 取第一条
find -name 文件 |parallel -I% grep -m1 "关键字" 文件


其实xargs 也可以并发执行 参数是-P,但xargs的查询不保证顺序,有兴趣的同学可以执行下面的语句验证一下


#并发查找当前目录及子目录下的文件,包含"关键字"关键字的最新一条匹配的内容
find -name 文件 | xargs -P 8  -I file sh -c 'grep  "关键字" file|tail -1 ;grep -l  "关键字" file'


⚠️nas挂载找不到解决方案

NAS挂载找不到了,我们不可能再买一台ECS机器去操作,只需要进行重新配置即可,这里通过Linux系统挂载NFS文件系统解决

进行配置实例、手动挂载、自动挂载都走一遍,然后还原挂载。


通过命令:df -h

查看挂载情况即可了

好了,这次可以跑路了。。。。

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
12天前
|
运维 Cloud Native 持续交付
深入理解云原生架构及其在现代企业中的应用
随着数字化转型的浪潮席卷全球,企业正面临着前所未有的挑战与机遇。云计算技术的迅猛发展,特别是云原生架构的兴起,正在重塑企业的IT基础设施和软件开发模式。本文将深入探讨云原生的核心概念、关键技术以及如何在企业中实施云原生策略,以实现更高效的资源利用和更快的市场响应速度。通过分析云原生架构的优势和面临的挑战,我们将揭示它如何助力企业在激烈的市场竞争中保持领先地位。
|
13天前
|
运维 Cloud Native 安全
云原生技术在现代企业中的应用与挑战####
本文探讨了云原生技术在现代企业IT架构中的关键作用,分析了其带来的优势和面临的主要挑战。通过实际案例分析,揭示了如何有效应对这些挑战,以实现业务敏捷性和技术创新的平衡。 ####
|
10天前
|
Cloud Native 持续交付 开发者
云原生技术在现代企业中的应用与实践####
本文深入探讨了云原生技术的核心概念及其在现代企业IT架构转型中的关键作用,通过具体案例分析展示了云原生如何促进企业的敏捷开发、高效运维及成本优化。不同于传统摘要仅概述内容,本部分旨在激发读者对云原生领域的兴趣,强调其在加速数字化转型过程中的不可或缺性,为后续详细论述奠定基础。 ####
|
2月前
|
Cloud Native 安全 物联网
云原生技术在现代软件开发中的应用与挑战####
云原生,这一词汇如同一股强劲的科技风暴,席卷了整个信息技术领域,它不仅重塑了软件的开发模式,还引领了一场关于效率、可扩展性和弹性的深刻变革。本文旨在深入探讨云原生技术的核心概念,分析其在现代软件开发中的广泛应用,并直面伴随其发展而来的挑战,为读者勾勒出一幅既充满机遇又不乏考验的云原生技术图景。 ####
|
15天前
|
Kubernetes Cloud Native 物联网
云原生技术在现代软件开发中的应用与挑战####
本文探讨了云原生技术的兴起背景、核心理念及其在现代软件开发中的广泛应用。通过具体案例分析,揭示了云原生架构如何促进企业数字化转型,并指出了在实施过程中面临的主要挑战及应对策略。 ####
|
5天前
|
人工智能 缓存 异构计算
云原生AI加速生成式人工智能应用的部署构建
本文探讨了云原生技术背景下,尤其是Kubernetes和容器技术的发展,对模型推理服务带来的挑战与优化策略。文中详细介绍了Knative的弹性扩展机制,包括HPA和CronHPA,以及针对传统弹性扩展“滞后”问题提出的AHPA(高级弹性预测)。此外,文章重点介绍了Fluid项目,它通过分布式缓存优化了模型加载的I/O操作,显著缩短了推理服务的冷启动时间,特别是在处理大规模并发请求时表现出色。通过实际案例,展示了Fluid在vLLM和Qwen模型推理中的应用效果,证明了其在提高模型推理效率和响应速度方面的优势。
云原生AI加速生成式人工智能应用的部署构建
|
10天前
|
Cloud Native JavaScript Docker
云原生技术:构建现代应用的基石
在数字化转型的浪潮中,云原生技术如同一艘承载梦想的航船,引领企业驶向创新与效率的新海域。本文将深入探索云原生技术的核心价值,揭示其如何重塑软件开发、部署和运维模式,同时通过一个简易代码示例,展现云原生应用的构建过程,让读者领略到云原生技术的魅力所在。
|
17天前
|
消息中间件 Cloud Native 持续交付
云原生技术在现代企业中的应用与优势###
本文深入探讨了云原生技术在现代企业中的具体应用及其带来的显著优势。随着云计算的普及,云原生作为一种新兴的技术架构,正逐渐成为企业数字化转型的关键驱动力。文章将详细介绍云原生的核心概念、主要技术组件以及在实际业务场景中的成功案例,旨在为读者提供一个全面且实用的参考框架,以便更好地理解和应用云原生技术。 ###
|
24天前
|
监控 Cloud Native 持续交付
云原生技术在现代企业中的应用与实践
本文将深入探讨云原生技术如何改变现代企业的运作模式,提升业务灵活性和创新能力。通过实际案例分析,我们将揭示云原生架构的关键要素、实施步骤以及面临的挑战,为读者提供一套清晰的云原生转型指南。
|
24天前
|
Cloud Native 持续交付 云计算
深入理解云原生技术及其在现代IT架构中的应用
在数字化浪潮的推动下,云原生技术已成为企业转型的关键。本文将通过浅显易懂的语言和生动的比喻,带领读者探索云原生的核心概念、优势以及如何在企业中实现云原生架构。我们将一起揭开云原生的神秘面纱,了解它如何助力企业快速适应市场变化,提升业务的灵活性和创新能力。

热门文章

最新文章