在 openshift 中安装 artifactory-oss helm 图表时出错

问题描述 投票:0回答:2

我正在尝试在 openshift 集群中安装artifactory oss。我正在使用这个 Helm Chart https://charts.jfrog.io/artifactory-oss-107.39.4.tgz(警告我对 openshift 等非常陌生。我正处于陡峭的学习曲线上)

我正在以 openshift cluster-admin 帐户运行 Helm Chart

但是我收到此错误

pods "artifactory-artifactory-nginx-5c66b8c948-" is forbidden: unable to validate against any security context constraint: [provider "anyuid": Forbidden: not usable by user or serviceaccount, provider restricted: .spec.securityContext.fsGroup: Invalid value: []int64{107}: 107 is not an allowed group, spec.initContainers[0].securityContext.runAsUser: Invalid value: 104: must be in the ranges: [1000970000, 1000979999], spec.containers[0].securityContext.runAsUser: Invalid

我认为这是一个 openshift 权限错误..因为它需要更宽松的安全约束。然而,鉴于我以集群管理员身份运行,我发现这有点令人惊讶。

任何人都可以提供如何解决此问题并让artifactory-oss 在 openshift 中运行的建议吗?

提前致谢!

--

尝试传递一些选项来设置 uid 和 gild.. 我尝试从这个开始

helm升级--安装artifactory--setartifactory.uid=1001010042,artifactory.gid=1001010042,nginx.uid=1001010042,nginx.gid=1001010042,artifactory.masterKey=${MASTER_KEY},artifactory.joinKey=${JOIN_KEY },artifactory.postgresql.postgresqlPassword=$POSTGRES_PASSWORD --命名空间artifactory jfrog/artifactory-oss

选项应该设置 uids 和 gids ..但我仍然得到..似乎舵图忽略了覆盖值的努力

pods“artifactory-artifactory-nginx-5c66b8c948-”被禁止:无法针对任何安全上下文约束进行验证:[provider“anyuid”:禁止:用户或服务帐户无法使用,提供商受限:.spec.securityContext.fsGroup:无效值:[]int64{107}:107 不是允许的组,spec.initContainers[0].securityContext.runAsUser:无效值:104:必须在范围内:[1000930000, 1000939999],spec.containers[0] .securityContext.runAsUser:无效

openshift artifactory
2个回答
1
投票

关于 JFrog Artifactory OSS Helm Chart,其文档 Installing Artifactory 指出了一些先决条件。

  • 安装 Artifactory 时,您必须以 root 用户身份运行安装或为非 root 用户提供 sudo 访问权限。
  • 头盔
    • 创建唯一的主密钥(Artifactory 需要唯一的主密钥),在安装过程中将其传递给模板。
    • 创建包含密钥的秘密。秘密中的密钥必须命名为master-key
      kubectl create secret generic my-masterkey-secret -n artifactory --from-literal=master-key=${MASTER_KEY}
    • 确保在以后所有调用 Helm 安装和 Helm 升级时传递相同的主密钥。
      这意味着始终传递
      --set artifactory.masterKey=${MASTER_KEY} (
      (对于自定义主密钥)或
      --set artifactory.masterKeySecretName=my-masterkey-secret
      (对于手动密钥)并验证密钥的内容是否保持不变。
    • 创建唯一的连接键:默认情况下,图表在
      values.yaml
      (
      artifactory.joinKey
      ) 中有一组。
      但是,此密钥仅用于演示目的,不应在生产环境中使用

重点是:这取决于用于安装 Helm Chart 的确切命令。

helm upgrade --install artifactory --set artifactory.masterKey=${MASTER_KEY} \
                                   --set artifactory.joinKey=${JOIN_KEY} \
                                   --namespace artifactory jfrog/artifactory

此处所示

runAsUser
中的“
fsGroup
”和“
values.yaml
”的值可能会对错误消息产生影响..

与其他安装不同,Helm Chart 配置是针对

values.yaml
进行的,然后应用于
system.yaml

按照以下步骤应用配置更改。

  • 更改
    values.yaml
  • 运行命令。
    helm upgrade --install artifactory -n artifactory -f values.yaml

请参阅管理安全上下文约束了解更多信息。


0
投票

看来您的错误不是由安装本身引起的,而是由 OpenShift 安全“功能”引起的,该功能会在每次安装时更改允许的 UID/GID 范围。更多信息请参见此处;就我个人而言,我发现通常可以通过策略性地 chmod 来完全避免对服务使用特定的 UID,但这也许不适合您。

© www.soinside.com 2019 - 2024. All rights reserved.