• 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
  • 相关阅读:
    LeetCode 1447. Simplified Fractions
    LeetCode 717. 1bit and 2bit Characters
    LeetCode 1725. Number Of Rectangles That Can Form The Largest Square
    LeetCode 2016. Maximum Difference Between Increasing Elements
    LeetCode 二叉树遍历算法题解 All In One
    Top Universities in China Open Source Course Materials All In One
    SQL 查询语句: 字符串正则匹配 All In One
    React memo & useMemo All In One All In One
    webpack 性能优化 All In One
    漫画教程: HTTPS 的工作原理 (中文版)All In One
  • 原文地址:https://www.cnblogs.com/laijx/p/14328828.html
Copyright © 2020-2023  润新知