当前位置: 首页 > ops >正文

k8s的pod挂载共享内存

k8s的pod挂载共享内存,限制不生效问题:

:/dev/shm 是 Linux 系统中用于共享内存的特殊路径。通过将 emptyDir 的 medium 设置为 Memory,可以确保 /dev/shm 正确地挂载到一个基于内存的文件系统,从而实现高效的共享内存功能。

宿主机配置如下:
在这里插入图片描述

配置如下

apiVersion: apps/v1
kind: Deployment
metadata:name: nginx-deploymentlabels:app: nginx
spec:replicas: 1selector:matchLabels:app: nginxtemplate:metadata:labels:app: nginxspec:containers:- name: nginximage: nginx:stable-alpineports:- containerPort: 80resources:requests:memory: "2048Mi"cpu: "1000m"limits:memory: "2048Mi"cpu: "1000m"volumeMounts:- mountPath: /usr/share/nginx/htmlname: nginx-html- mountPath: /dev/shm #容器内共享内存目录name: dshmvolumes:- name: nginx-htmlemptyDir: {}- name: dshmemptyDir:medium: MemorysizeLimit: 512Mi # 限制容器使用共享内存大小

将上述deployment部署到k8s集群,然后进入容器的shell查看结果:
在这里插入图片描述
通过上图可以发现大小并没有被限制住

经过验证发现是因为k8s集群版本问题导致显示错误,实际已经限制住了,目前所知k8s v1.23.0可以正常显示,而k8s v1.18.0存在显示问题。

验证如下
进入pod内输入以下命令:
dd 命令可以用来生成指定大小的文件。你可以尝试生成一个超过 600 MiB 的文件,看看是否会触发上面设置的512MiB限制
在这里插入图片描述
等了一小会大约30s到一分钟的时间发现,pod被驱逐了,很明显是限制生效了,多次尝试结果都成功被驱逐了:
在这里插入图片描述
因此可以得出限制实际是生效了,只不过可能因为版本原因导致的显示问题(已在v1.23.0版本试过,显示和实际限制都是生效的)

http://www.xdnf.cn/news/4564.html

相关文章:

  • ABP vNext + gRPC 实现服务间高速通信
  • 云原生安全治理体系建设全解:挑战、框架与落地路径
  • 万物互联时代:ONVIF协议如何重构安防监控系统架构
  • 深入理解Embedding Models(嵌入模型):从原理到实战(上)
  • 英语六级---2024.12 卷二 仔细阅读2
  • 关于点胶机的精度
  • 基于FPGA控制ADC0832双通道采样+电压电流采样+LCD屏幕显示
  • 【Java项目脚手架系列】第四篇:Spring Boot基础项目脚手架
  • 简易的考试系统设计(Web实验)
  • 人协同的自动化需求分析
  • Python基于Django的病人信息管理系统及安全策略分析(附源码,文档说明)
  • 【Prometheus】 kube-state-metrics中的指标kube_pod_labels
  • C++面向对象 继承
  • c语法高阶—(联合体,枚举,位域,编译器,宏定义,条件编译,条件编译,头文件)
  • 代码随想录第36天:动态规划9(序列问题)
  • EDU/EDU.CN教育邮箱的申请(申请成功可以免费使用一年CursorPro)
  • Ubuntu 安装 Keepalived、LVS
  • 【无标题】MPC软件
  • 第七章----输入输出模板
  • 软考中级软件设计师——UML(统一建模语言)篇
  • 手机端调试工具 eruda 使用方法
  • vue3自定义audio音频播放【进度条,快进,后退,音量加减,播放速度】
  • 【面试 · 一】vue大集合
  • 追踪大型语言模型的思想(下)(来自针对Claude的分析)
  • 积累知识 11.1
  • Clojure 学习笔记
  • sunset: dawn靶场渗透
  • 在shell中运行RDD程序
  • 航电系统之网络控制技术篇
  • 罗氏线圈抗干扰特性测试方法研究