zoukankan      html  css  js  c++  java
  • kubernetes pod 挂载configmap报错:read only fie system

    kubernetes pod 挂载configmap报错:read only fie system

     

      背景:使用的是腾讯云的容器服务,镜像是我们研发同学开发的镜像,其中在pod启动时需要新建一个路径 /app/subserver/config/disconf/ 。

      但是发现启动的时候报错:

    (read only fie system) 

      检查一下pod的设置,发现挂载的路径是可读写的:

      

       

      进入容器检查也没问题:

      

       

      搜索引擎了一番,发现几个类似的报错。但是仔细看看其实不对,他们这些返回的报错都是直接的物理或虚拟机系统报错的,不是k8s pod 的报错。而pod是无法直接重新挂载文件系统的。

      

      权限也有,路径也在,为什么还是说是只读文件系统呢?

      百度必应谷歌都没找到可以借鉴的。

      正好看到旁边研发同事有空,遂请教。大佬回:这个启动时候要创建写入文件,路径有吗?权限有吗?我一一检查,都有。

      大佬沉吟两秒:你进去创建一个文件试试。

      另外提一句,腾讯云的容器服务是可以设置启动命令的,比如我现在,就需要让pod启动后休眠一会儿,不然因为pod报错,它会不断自启,那就没办法进去检查了。在高级设置里面,或者可以直接加在yaml文件里:

      

       我进入容器,尝试创建文件:

      

      熟悉的报错。

      明明路径有权限,为什么提示只读呢?

      

      大佬问:他这个路径是主机文件系统的吗?

      主机文件系统?我看看。

      

       一语惊醒梦中人!

      这个不是pod的主机路径啊,这是挂载的configmap的路径。

      原来如此。因为挂载的configmap是外部挂载的,不属于pod自有的系统路径,所以是无法在一个configmap路径下面再新建路径的。

        

      那就好办了。把 /app/subserver/config/disconf/ 改为 /app/config/disconf/ 这样他就是在/app/这个路径下面创建路径并写入文件,这样应该就没问题了吧。

      

      可以看到,已经正常写入了三个文件。

      感谢lyy大佬!

    作者注: 本站文章除注明转载外,均为本站原创或编辑,欢迎大家转载,但请务必注明出处,尊重他人成果,谢谢。 任何问题请联系1187616732@qq.com
  • 相关阅读:
    Extjs的学习及MIS系统实践应用(系列文章)
    Extjs的js函数
    【VS Code】使用技巧
    【算法技巧】算法技巧记录
    【踩坑记录】vs2017 git 版本控制问题
    【IDE】解决国内下载安装vs 过慢问题
    【c#基础】.Net编译器平台
    【查看IIS站点日志】
    【项目管理】人月神话
    【c#基础】反射、元数据和动态编程
  • 原文地址:https://www.cnblogs.com/laijx/p/14328828.html
Copyright © 2011-2022 走看看