如何找出我应该添加'scc'的'用户'?

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

我正试图在我的openshift项目中运行elasticsearch容器。

我有错误:

特权容器不允许使用capability.add:无效值:“IPC_LOCK”:功能可能未添加功能.add:无效值:“SYS_RESOURCE”:功能可能未添加

我发现你需要将privileged scc添加到用户帐户(或创建自己的专用帐户)。

我试图按照文件https://docs.openshift.com/container-platform/3.4/admin_guide/manage_scc.html,其中给出以下命令:

oc create serviceaccount mysvcacct -n myproject
oc adm policy add-scc-to-user privileged system:serviceaccount:myproject:mysvcacct

然而,没有一个线索给出什么是mysvcacct以及为什么它被称为mysvcacct

因为我的项目名为logging,我尝试了以下方法:

oc create serviceaccount logging -n logging
oc adm policy add-scc-to-user privileged system:serviceaccount:logging:logging 

但它没有改变任何东西。我一直得到同样的错误。

那里我想念的是什么?我应该用什么名字代替mysvcacct

kubernetes openshift privileges openshift-client-tools
1个回答
3
投票

仅供参考,我介绍了yaml格式的例子。

  • 您可以使用ServiceAccount cmd修改oc patch dc/your-deploymentConfigName名称,如下所示。
# oc patch dc/elasticsearch --patch '{"spec":{"template":{"spec":{"serviceAccountName": "logging"}}}}'
  • 或者使用oc edit dc/your-deploymentConfigName,看看serviceAccountName
# oc edit dc/elasticsearch
    ...
    spec:
      containers:
      - image: docker-registry.default.svc:5000/test/...
        imagePullPolicy: Always
        name: web
        ports:
        - containerPort: 8080
          protocol: TCP
        resources: {}
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      serviceAccount: logging
      serviceAccountName: logging
© www.soinside.com 2019 - 2024. All rights reserved.