【Azure K8S | AKS】在不丢失文件/不影响POD运行的情况下增加PVC的大小
问题描述
在前两篇文章中,创建了Disk + PV + PVC + POD 方案后,并且进入POD中增加文件。
- 【Azure K8S | AKS】在AKS集群中创建 PVC(PersistentVolumeClaim)和 PV(PersistentVolume) 示例
- 【Azure K8S|AKS】进入AKS的POD中查看文件,例如PVC Volume Mounts使用情况
但是,当预定的文件夹已经被占用满之后,如何在不丢失旧文件,及不影响Pod的正常运行情况下,如何处理增加文件夹容量呢?

例如:在创建一个简单的 txt文件时,就出现了 sh: write error: No space left on device 错误消息。
问题解答
在AKS的官方文档中,介绍了使用 kubectl patch pvc指令来修改Storage Size,此处根据文档指引进行修改。 引用文档地址:https://docs.azure.cn/zh-cn/aks/azure-disk-csi#resize-a-persistent-volume-without-downtime
##示例指令:
## Windows 窗口
kubectl patch pvc test-pvc-001 --type merge --patch '{\"spec\": {\"resources\": {\"requests\": {\"storage\": \"300Gi\"}}}}' ## 或其他:
kubectl patch pvc test-pvc-001 --type merge --patch '{"spec": {"resources": {"requests": {"storage": "300Gi"}}}}'
第一步:获取需要修改的PVC名称及当前状态
kubectl get pvc kubectl get pv

PS: 需要查看挂载在POD后,文件夹的使用情况,请使用:kubectl exec -it <mypod-pv-pvc-test> -- df -h </mnt/testazure>
第二步:执行 kubectl patch pvc 指令
执行:kubectl patch <pvc test-pvc-001> --type merge --patch '{\"spec\": {\"resources\": {\"requests\": {\"storage\": \"300Gi\"}}}}'

PS: 在没有对JSON内容中引号(")进行转换时,报错:Error from server (BadRequest): error decoding patch: invalid character 's' looking for beginning of object key string
第三步:查看结果
查看PV, PVC中的Capacity(容量)是否修改为300Gi。并且查看AKS 门户上的Disk资源,是否已经修改到300Gi。

查看POD中,Mount目录的使用情况:kubectl exec -it <mypod-pv-pvc-test> -- df -h </mnt/testazure>

修改成功。容量增大!
附录:修改PVC的容量只能增大,不能减小
目前不支持收缩PVC。 尝试修补大小小于当前大小的现有 PVC 会导致以下错误消息:The persistentVolumeClaim "pvc-xxxxxxxx" is invalid: spec.resources.requests.storage: Forbidden: field can not be less than previous value.
附录:在Linux中创建大Size文件的快速命令

参考资料
在不停机的情况下,调整永久性卷的大小 : https://docs.azure.cn/zh-cn/aks/azure-disk-csi#resize-a-persistent-volume-without-downtime
【Azure K8S | AKS】在不丢失文件/不影响POD运行的情况下增加PVC的大小的更多相关文章
- 【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)
问题描述 使用Azure Kubernetes服务(AKS),可以通过kubectl连接 pod 中查看日志,但是如何来查看节点的系统日志呢?如是否有ubuntu系统升级的记录? 问题解答 是的,可以 ...
- 梦想CAD控件,用于浏览和编辑DWG文件,在脱离AUTOCAD的情况下独立运行,相当于简易CAD
(百度百科连接) 梦想绘图控件5.2 是国内最强,最专业的CAD开发组件(控件),不需要AutoCAD就能独立运行.控件使用VC 2010开发,最早从2007年第一个版本完成,经过多年的累积已经非常 ...
- github上下载的文件如何在本地运行
最近想学习自己写插件,所以先下载大神写的插件膜拜下,下载下来以后,直接双击运行报错,大神怎么会犯这么低级的错误咧!所以在网上查资料,找到了解决方法. (1)上传到github上面的插件都很规范,文件根 ...
- python3 在文件确实存在的情况下,运行提示找不到文件
提示 [Errno 2] No such file or directory: 但是路径下确实存在此文件,在不改动的情况下,再次运行,执行成功. 百思不得其解,看到此链接下的回答 http://bbs ...
- Ceph的客户端丢失文件夹的解决办法
原来的解决办法 更新linux内核,使用linux内核级的mount方式,一段时间后将会在客户端看不到部分长期不使用的文件夹 更正后的解决办法 参考Ceph的客户端安装设置ceph-fuse方式挂载c ...
- [文章存档]Azure .net WebAPP的js/css文件过大导致访问慢的解决办法
https://docs.azure.cn/zh-cn/articles/azure-operations-guide/app-service-web/aog-app-service-web-qa-j ...
- [Azure Storage]使用Java上传文件到Storage并生成SAS签名
Azure官网提供了比较详细的文档,您可以参考:https://azure.microsoft.com/en-us/documentation/articles/storage-java-how-to ...
- Azure Terraform(四)状态文件存储
一,引言 我们都知道在执行部署计划之后,当前目录中就产生了名叫 "" 的 Terraform 的状态文件,该文件中记录了已部署资源的状态.默认情况下,在执行部署计划后,Terraf ...
- 在没备份undo的情况下,undo丢失,重启数据库报ORA-01157错误
今天做了一下undo隐藏参数的实验 在没有备份的情况下,删除正在使用的undo,然后关机 (本次使用的的oracle的隐藏参数,慎用!!!!!!!!!!!!!!) idle> select * ...
- Git应用—05Git文件冲突合并的几种情况(转载)
git文件冲突合并的几种情况 https://xieye.iteye.com/blog/2433229 本文描述了git冲突的几种常见情况和解决方案,老鸟请直接忽略本文.假设冲突文件是 test/Te ...
随机推荐
- 【Python基础】集合的基本使用
Python中的集合是一种无序且唯一的数据结构.集合是通过花括号{}或者set()函数来创建的. 创建集合 s = set() 声明空集合 s = {1,2,3,4,5} 声明非空集合 添加元素 s. ...
- 2022-11-26:给定一个字符串s,只含有0~9这些字符 你可以使用来自s中的数字,目的是拼出一个最大的回文数 使用数字的个数,不能超过s里含有的个数 比如 : 39878,能拼出的最大回文数是
2022-11-26:给定一个字符串s,只含有0~9这些字符 你可以使用来自s中的数字,目的是拼出一个最大的回文数 使用数字的个数,不能超过s里含有的个数 比如 : 39878,能拼出的最大回文数是 ...
- 2020-11-25:go中,map的底层数据结构是什么?
福哥答案2020-11-25: 简单回答:hmap映射头.bmap桶.mapextra溢出额外信息 中级回答: // 映射头 type hmap struct { // Note: the forma ...
- 密码暴力破解工具——九头蛇(hydra)使用详解及实战
转载出处:https://zhuanlan.zhihu.com/p/540998739 二.使用方法 语法:Hydra 参数 IP 服务 参数: -l login 小写,指定用户名进行破解 -L fi ...
- docker部署gitlab CI/CD (二)终篇:部署gitlab runner和添加gitlab-ci.yml文件 终极踩坑版
关于gitlab部署的教程还好,有的看,但到了cicd环节,简直痛苦面具,教程虽多,但断断续续,先不说大部分都是只截取片段,让人云里雾里,不会的看不懂,懂的不需要看,根据步骤跑不起来不说,改了一堆,完 ...
- Pandas 加载数据的方法和技巧
哈喽大家好,我是咸鱼 相信小伙伴们在学习 python 数据分析的过程中或多或少都会听说或者使用过 pandas pandas 是 python 的一个拓展库,常用于数据分析 今天咸鱼将介绍几个关于 ...
- From Java To Kotlin 2:Kotlin 类型系统与泛型
上期主要分享了 From Java To Kotlin 1 :空安全.扩展.函数.Lambda. 这是 From Java to Kotlin 第二期. From Java to Kotlin ...
- 【python基础】类-初识类
1.面向对象思想 在认识类之前,我们需要理解面向对象思想和面向过程思想. 面向过程思想:要拥有一间房屋,面向过程像是自己来修盖房屋,如果需要经过选址.购买材料.砌墙.装修等步骤,面向过程编程,就相当于 ...
- OAuth2.0andmultifactorauthentication:Howtocreateasecure
目录 1. 引言 2. 技术原理及概念 2.1. 基本概念解释 2.2. 技术原理介绍 2.3. 相关技术比较 3. 实现步骤与流程 3.1. 准备工作:环境配置与依赖安装 随着数字化时代的到来,人们 ...
- FPGA加速技术详解:从原理到应用
目录 FPGA加速技术详解:从原理到应用 背景介绍: 随着计算机性能的不断提高和运算能力的增强,GPU.CPU等高性能计算硬件已经可以满足大部分计算任务的需求.然而,对于大规模.复杂的实时数据处理和高 ...