kubernetes scc 故障排查小记

技术kubernetes scc 故障排查小记 kubernetes scc 故障排查小记1. 故障现象
环境在跑自动化测试时打印 error: [ ERROR ] Opening output fil

kubernetes scc的故障排除

1. 故障现象

运行自动测试时,环境打印错误:[错误]打开输出文件“/output.xml”失败3360只读文件系统。

2 测试流程

通过舵图部署吊舱,并在吊舱的指定容器中运行机器人案例。其中,正在运行的机器人案例需要读写文件。

3. 故障分析

[]用户权利问题

打印只读文件系统,找出容器的id是否不是root,这使得无法访问指定的目录。

检查掌舵图和容器id,发现用户和用户组都是根。

kubernetes平台上的容器和主机之间没有用户隔离,运行容器的用户在主机上是root用户。排除这种情况的限制是什么?

[x] scc

除了容器配置本身的限制之外,kubernetes集群级scc还限制容器对主机上文件系统的访问。

调用主机上的文件系统是因为这里使用了联邦文件系统,并且容器访问的文件被映射到主机。

检查scc发现容器的serviceaccount绑定的scc设置了ReadOnlyFileSystem=true。那么,这里应该是文件系统只能是只读的。

将scc的ReadOnlyFileSystem修改为false:

kubectl编辑scc scc_name -n项目

请注意,绑定到此scc的pod无效。因为pod由部署控制器控制,所以重启是通过直接删除POD来触发的。重启后,手动模拟自动测试,文件output.xml创建成功。

一波又一波,一波又一波。以为已经完成,重新运行jenkins自动测试,发现pull image报告了一个错误:

rpc错误:代码=未知desc=正在读取图像-注册表中的最新清单.

需要未经授权的:身份验证

很明显ReadOnlyFileSystem参数发生了变化,scc下的serviceaccount在文件系统中具有读写权限,这也适用于新拉取的镜像,因此在更改拉取的镜像时也需要进行身份验证,只有经过身份验证后才能更改镜像是合理的。

同时,这也解释了为什么当ReadOnlyFileSystem为false时,测试用例可以在不进行身份验证的情况下拉取图像。因为您没有更改图像的权限。

既然知道了原因,就不难解决了。将拉映像的相应角色添加到serviceaccount可使serviceaccount拉映像:

oc策略添加-角色到用户系统:image-puller系统: service account : project : service account _ name-n项目

再做一次詹金斯测试,成功了。

兰芝出生在一个空旷的山谷,其他人并不陌生。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/100412.html

(0)

相关推荐

  • 如何深入分析Tomcat的Manager

    技术如何深入分析Tomcat的Manager如何深入分析Tomcat的Manager,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。关心Tom

    攻略 2021年12月8日
  • 荞麦面条怎么做才好吃,莜面粉怎么做成好吃的东西

    技术荞麦面条怎么做才好吃,莜面粉怎么做成好吃的东西这个我最清楚了荞麦面条怎么做才好吃,因为俺家就产莜面的 1、用开水活面,一定用刚烧开的水,(会出来一种很香的味)你可以把他搓成一根一根(要尽快的搓,凉了就不好搓了,搓不

    生活 2021年11月1日
  • Cortex-M0中断控制和系统控制,二)

    技术Cortex-M0中断控制和系统控制,二) Cortex-M0中断控制和系统控制(二)转载:https://aijishu.com/a/1060000000237975
    每一个外部中断都有一个对应的

    礼包 2021年11月30日
  • 没关水龙头打一成语,元宵灯谜大全及答案(1000个)

    技术没关水龙头打一成语,元宵灯谜大全及答案(1000个)拜年没关水龙头打一成语。 (打一作家名) 贺敬之 除夕守岁数钟声。 (打一商业用语) 年

    生活 2021年10月25日
  • python实现多线程有几种方式(python中实现多线程的方法)

    技术如何进行Python线程的多线程展示如何进行Python线程的多线程展示,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。什么多线程?多线程,就是多个独

    攻略 2021年12月15日
  • linux中rpm安装

    技术linux中rpm安装 linux中rpm安装目录一:linux中rpm安装1.rpm简介2.区别3.RPM命令五种基本模式二:RPM安装全面解析1,下载软件包2, 安装软件包3, 尝试卸载4, 更

    礼包 2021年12月17日