系列3:基于Centos-8.6 Kubernetes使用nfs挂载pod的应用日志文件

每日禅语

古代,一位官员被革职遣返,心中苦闷无处排解,便来到一位禅师的法堂。禅师静静地听完了此人的倾诉,将他带入自己的禅房之中。禅师指着桌上的一瓶水,微笑着对官员说:​“你看这瓶水,它已经放置在这里许久了,每天都有尘埃、灰烬落在里面,但它依然澄清透明。你知道这是何故吗?​”官员思索了良久,似有所悟:​“所有的灰尘都沉淀到瓶底了。​”禅师点了点头,说道:​“世间烦恼之事数之不尽,有些事越想忘掉却越挥之不去,那就索性记住它好了。就像瓶中水,如果你不停地振荡它,就会使整瓶水都不得安宁,混浊一片;如果你愿意慢慢地、静静地让它们沉淀下来,用宽广的胸怀容纳它们,那么心灵不但并未因此受到污染,反而更加纯净。​”官员恍然大悟。观水学做人,时常自省,便能和光同尘,愈深邃愈安静;便能至柔而有骨,执着而穿石,以“天下之至柔,驰骋天下之至坚”​。时常自省,便能灵活处世,不拘泥于形式,因时而变,因势而变,因器而变,因机而动,生机无限;时常自省,便能清澈透明,纤尘不染;时常自省,便能润泽万物,有容乃大,通达而广济天下,奉献而不图回报

文章背景

一般常用的日志挂载方式有elk,grafana等工具连接查看,但是这些方式都是需要充足的资源的,而且部署方式比较麻烦。但是搭建k8s集群以后,日志分布在不同的机器上面,需要用一种简单便捷的日志收集方式统一收集到一台机器上面做日志查看。对于自己学习或者是公司的内部系统需要做应用的日志收集,使用nfs的日志收集方式无不是一种简单且便捷的方式,本文以nfs作为远程存储,统一存放pod日志。 

 1.安装nfs服务(所有节点)

yum install -y nfs-utils rpcbind

2.创建共享目录设置日志收集服务器地址

本文所有日志都收集在172.17.12.24服务器上面,在24服务上面创建共享目录

mkdir -p /home/apps/nfs
chmod -R 755 /home/apps/nfs

3.编辑 /etc/exports,添加以下内容

/home/apps/nfs/  *(rw,no_root_squash,sync)

4.使配置生效

exportfs -r

5.启动服务(所有节点)

systemctl start rpcbind
systemctl start nfs
systemctl enable rpcbind
systemctl enable nfs

6.创建pv(k8s集群控制节点操作)

apiVersion: v1
kind: PersistentVolume
metadata:name: pv-nfs-prod-24namespace: prodlabels:env: uat
spec:capacity:storage: 60GivolumeMode: FilesystemaccessModes:- ReadWriteManypersistentVolumeReclaimPolicy: RetainstorageClassName: ""nfs:path: /home/apps/nfs/server: 172.17.12.24

7.创建pvc(k8s集群控制节点操作

apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: pvc-nfs-prod-24namespace: prod
spec:accessModes:    # 访问模式- ReadWriteManyvolumeMode: Filesystem    # 存储卷模式resources:    # 资源请求requests:storage: 30GistorageClassName: ""selector:matchLabels:env: "uat"

8.配置pod使用pvc(k8s集群控制节点操作

---
apiVersion: apps/v1
kind: Deployment
metadata:name: deploy-myapp
spec:replicas: 3selector:matchLabels:app: myapptemplate:metadata:labels:app: myappspec:affinity:nodeAffinity:    # pod调度preferredDuringSchedulingIgnoredDuringExecution:- weight: 1preference:matchExpressions:- key: typeoperator: Invalues:- "app"- key: envoperator: Invalues:- "uat"containers:- name: myappimage: harbor.neiwang.com/demo/myapp:1.0.2imagePullPolicy: IfNotPresentports:- name: main-httpcontainerPort: 8201- name: main-dubbocontainerPort: 28201env:- name: POD_NAME    # 使用Downward API获取POD名称valueFrom:fieldRef:apiVersion: v1fieldPath: metadata.nameenvFrom:    # 引用configMap中的环境变量- configMapRef:name: cm-common- configMapRef:name: cm-springvolumeMounts:- mountPath: /app/logname: logdirsubPathExpr: myapp/$(POD_NAME)    # 使用子目录, 便于定位指定pod的日志volumes:- name: logdirpersistentVolumeClaim:claimName: pvc-nfs-prod-24imagePullSecrets:    # 从私有harbor仓库拉取镜像需要配置账户信息的secret- name: registry-harbor---
apiVersion: v1
kind: Service
metadata:name: svc-myapp
spec:selector:app: myappports:- name: main-httpprotocol: TCPport: 8201targetPort: 8201- name: main-dubboprotocol: TCPport: 28201targetPort: 28201

9.启动并且查看日志

使用yaml文件创建deployment和service
kubectl create -f myapp.yaml
查看pod是否启动
kubectl get pods
到nfs服务端查看是否有新生成的pod文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/63224.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

tkdiff安装:Linux下文本对比工具

tkdiff在Linux下源码安装 1.下载解压2.编译安装3.配置环境变量4.验证及运行 本文,在Linux下使用源码安装tkdiff工具,以tkdiff-4.2版本为例,其他版本根据需要替换即可。 1.下载解压 去 http://sourceforge.net/projects/tkdiff/files/tkdiff…

耐蚀镍基合金的焊接技术与质量控制

耐蚀镍基合金是一类在腐蚀环境中具有优异性能的合金材料,广泛应用于化工、海洋工程、石油天然气等领域。其焊接技术与质量控制对于确保合金的使用性能和安全性至关重要。以下是对耐蚀镍基合金焊接技术与质量控制的详细探讨。 一、焊接技术 焊条选择 耐蚀镍基合金的焊…

Django REST framework(DRF)在处理不同请求方法时的完整流程

文章目录 一、POST 请求创建对象的流程二、GET 请求获取对象列表的流程三、GET 请求获取单个对象的流程四、PUT/PATCH 请求更新对象的流程五、自定义方法的流程自定义 GET 方法自定义 POST 方法 一、POST 请求创建对象的流程 请求到达视图层 方法调用: dispatch说明…

机器视觉与OpenCV--01篇

计算机眼中的图像 像素 像素是图像的基本单位,每个像素存储着图像的颜色、亮度或者其他特征,一张图片就是由若干个像素组成的。 RGB 在计算机中,RGB三种颜色被称为RGB三通道,且每个通道的取值都是0到255之间。 计算机中图像的…

qemu源码解析【03】qom实例

目录 qemu源码解析【03】qom实例arm_sbcon_i2c实例 qemu源码解析【03】qom实例 arm_sbcon_i2c实例 以hw/i2c/arm_sbcon_i2c.c代码为例,这个实例很简单,只用100行左右的代码,调用qemu系统接口实现了一个i2c硬件模拟先看include/hw/i2c/arm_s…

小程序自定义tab-bar,踩坑记录

从官方下载代码 https://developers.weixin.qq.com/miniprogram/dev/framework/ability/custom-tabbar.html 1、把custom-tab-bar 文件放置 pages同级 修改下 custom-tab-bar 下的 JS文件 Component({data: {selected: 0,color: "#7A7E83",selectedColor: "#3…

操作系统(14)请求分页

前言 操作系统中的请求分页,也称为页式虚拟存储管理,是建立在基本分页基础上,为了支持虚拟存储器功能而增加了请求调页功能和页面置换功能的一种内存管理技术。 一、基本概念 分页:将进程的逻辑地址空间分成若干个大小相等的页&am…

git企业开发的相关理论(一)

目录 一.初识git 二.git的安装 三.初始化/创建本地仓库 四.配置用户设置/配置本地仓库 五.认识工作区、暂存区、版本库 六.添加文件__场景一 七.查看 .git 文件/添加到本地仓库后.git中发生的变化 1.执行git add后的变化 index文件(暂存区) log…

wxpython图形用户界面编程

wxpython图形用户界面编程 一、wxpython的基础 1.1 wxpython的基础 作为图形用户界面开发工具包 wxPython,主要提供了如下 GUI 内容: 窗口。控件。事件处理。布局管理。 1.2 wxpython的类层次机构 1.3 wxpython的安装 Windows 和 macOS 平台安装&a…

水仙花数(流程图,NS流程图)

题目:打印出所有的100-999之间的"水仙花数",并画出流程图和NS流程图。所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为1531的三次方&#…

不配置python环境,直接用PyCharm就可以?

有的伙伴可能遇到不安装python环境只安装pycharm也可以进行运行代码。 所以自认为是不需要解释器就可以运行? 这个是不现实的,有很多伙伴可能是安装了Pycharm,但Pycharm看你电脑上没有解释器,所以在安装的时候给你默认安装在C盘…

网络安全渗透测试概论

渗透测试,也称为渗透攻击测试是一种通过模拟恶意攻击者的手段来评估计算机系统、网络或应用程序安全性的方法。 目的 旨在主动发现系统中可能存在的安全漏洞、脆弱点以及潜在风险,以便在被真正的恶意攻击者利用之前,及时进行修复和加固&…

爬虫数据能用于商业吗?

在当今数字化时代,数据已成为企业获取竞争优势的关键资源。网络爬虫作为一种数据收集工具,能够从互联网上抓取大量数据,这些数据在商业分析中扮演着重要角色。然而,使用爬虫技术获取的数据是否合法、能否用于商业分析,…

前端面试汇总(不定时更新)

目录 HTML & CSS1. XML、HTML、XHTML 有什么区别?⭐2. XML和JSON的区别?3. 是否了解W3C的规范?⭐4. 什么是语义化标签?⭐⭐5. 行内元素和块级元素的区别?⭐6. 行内元素和块级元素的转换?⭐7. 常用的块级…

SpringCloud微服务实战系列:03spring-cloud-gateway业务网关灰度发布

目录 spring-cloud-gateway 和zuul spring webflux 和 spring mvc spring-cloud-gateway 的两种模式 spring-cloud-gateway server 模式下配置说明 grayLb://system-server 灰度发布代码实现 spring-cloud-gateway 和zuul zuul 是spring全家桶的第一代网关组件&#x…

QT3学习之进阶理解信号和槽:如何自定义一个类信号,供其它类调用槽函数

下面是QWidget源码,定义了两个事件 /*!This event handler can be reimplemented in a subclass to receivewidget enter events.An event is sent to the widget when the mouse cursor enters thewidget.\sa leaveEvent(), mouseMoveEvent(), event() */void QWi…

GaLore和Q-GaLore:一种记忆高效的预训练和微调策略,用于大型语言模型(LLMs)

GaLore和Q-GaLore:一种记忆高效的预训练和微调策略,用于大型语言模型(LLMs) GaLore和Q-GaLore的设计背景、工作原理及其优势 设计背景 随着大型语言模型(LLMs)的发展,模型的规模和复杂性不断…

【网络云计算】2024第51周-每日【2024/12/17】小测-理论-解析

文章目录 1. 计算机网络有哪些分类2. 计算机网络中协议与标准的区别3. 计算机网络拓扑有哪些结构4. 常用的网络设备有哪些,分属于OSI的哪一层5. IEEE802局域网标准有哪些 【网络云计算】2024第51周-每日【2024/12/17】小测-理论-解析 1. 计算机网络有哪些分类 计算…

ActiveMQ 反序列化漏洞CVE-2015-5254复现

文章目录 一、产生原因二、利用条件三、利用过程四、PoC(概念验证)五、poc环境验证使用find搜索vulhub已安装目录打开activeMQ组件查看配置文件端口启动镜像-文件配置好后对于Docker 镜像下载问题及解决办法设置好镜像源地址,进行重启docker查…

shardingsphere分库分表跨库访问 添加分片规则

shardingsphere分库分表跨库访问 添加分片规则 建立 JDBC 环境 创建表 t_order: CREATE TABLE t_order (tid bigint(20) NOT NULL,tname varchar(255) DEFAULT NULL,goods_id bigint(20) DEFAULT NULL,tstatus varchar(255) DEFAULT NULL,PRIMARY KEY (tid) ) E…