首页 > 解决方案 > 由于安全上下文错误,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

标签: kubernetes-helm

解决方案


这不是失败的 Helm,这是您通过 helm 部署的应用程序,它试图创建 OCP 中不允许的清单。请更改此帖子的标题。

在您的情况下,您尝试部署强制runAsUserfsGroupuid/gid 的东西。
默认情况下,出于安全原因,OCP 中不允许这样做

有很多方法可以解决这个问题,具体取决于您对较低安全性的满意程度。如果可能,请检查您的图表配置参数以不强制使用这些值,或者,例如,告诉 OCP 您正在部署的应用程序允许强制使用这些值,例如,将更宽松的安全约束链接到运行应用程序

文档在这里https://docs.openshift.com/container-platform/4.8/authentication/managing-security-context-constraints.html


推荐阅读