【发布时间】:2019-03-06 08:14:04
【问题描述】:
我正在尝试在我的 openshift 项目中运行 elasticsearch 容器。
我遇到了错误:
不允许使用特权容器功能。添加:无效值: "IPC_LOCK": 不能添加能力capabilities.add: 无效 值:“SYS_RESOURCE”:可能无法添加能力
我发现您需要将privileged scc 添加到用户帐户(或创建自己的专用帐户)。
我尝试关注 docu 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?
【问题讨论】:
-
您必须更新部署或部署配置的
serviceAccountName才能使用该服务帐户。首先检查它是否可能已经在非默认服务帐户下运行。设置详情运行oc explain dc.spec.template.spec.serviceAccountName。 -
@GrahamDumpleton 是否允许在创建期间指定 spec.serviceAccountName(在初始 yaml 中)?
-
是的,您可以在创建时在部署中设置
spec.template.spec.serviceAccountName。这是首选方式。
标签: kubernetes openshift privileges openshift-client-tools