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

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版本试过,显示和实际限制都是生效的)

相关文章:

  • Mysql-OCP PPT课程讲解并翻译
  • 数据结构 - 9( 位图 布隆过滤器 并查集 LRUCache 6000 字详解 )
  • 9. 从《蜀道难》学CSS基础:三种选择器的实战解析
  • 分贝计在评估噪音对学习的影响中起着至关重要作用
  • android-ndk开发(10): use of undeclared identifier ‘pthread_getname_np‘
  • exo:打造家用设备AI集群的开源解决方案
  • 基于Flink的用户画像 OLAP 实时数仓统计分析
  • Android NDK版本迭代与FFmpeg交叉编译完全指南
  • CTF - PWN之ORW记录
  • 手写 vue 源码 ===:自定义调度器、递归调用规避与深度代理
  • 【Linux】socket网络编程之UDP
  • 主场景 工具栏 植物卡牌的渲染
  • 使用adb设置wifi相关
  • 《100天精通Python——基础篇 2025 第16天:异常处理与调试机制详解》
  • SpringCloud服务拆分:Nacos服务注册中心 + LoadBalancer服务负载均衡使用
  • LeetCode 热题 100 131. 分割回文串
  • 【QT】: 初识 QWidget 控件 | QWidget 核心属性(API) | qrc 文件
  • 湖北理元理律师事务所:债务优化中的“生活保障”方法论
  • 软件逆向工程核心技术:脱壳原理与实战分析
  • 前端开发中移动端调试的日常工具整理
  • 构建菌株有效降解有机污染物,上海交大科研成果登上《自然》
  • 湖南省职业病防治院通报3岁女童确诊“铊中毒”:去年病例,编辑误写为“近日”
  • 复旦大学文科杰出教授裘锡圭逝世,享年90岁
  • 中信银行:拟出资100亿元全资设立信银金融资产投资有限公司
  • 常州市委原常委、组织部部长陈翔调任江苏省民宗委副主任
  • 家庭相册㉙在沪打拼25年,我理解了父母清晨去卖蜜饯的辛苦