kubernetes-helm - 由于安全上下文错误,Helm 在 openshift 中失败
问题描述
我们正在 openshift 集群中部署 helm chart,我们遇到了以下错误,有人可以建议修复以下问题吗
被禁止:无法验证任何安全上下文约束:[提供者受限:.spec.securityContext.fsGroup:无效值:[]int64{999}:999 不是允许的组 spec.containers[0].securityContext.runAsUser:无效值:999:必须在范围内:[1000640000, 1000649999]]",
部署文件:
pec: serviceAccountName: {{ template "mongodb.fullname" . }} 安全上下文:runAsNonRoot:真 runAsUser:{{ .Values.mongo.securityContext.uid | 默认 999 }} runAsGroup: {{ .Values.mongo.securityContext.gid | 默认 999 }} fsGroup: {{ .Values.mongo.securityContext.fsGroup | 默认 999 }}
安全上下文:gid:999 uid:999 fsGroup:999
解决方案
这不是失败的 Helm,这是您通过 helm 部署的应用程序,它试图创建 OCP 中不允许的清单。请更改此帖子的标题。
在您的情况下,您尝试部署强制runAsUser
和fsGroup
uid/gid 的东西。
默认情况下,出于安全原因,OCP 中不允许这样做
有很多方法可以解决这个问题,具体取决于您对较低安全性的满意程度。如果可能,请检查您的图表配置参数以不强制使用这些值,或者,例如,告诉 OCP 您正在部署的应用程序允许强制使用这些值,例如,将更宽松的安全约束链接到运行应用程序
推荐阅读
- flutter - Flutter:如何使用flutter_ffmpeg为视频添加水印和文字等叠加层?
- css - css 在我的博客页面中不起作用,只有其他页面在我的 django 项目中正常工作
- macros - 如何使用键盘或菜单在 CLion 中展开宏?
- tsql - 使用 min 函数而不分组
- mysql - 在 MySQL 中使用带有日期的连接字符串创建触发器
- nltk - 获取日语文本的 METEOR 分数
- python - 从表单或链接执行操作而不用 django 刷新页面/视图
- javascript - Typescript 允许从本地 ts 项目导入任何内容
- r - 如何在 for 循环中生成反映分组变量名称的列?
- javascript - 从上一个目录反应导入文件