最新要闻
- 取代奔腾/赛扬!Intel 12代Alder Lake-N处理器来了:清一色小核、超低功耗
- 环球即时看!德国樱桃收购瑞典外设品牌Xtrfy:对方只有12人
- 当前信息:国六B汽油要全面上线了!听说这玩意又贵又不耐烧?
- 环球关注:Wi-Fi 7:明年下半年见
- 天天看点:App流畅度提升88%!小米承诺:所有升级MIUI 14机型均支持光子引擎
- 全球要闻:雷军:全面对标苹果iPhone 一个新的小米开始了
- 天天微头条丨意外之喜:苹果给iPhone 6s/7推送iOS 15.7.2系统更新
- 焦点精选!脱口秀演员直播带货:想得美好
- 直播:今年最后一场大型流星雨来了!双子座流星雨压轴登场
- 游戏性能被RX7900反超?《巫师3》次世代版4090光追演示
- 天天信息:摩托罗拉×潘通 “非凡洋红”限定版新机来了
- RTX 4080为何要定价这般高?背后原因揭开
- 【环球热闻】面对矿卡 老黄已经悄悄带头冲锋了!一箭双雕 真是绝了
- 环球短讯!旧版微博拜拜:大量用户被直接改为新版界面
- 全球新动态:工信部出手!手机预装App终于能卸载了:2023年执行
- 切勿模仿!男子让幼儿握方向盘开车还拍摄炫耀:扣3分、罚200
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
世界快资讯丨Kubernetes Volumes 笔记
(资料图片仅供参考)
Volumes
官方文档
介绍
Container 中的文件在磁盘上是临时存放的,这给 Container 中运行的较重要的应用程序带来一些问题。
- 当容器崩溃时文件丢失。 kubelet 会重新启动容器,但容器会以干净的状态重启。
- 当Pod中同时运行多个容器,容器之间需要共享文件时。
背景
Kubernetes 支持很多类型的卷。 Pod 可以同时使用任意数目的卷类型。 临时卷类型的生命周期与 Pod 相同,但持久卷可以比 Pod 的存活期长。 当 Pod 不再存在时,Kubernetes 也会销毁临时卷;不过 Kubernetes 不会销毁持久卷。 对于给定 Pod 中任何类型的卷,在容器重启期间数据都不会丢失。
卷的核心是一个目录,其中可能存有数据,Pod 中的容器可以访问该目录中的数据。 所采用的特定的卷类型将决定该目录如何形成的、使用何种介质保存数据以及目录中存放的内容。
使用卷时, 在 .spec.volumes 字段中设置为 Pod 提供的卷,并在 .spec.containers[*].volumeMounts 字段中声明卷在容器中的挂载位置。
容器中的进程看到的文件系统视图是由它们的容器镜像的初始内容以及挂载在容器中的卷(如果定义了的话)所组成的。
其中根文件系统同容器镜像的内容相吻合。 任何在该文件系统下的写入操作,如果被允许的话,都会影响接下来容器中进程访问文件系统时所看到的内容。
EmptyDir
使用emptyDir,当Pod分配到Node上时,将会创建emptyDir,并且只要Node上的Pod一直运行,Volume就会一直存。当Pod(不管任何原因)从Node上被删除时,emptyDir也同时会删除,存储的数据也将永久删除。注:删除容器不影响emptyDir。
pod_empydir.yaml
apiVersion: v1kind: Podmetadata: name: pod-emptydir namespace: defaultspec: containers: - name: busybox1 image: busybox imagePullPolicy: IfNotPresent command: ["/bin/sh", "-c", "sleep 3600"] volumeMounts: - mountPath: /cache name: cache-volume - name: busybox2 image: busybox imagePullPolicy: IfNotPresent command: ["/bin/sh", "-c", "sleep 3600"] volumeMounts: - mountPath: /test/cache name: cache-volume volumes: - name: cache-volume emptyDir: {}
创建并查看结果
[root@master01 volumes]# kubectl apply -f pod_emptydir.yamlpod/pod-emptydir created[root@master01 volumes]# kubectl describe pod pod-emptydirName: pod-emptydirNamespace: defaultPriority: 0Node: master02/192.168.44.11Start Time: Thu, 15 Dec 2022 00:14:10 +0800Labels: Annotations: Status: PendingIP: IPs: Containers: busybox1: Container ID: Image: busybox Image ID: Port: Host Port: Command: /bin/sh -c sleep 3600 State: Waiting Reason: ContainerCreating Ready: False Restart Count: 0 Environment: Mounts: /cache from cache-volume (rw) #挂载 /var/run/secrets/kubernetes.io/serviceaccount from default-token-c7jnm (ro) busybox2: Container ID: Image: busybox Image ID: Port: Host Port: Command: /bin/sh -c sleep 3600 State: Waiting Reason: ContainerCreating Ready: False Restart Count: 0 Environment: Mounts: /test/cache from cache-volume (rw) /var/run/secrets/kubernetes.io/serviceaccount from default-token-c7jnm (ro)Conditions: Type Status Initialized True Ready False ContainersReady False PodScheduled True Volumes: cache-volume: Type: EmptyDir (a temporary directory that shares a pod"s lifetime) Medium: SizeLimit: default-token-c7jnm: Type: Secret (a volume populated by a Secret) SecretName: default-token-c7jnm Optional: falseQoS Class: BestEffortNode-Selectors: Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s node.kubernetes.io/unreachable:NoExecute op=Exists for 300sEvents: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 58s default-scheduler Successfully assigned default/pod-emptydir to master02 Normal Pulling 56s kubelet Pulling image "busybox"
测试Emptydir
[root@master01 volumes]# kubectl exec -it pod-emptydir -c busybox1 -- sh/ # lsbin cache dev etc home lib lib64 proc root sys tmp usr var/ # cd cache//cache # touch create_busybox/cache # ^C/cache # exitcommand terminated with exit code 130[root@master01 volumes]# kubectl exec -it pod-emptydir -c busybox2 -- sh/ # lsbin dev etc home lib lib64 proc root sys test tmp usr var/ # cd test/cache//test/cache # lscreate_busybox
Hostpath
hostPath允许挂载Node上的文件系统到Pod里面去。如果Pod需要使用Node上的文件,可以使用hostPath。
示例
- 运行一个需要访问 Docker 引擎内部机制的容器;请使用 hostPath 挂载 /var/lib/docker 路径。
- 在容器中运行 cAdvisor 时,以 hostPath 方式挂载 /sys。
- 允许 Pod 指定给定的 hostPath 在运行 Pod 之前是否应该存在,是否应该创建以及应该以什么方式存在
支持类型
取值 | 行为 |
---|---|
空字符串(默认)用于向后兼容,这意味着在安装 hostPath 卷之前不会执行任何检查 | |
DirectoryOrCreate | 如果指定的路径不存在,那么将根据需要创建空目录,权限设置为 0755,具有与 Kubelet 相同的组和所有权 |
Directory | 给定的路径必须存在 |
FileOrCreate | 如果给定路径的文件不存在,那么将在那里根据需要创建空文件,权限设置为 0644,具有与 Kubelet 相同的组和所有权【前提:文件所在目录必须存在;目录不存在则不能创建文件】 |
File | 给定路径上的文件必须存在 |
Socket | 在给定路径上必须存在的 UNIX 套接字 |
CharDevice | 在给定路径上必须存在的字符设备 |
BlockDevice | 在给定路径上必须存在的块设备 |
hostpath.yaml
apiVersion: v1kind: Podmetadata: name: pod-hostpath namespace: defaultspec: containers: - name: busybox3 image: busybox imagePullPolicy: IfNotPresent command: ["/bin/sh", "-c", "sleep 3600"] volumeMounts: - name: hostpath-dir-volume mountPath: /test-k8s/hostpath-dir volumes: - name: hostpath-dir-volume hostPath: path: /root/test_hostPath # 宿主机目录 type: DirectoryOrCreate # hostPath 卷指定 type,如果目录不存在则创建(可创建多层目录)
创建并查看结果
[root@master01 volumes]# kubectl apply -f hostpath.yaml pod/pod-hostpath created[root@master01 volumes]# kubectl get po -owide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATESpod-hostpath 1/1 Running 0 19s 172.20.59.237 master02 [root@master01 volumes]# kubectl describe po pod-hostpathName: pod-hostpathNamespace: defaultPriority: 0Node: master02/192.168.44.11Start Time: Thu, 15 Dec 2022 00:29:49 +0800Labels: Annotations: Status: RunningIP: 172.20.59.237IPs: IP: 172.20.59.237Containers: busybox3: Container ID: docker://b5c41f3d14da84558f6298bf7967c3bf825cce19898f5cbb308a9b8fc6c78da4 Image: busybox Image ID: docker-pullable://busybox@sha256:3b3128d9df6bbbcc92e2358e596c9fbd722a437a62bafbc51607970e9e3b8869 Port: Host Port: Command: /bin/sh -c sleep 3600 State: Running Started: Thu, 15 Dec 2022 00:29:50 +0800 Ready: True Restart Count: 0 Environment: Mounts: /test-k8s/hostpath-dir from hostpath-dir-volume (rw) /var/run/secrets/kubernetes.io/serviceaccount from default-token-c7jnm (ro)Conditions: Type Status Initialized True Ready True ContainersReady True PodScheduled True Volumes: hostpath-dir-volume: Type: HostPath (bare host directory volume) Path: /root/test_hostPath HostPathType: DirectoryOrCreate default-token-c7jnm: Type: Secret (a volume populated by a Secret) SecretName: default-token-c7jnm Optional: falseQoS Class: BestEffortNode-Selectors: Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s node.kubernetes.io/unreachable:NoExecute op=Exists for 300sEvents: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 94s default-scheduler Successfully assigned default/pod-hostpath to master02 Normal Pulled 93s kubelet Container image "busybox" already present on machine Normal Created 93s kubelet Created container busybox3 Normal Started 93s kubelet Started container busybox3[root@master01 volumes]# ssh master02Last login: Wed Nov 23 04:15:58 2022 from 192.168.44.1[root@master02 ~]# lstest_hostPath[root@master02 ~]# cd test_hostPath/[root@master02 test_hostPath]# ls[root@master02 test_hostPath]# pwd/root/test_hostPath
测试hostpath
[root@master02 test_hostPath]# pwd/root/test_hostPath[root@master02 test_hostPath]# touch create_hostpath[root@master02 test_hostPath]# [root@master02 test_hostPath]# kubectl exec -ti pod-hostpath -- sh/ # lsbin dev etc home lib lib64 proc root sys test-k8s tmp usr var[root@master02 test_hostPath]# lscreate_hostpath[root@master02 test_hostPath]# kubectl exec -ti pod-hostpath -- sh/ # lsbin dev etc home lib lib64 proc root sys test-k8s tmp usr var/ # cd test-k8s/hostpath-dir//test-k8s/hostpath-dir # lscreate_hostpath
世界快资讯丨Kubernetes Volumes 笔记
取代奔腾/赛扬!Intel 12代Alder Lake-N处理器来了:清一色小核、超低功耗
环球即时看!德国樱桃收购瑞典外设品牌Xtrfy:对方只有12人
当前信息:国六B汽油要全面上线了!听说这玩意又贵又不耐烧?
环球关注:Wi-Fi 7:明年下半年见
天天看点:App流畅度提升88%!小米承诺:所有升级MIUI 14机型均支持光子引擎
全球要闻:雷军:全面对标苹果iPhone 一个新的小米开始了
环球滚动:[WPF] MediaElement播放HDR视频泛黄、颜色显示不正确应该如何解决?
R数据分析:冲击流图与热图的做法以及多图布局
简讯:VUE简介
天天微头条丨意外之喜:苹果给iPhone 6s/7推送iOS 15.7.2系统更新
焦点精选!脱口秀演员直播带货:想得美好
直播:今年最后一场大型流星雨来了!双子座流星雨压轴登场
游戏性能被RX7900反超?《巫师3》次世代版4090光追演示
天天信息:摩托罗拉×潘通 “非凡洋红”限定版新机来了
Python3.7.3环境搭建
全球观点:哈希表总结
当前报道:2022 ICPC 杭州站 K - Master of Both // Trie
RTX 4080为何要定价这般高?背后原因揭开
【环球热闻】面对矿卡 老黄已经悄悄带头冲锋了!一箭双雕 真是绝了
环球短讯!旧版微博拜拜:大量用户被直接改为新版界面
全球新动态:工信部出手!手机预装App终于能卸载了:2023年执行
切勿模仿!男子让幼儿握方向盘开车还拍摄炫耀:扣3分、罚200
4G已够用 美国运营商推5G陷入麻烦:4200亿投资难赚回来
全球简讯:Intel Arc显卡驱动升级:吃鸡快了4%、还有16个Bug
百事通!玩家最担心的事要发生!AMD RX 7900系列大概率涨价
天天微资讯!CDPR确认《巫师3》次世代版存在Bug:将尽快修复
高玩一步到位 阿斯加特32GB DDR5-6800 RGB灯条1350元
精选!浅析JWT Attack
记录--uniapp 应用APP跳转微信小程序
天天滚动:用 ChatGPT 来完成笔试题
MYSQL 3 DAY
世界热点评!第一百一十三篇: JS数组Array(二)数组方法 栈、队列、排序
世界快资讯丨《流浪地球2》公布星尘海报:人类的勇气永刻星空
全球快播:原因不服不行 大巴黎官方:我们已锁定世界杯冠军!梅西/姆巴佩争金靴
世界热讯:《死侍3》确认为R级!休·杰克曼将回归饰演金刚狼
环球快报:奇瑞SUV颜值天花板!俄罗斯花滑“千金”喜提OMODA C5:定制车身
微头条丨工资加倍都招不到人!官方要求北京快递业人员应返岗尽返岗
环球时讯:行业方案 | 新规落地,企业集团财务公司如何构建数智财务体系?
环球实时:模板层之标签 自定义模板语法 模板的继承与导入 搭建测试环境 ORM常用关键字
最强护眼屏!moto X40蓝光占比远低于行业均值
当前速看:为了让人多下游戏?特斯拉推出1TB车规级固态硬盘
世界实时:奥迪新车开了半小时咚咚响 4S店换零件车主想换车
当前看点!5年研发投入1000亿!小米发布首部知识产权白皮书:授权专利超2.9万项
每日速读!Redmi K60要用上陶瓷/素皮了?卢伟冰在线征集偏好:陶瓷第一
微头条丨Prometheus技术分享——如何监控宿主机和容器
当前视点!人类核聚变取得突破性进展:什么是核聚变、重要吗?
【热闻】闷声发大财 奇瑞第四代混动专用1.5L发动机下线:油耗大降
世界微头条丨7单元发声设计!小米Sound Pro智能音箱开售 首发999元
世界最新:小米13 Pro绝配!小米50W立式风冷无线充Pro图赏
全球热议:跑分突破133万!努比亚Z50《原神》半小时稳成直线
天天关注:学习 Shell准没错
天天速讯:Python3 编程面试题
焦点讯息:快递代拿项目 (第十组)终稿
焦点速看:面试题:浏览器输入 URL 后回车发生了什么?
破坏系统是为了更稳定?混沌工程在去哪儿的 4 个阶段实践
世界观点:产品分享:Qt鸿图电子智慧白板(适合会议机、电子黑板、电子笔记、电子阅读器等场景),当前版本v1.0.0
win7游戏不能全屏怎么解决?win7游戏不能全屏解决方法有哪些?
酷狗可以下载歌词吗?酷狗怎么下载歌词?
itunes怎么制作铃声?itunes备份文件在哪里?
chrome是什么浏览器?chrome文件夹可以删除吗?
在Excel中如何排序?excel中身份证号码怎么全部显示?
天天快看:Visual Studio下创建MFC项目,并结合OpenGL实现一个小程序
环球新动态:Go适合做什么?为何这么多人偏爱Go语言?
快消息!【脚本项目源码】Python制作艺术签名生成器,打造专属你的个人艺术签名
北桥温度高的原因有哪些?北桥温度高有什么影响?
手机通话清单怎么查询?手机通话清单怎么清除?
支付宝沾沾卡怎么获得?支付宝沾沾卡怎么使用?
华为路由a1是千兆吗?华为路由a1怎么重新设置?
微信故障是什么原因?微信故障怎么修复?
脑筋急转弯什么人不怕冷?脑筋急转弯什么狗不会叫的5种答案是什么?
经常请吃饭的漂亮姐姐插曲有哪些?经常请吃饭的漂亮姐姐剧情介绍
x战警范冰冰扮演的是什么角色?x战警范冰冰是哪一部
前端跨域
MySQL 行溢出
springboot+vue 若依项目在windows2008R2企业版部署流程
环球视点!SpringCloud-Nacos学习笔记
铝合金铸造工艺有哪些?铝合金铸造工艺流程
苦主是什么意思?苦主引申含义是什么?
世界微速讯:上网认证(锐捷睿易篇)
当前快看:JNPF3.4.5消息模块:多渠道应用,配置灵活多样,满足更多使用场景
【环球热闻】基于汉兰达开发而来 雷克萨斯TX效果图曝光:竟与奇瑞星途“撞衫”
微软正式放弃Win10 21H1!将无法收到任何安全更新或补丁
亚米级的高精度定位 高德北斗卫星日定位量已超2100亿次
不枉马粉苦等一场 全新马自达CX-90预告:六缸、后驱全都有
【全球快播报】对标迈巴赫S级!蔚来百万级豪车计划落地 售价百万
SAP根据源码导入/ui2/cl_json类
Docker 安装,常用命令
【当前独家】告别LCD/mini LED iPad Pro全系升级到OLED屏
全球快资讯:高端成了!小米12S Ultra被中国移动评为4000元以上最强旗舰
视点!果粉霸气!花万元同时入手小米13和13 Pro:之前用的是iPhone 14 Pro Max
火箭平民化!中国民营火箭朱雀二号即将首飞:人类首次挑战甲烷燃料
小米13系列刷新认知 卢伟冰6字评价:彻底脱胎换骨
快讯:3999元起!小米13今日开售:手感、续航碾压iPhone 14 Pro
消息称苹果要对iOS开放 iPhone等自由了:功能、应用商店向第三方放开
苹果推送iOS 16.2正式版:新增无边记、Apple Music唱歌
阿根廷3-0克罗地亚晋级决赛!梅西创纪录之夜:成现役世界杯射手王
后退N帧协议(GBR)
环球新资讯:taro 编译报:模块引入顺序不一致报错
环球微动态丨主持人邀请世界首富马斯克登台后 现场嘘声一片:尴尬到家