如何找出我应该将 'scc' 添加到哪个 'user'?
How to find out to which 'user' I should add 'scc'?
我正在尝试 运行 elasticsearch
我的 openshift 项目中的容器。
我遇到错误:
Privileged containers are not allowed capabilities.add: Invalid value:
"IPC_LOCK": capability may not be added capabilities.add: Invalid
value: "SYS_RESOURCE": capability may not be added
我发现您需要将 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
?
仅供参考,我介绍 yaml
格式的示例。
- 您可以使用
oc patch dc/your-deploymentConfigName
命令修改 ServiceAccount
名称,如下所示。
# 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
我正在尝试 运行 elasticsearch
我的 openshift 项目中的容器。
我遇到错误:
Privileged containers are not allowed capabilities.add: Invalid value: "IPC_LOCK": capability may not be added capabilities.add: Invalid value: "SYS_RESOURCE": capability may not be added
我发现您需要将 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
?
仅供参考,我介绍 yaml
格式的示例。
- 您可以使用
oc patch dc/your-deploymentConfigName
命令修改ServiceAccount
名称,如下所示。
# 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